計装設定API

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

翻訳元: open-telemetry/opentelemetry-specification v1.60.0(コミット 29ae8c7

ステータス: Mixed

概要

計装設定APIは、宣言的設定インターフェースの一部です。

このAPIは、計装ライブラリが、初期化中に関連する設定を読み取ることで設定を利用できるようにします。例えば、HTTPクライアント向けの計装ライブラリは、捕捉すべきHTTPリクエスト・レスポンスヘッダーの集合を読み取れます。

このAPIは以下の主要なコンポーネントから構成されます。

  • ConfigProviderはこのAPIのエントリーポイントです。
  • ConfigPropertiesは、設定のマッピングノードのプログラマティックな表現です。

ConfigProvider

ステータス: Development

ConfigProviderは、計装に関連する設定プロパティへのアクセスを提供します。

計装ライブラリは初期化中にConfigProviderにアクセスします。ConfigProviderは計装ライブラリへの引数として渡されるか、計装ライブラリが中央の場所からアクセスすることがあります。したがって、このAPIは、グローバルなデフォルトのConfigProviderにアクセスし、それを設定・登録する方法をSHOULD提供するものとします。

ConfigProviderの操作

ConfigProviderは以下の関数をMUST提供するものとします。

TODO: APIの使いやすさを向上させるために追加の操作が必要かどうかを決定する

計装設定の取得

計装ライブラリに関連する設定を取得します。

戻り値: .instrumentation設定マッピングノードを表すConfigProperties

.instrumentationノードが設定されていない場合、計装設定の取得は空のConfigPropertiesを返すべきです(SHOULD)(.instrumentation: {}が設定された場合と同様に)。

ConfigProperties

ステータス: Stable

ConfigPropertiesは、設定マッピングノード(すなわちYAMLマッピングノード)のプログラマティックな表現です。

ConfigPropertiesは、それが表すマッピングノードからすべてのプロパティを読み取るためのアクセサーをMUST提供するものとし、これには以下が含まれます。

  • スカラー(文字列、ブーリアン、倍精度浮動小数点数、64ビット整数)
  • マッピング。これはConfigPropertiesとして表現されるべきです(SHOULD)
  • スカラーのシーケンス
  • マッピングのシーケンス。これはConfigPropertiesとして表現されるべきです(SHOULD)
  • 存在するプロパティキーの集合

ConfigPropertiesは、言語にとってイディオマティックな方法で、型安全な形でプロパティへのアクセスをSHOULD提供するものとします。

ConfigPropertiesは、プロパティがnull値で存在するのか、それとも設定されていないのかを、呼び出し側が判別できるようにSHOULDするものとします。