ランタイム環境に関するセマンティック規約

この記事は英語の原文を日本語に翻訳したものです。原文: https://opentelemetry.io/docs/specs/semconv/runtime/

翻訳元: open-telemetry/semantic-conventions v1.44.0(コミット e10a930

ランタイム環境に関するセマンティック規約

ステータス: Development

この文書では、ランタイム環境のスパン、メトリクス、ログに関するセマンティック規約を定義します。

メトリクス

ランタイム環境は、用語、実装、そして特定のメトリクスに対する相対的な値において大きく異なります。例えばGoとPythonはどちらもガーベジコレクションを行う言語ですが、GoランタイムとCPythonランタイムのヒープ使用量を直接比較することに意味はありません。このため、この文書では標準的なトップレベルのランタイムメトリクスInstrumentを提案しません。詳しい議論はOTEP 108を参照してください。

特定のランタイム環境に固有のメトリクスには、そのランタイムのトップレベルの名前空間{environment}.*(例えばjvm.*)を接頭辞として付け、汎用のメトリクスセマンティック規約のガイドラインに従うべきです(SHOULD)。

ランタイム計装の作者は、メトリクスの名前や値を解釈する際に曖昧さが生じないよう、{environment}の選び方に責任を持ちます。

例えば一部のプログラミング言語には、実装が大きく異なる複数のランタイム環境があります。Pythonには多くの実装があります。そのような言語では、曖昧さを避けるためにcpython.*pypy.*のような特定の{environment}接頭辞を使うことを検討してください。

また、ランタイム環境を計装する際は、汎用メトリクスシステムメトリクスOSプロセスメトリクスのセマンティック規約も考慮してください。

属性

process.runtimeリソース属性は、適切であればランタイムメトリクスイベントに含めるべきです(SHOULD)。