この記事は英語の原文を日本語に翻訳したものです。原文: 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

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
process.cpu.timeCounters異なるCPUモード別に分けられた合計CPU秒数。Release Candidateprocess

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
cpu.modeRelease CandidateRequiredstringこのデータポイントのCPUモード。[1]user; system

[1] cpu.mode: cpu.modeには次の値を使用すべきです(SHOULD): usersystemwait。特定のプラットフォームが独自のモードの集合を要求しない限り、他のモードを使用すべきではありません(SHOULD NOT)。


cpu.modeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
idleIdleRelease Candidate
interruptInterruptRelease Candidate
iowaitIO WaitRelease Candidate
niceNiceRelease Candidate
stealStealRelease Candidate
systemSystemRelease Candidate
userUserRelease Candidate

メトリクス: process.cpu.utilization

このメトリクスはopt-inです。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
process.cpu.utilizationGauge1前回の計測からのprocess.cpu.timeの差分を、経過時間とプロセスが利用可能なCPU数で割った値。Release Candidateprocess

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
cpu.modeRelease CandidateRequiredstringこのデータポイントのCPUモード。[1]user; system

[1] cpu.mode: cpu.modeには次の値を使用すべきです(SHOULD): usersystemwait。特定のプラットフォームが独自のモードの集合を要求しない限り、他のモードを使用すべきではありません(SHOULD NOT)。


cpu.modeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
idleIdleRelease Candidate
interruptInterruptRelease Candidate
iowaitIO WaitRelease Candidate
niceNiceRelease Candidate
stealStealRelease Candidate
systemSystemRelease Candidate
userUserRelease Candidate

メトリクス: process.memory.usage

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
process.memory.usageUpDownCounterBy使用中の物理メモリの量。Release Candidateprocess

メトリクス: process.memory.virtual

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
process.memory.virtualUpDownCounterByコミットされた仮想メモリの量。Release Candidateprocess

メトリクス: process.memory.utilization

このメトリクスはopt-inです。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
process.memory.utilizationGauge1プロセスが使用している、物理メモリ全体に対する割合。Developmentprocess

メトリクス: process.disk.io

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
process.disk.ioCounterBy転送されたディスクバイト数。Release Candidateprocess

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
disk.io.directionRelease CandidateRequiredstringディスクIO操作の方向。read

disk.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
readreadRelease Candidate
writewriteRelease Candidate

メトリクス: process.disk.operations

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
process.disk.operationsCounter{operation}プロセスが実行したディスク操作の数。Developmentprocess

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
disk.io.directionRelease CandidateRequiredstringディスクIO操作の方向。read

disk.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
readreadRelease Candidate
writewriteRelease Candidate

メトリクス: process.network.io

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
process.network.ioCounterBy転送されたネットワークバイト数。Release Candidateprocess

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
network.io.directionRelease CandidateRequiredstring観測対象ホストの物理または仮想ネットワークインターフェースの視点から見たトラフィックの方向。ステートフルな接続やネットワークフローの論理的な方向を表すために使用すべきではありません。transmit

network.io.directionには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
receivereceiveRelease Candidate
transmittransmitRelease Candidate

メトリクス: process.thread.count

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
process.thread.countUpDownCounter{thread}プロセスのスレッド数。Release Candidateprocess

メトリクス: process.unix.file_descriptor.count

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
process.unix.file_descriptor.countUpDownCounter{file_descriptor}プロセスが使用しているUNIXファイルディスクリプタの数。Release Candidateprocess

メトリクス: process.windows.handle.count

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
process.windows.handle.countUpDownCounter{handle}プロセスが保持しているハンドル数。Release Candidateprocess

メトリクス: process.context_switches

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
process.context_switchesCounter{context_switch}プロセスがコンテキストスイッチされた回数。Release Candidateprocess

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
process.context_switch.typeRelease CandidateRequiredstringこのデータポイントのコンテキストスイッチが自発的(voluntary)か非自発的(involuntary)かを指定します。voluntary; involuntary

process.context_switch.typeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
involuntaryinvoluntaryRelease Candidate
voluntaryvoluntaryRelease Candidate

メトリクス: process.paging.faults

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
process.paging.faultsCounter{fault}プロセスが発生させたページフォルトの数。Release Candidateprocess

Attributes:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
system.paging.fault.typeRelease CandidateRecommendedstringページングフォルトの種別。値はmajorまたはminorのいずれかでなければなりません(MUST)。この属性なしでメトリクスが報告される場合は、メジャーフォルトとマイナーフォルトの合計であるべきです。minor

system.paging.fault.typeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。

ValueDescriptionStability
majormajorRelease Candidate
minorminorRelease Candidate

メトリクス: process.signals_pending

このメトリクスはopt-inです。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
process.signals_pendingUpDownCounter{signal}プロセスの保留中シグナルの数。Developmentprocess

メトリクス: process.uptime

このメトリクスは推奨です。

NameInstrument TypeUnit (UCUM)DescriptionStabilityEntity Associations
process.uptimeGaugesプロセスが実行されている時間。[1]Release Candidateprocess

[1]: 計装は、double型のgaugeを使用し、利用可能な最高精度の浮動小数点数で稼働時間を秒単位で計測すべきです(SHOULD)。 実際の精度は計装とオペレーティングシステムに依存します。