この記事は英語の原文を日本語に翻訳したものです。原文: https://opentelemetry.io/docs/specs/semconv/system/process-metrics/
翻訳元: open-telemetry/semantic-conventions v1.44.0(コミット e10a930)
OSプロセスメトリクスに関するセマンティック規約
ステータス: Development
この文書では、OpenTelemetryにおける一般的なOSプロセスレベルのメトリクスのInstrumentと属性について説明します。この文書で明示的に定義されていないInstrumentを作成する際は、汎用のメトリクスセマンティック規約も参照してください。OSプロセスメトリクスはプログラムのランタイム環境とは関係がなく、オペレーティングシステムから計測を行うべきです。ランタイム環境のメトリクスについては、ランタイム環境のメトリクスに関するセマンティック規約を参照してください。
[!IMPORTANT] この文書のv1.21.0 以前のバージョンを使っている既存の計装やコレクターは、次に従うべきです。
- System semantic conventionsが安定版として宣言されるまで、この文書の破壊的変更を取り込むべきではありません(SHOULD NOT)。規約には、属性、メトリクス名、計測単位などが含まれますが、これらに限定されません。
- 移行計画が確定した後、ユーザーが新しい規約にopt-inできるようにする制御機構を導入すべきです(SHOULD)。
プロセスメトリクス
メトリクス: process.cpu.time
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
process.cpu.time | Counter | s | 異なるCPUモード別に分けられた合計CPU秒数。 | process |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
cpu.mode | Required | string | このデータポイントのCPUモード。[1] | user; system |
[1] cpu.mode: cpu.modeには次の値を使用すべきです(SHOULD): user、system、wait。特定のプラットフォームが独自のモードの集合を要求しない限り、他のモードを使用すべきではありません(SHOULD NOT)。
cpu.modeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
idle | Idle | |
interrupt | Interrupt | |
iowait | IO Wait | |
nice | Nice | |
steal | Steal | |
system | System | |
user | User |
メトリクス: process.cpu.utilization
このメトリクスはopt-inです。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
process.cpu.utilization | Gauge | 1 | 前回の計測からのprocess.cpu.timeの差分を、経過時間とプロセスが利用可能なCPU数で割った値。 | process |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
cpu.mode | Required | string | このデータポイントのCPUモード。[1] | user; system |
[1] cpu.mode: cpu.modeには次の値を使用すべきです(SHOULD): user、system、wait。特定のプラットフォームが独自のモードの集合を要求しない限り、他のモードを使用すべきではありません(SHOULD NOT)。
cpu.modeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
idle | Idle | |
interrupt | Interrupt | |
iowait | IO Wait | |
nice | Nice | |
steal | Steal | |
system | System | |
user | User |
メトリクス: process.memory.usage
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
process.memory.usage | UpDownCounter | By | 使用中の物理メモリの量。 | process |
メトリクス: process.memory.virtual
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
process.memory.virtual | UpDownCounter | By | コミットされた仮想メモリの量。 | process |
メトリクス: process.memory.utilization
このメトリクスはopt-inです。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
process.memory.utilization | Gauge | 1 | プロセスが使用している、物理メモリ全体に対する割合。 | process |
メトリクス: process.disk.io
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
process.disk.io | Counter | By | 転送されたディスクバイト数。 | process |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
disk.io.direction | Required | string | ディスクIO操作の方向。 | read |
disk.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
read | read | |
write | write |
メトリクス: process.disk.operations
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
process.disk.operations | Counter | {operation} | プロセスが実行したディスク操作の数。 | process |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
disk.io.direction | Required | string | ディスクIO操作の方向。 | read |
disk.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
read | read | |
write | write |
メトリクス: process.network.io
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
process.network.io | Counter | By | 転送されたネットワークバイト数。 | process |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
network.io.direction | Required | string | 観測対象ホストの物理または仮想ネットワークインターフェースの視点から見たトラフィックの方向。ステートフルな接続やネットワークフローの論理的な方向を表すために使用すべきではありません。 | transmit |
network.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
receive | receive | |
transmit | transmit |
メトリクス: process.thread.count
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
process.thread.count | UpDownCounter | {thread} | プロセスのスレッド数。 | process |
メトリクス: process.unix.file_descriptor.count
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
process.unix.file_descriptor.count | UpDownCounter | {file_descriptor} | プロセスが使用しているUNIXファイルディスクリプタの数。 | process |
メトリクス: process.windows.handle.count
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
process.windows.handle.count | UpDownCounter | {handle} | プロセスが保持しているハンドル数。 | process |
メトリクス: process.context_switches
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
process.context_switches | Counter | {context_switch} | プロセスがコンテキストスイッチされた回数。 | process |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
process.context_switch.type | Required | string | このデータポイントのコンテキストスイッチが自発的(voluntary)か非自発的(involuntary)かを指定します。 | voluntary; involuntary |
process.context_switch.typeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
involuntary | involuntary | |
voluntary | voluntary |
メトリクス: process.paging.faults
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
process.paging.faults | Counter | {fault} | プロセスが発生させたページフォルトの数。 | process |
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
system.paging.fault.type | Recommended | string | ページングフォルトの種別。値はmajorまたはminorのいずれかでなければなりません(MUST)。この属性なしでメトリクスが報告される場合は、メジャーフォルトとマイナーフォルトの合計であるべきです。 | minor |
system.paging.fault.typeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
major | major | |
minor | minor |
メトリクス: process.signals_pending
このメトリクスはopt-inです。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
process.signals_pending | UpDownCounter | {signal} | プロセスの保留中シグナルの数。 | process |
メトリクス: process.uptime
このメトリクスは推奨です。
| Name | Instrument Type | Unit (UCUM) | Description | Stability | Entity Associations |
|---|---|---|---|---|---|
process.uptime | Gauge | s | プロセスが実行されている時間。[1] | process |
[1]: 計装は、double型のgaugeを使用し、利用可能な最高精度の浮動小数点数で稼働時間を秒単位で計測すべきです(SHOULD)。
実際の精度は計装とオペレーティングシステムに依存します。