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

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

トレースに関するセマンティック規約

ステータス: Mixed

OpenTelemetryでは、スパンは自由に作成でき、それが表す操作に固有の属性を付与するのは実装者次第です。スパンは、システム内および複数のシステム間の特定の操作を表します。これらの操作の一部は、HTTPやデータベース呼び出しのような、よく知られたプロトコルを使う呼び出しを表します。プロトコルと操作の種類によって、監視システムにおいてスパンを正しく表現・分析するために追加の情報が必要になります。また、この属性付けの方法を異なる言語間で統一することも重要です。 これにより、運用者は言語ごとの詳細を学ぶ必要がなくなり、多言語のマイクロサービス環境から収集されたテレメトリーであっても、簡単に関連付けて相互に分析できます。

スパンに関しては、次のセマンティック規約が定義されています。

  • General: さまざまな種類の操作の記述に使用できる汎用のセマンティック属性。
  • Compatibility: OpenTracing Shimレイヤーなどの互換性コンポーネントによって生成されるスパン向け。
  • CloudEvents: CloudEventsのスパンに関するセマンティック規約。
  • Cloud Providers: クラウドプロバイダーのスパンに関するセマンティック規約。
  • Database: SQLおよびNoSQLクライアント呼び出しのスパン向け。
  • Exceptions: スパンに関連付けられた例外の記録向け。
  • FaaS: Function as a Service(例えばAWS Lambda)のスパン向け。
  • HTTP: HTTPクライアントとサーバーのスパン向け。
  • Messaging: メッセージングシステム(キュー、パブリッシュ・サブスクライブなど)のスパン向け。
  • Object Stores: オブジェクトストアのスパンに関するセマンティック規約。
  • RPC/RMI: リモートプロシージャコール(例えばgRPC)のスパン向け。

トレースに関するセマンティック規約とは別に、メトリクスログイベントについても、OpenTelemetryは、独自のリソースセマンティック規約を持つ包括的なリソースという概念を定義しています。