設定
この記事は英語の原文を日本語に翻訳したものです。原文: https://opentelemetry.io/docs/specs/otel/configuration/
翻訳元: open-telemetry/opentelemetry-specification v1.60.0(コミット 29ae8c7)
OpenTelemetryのSDKコンポーネントは高い設定可能性を備えています。本仕様書は、OpenTelemetryコンポーネントを設定する仕組みを示すものであり、何を設定できるかの詳細までは規定しません。
設定インターフェース
プログラマティック
SDKは、すべての設定に対してプログラマティックなインターフェースを提供しなければなりません(MUST)。このインターフェースはSDK自身の言語で書かれるべきです(SHOULD)。それ以外の設定手段はすべて、このインターフェースの上に構築されるべきです(SHOULD)。
このプログラマティックなインターフェースの例としては、SDKビルダークラスに明確に定義された構造体を渡す方式があります。そこから、ファイル(YAML、JSON、TOMLなど)を受け取り、プログラマティックなインターフェースが消費できる明確に定義された構造体へ変換するCLIを構築することもできます。宣言的設定を参照してください。
環境変数
環境変数による設定は、共通の設定目的のために言語に依存しない環境変数の集合を定義します。
OpenTelemetry環境変数仕様を参照してください。
宣言的設定
宣言的設定は、OpenTelemetryを設定するための仕組みを提供します。環境変数方式よりも表現力が高く機能が充実しており、プログラマティックな設定では実現できない形で言語に依存しません。宣言的設定は特に、標準化された設定データモデルのファイルベースの表現に従って、ユーザーがOpenTelemetryコンポーネントを読み込めるようにするツール群を定義します。
宣言的設定は次の主要なコンポーネントから構成されます。
- データモデルは、ユーザーがOpenTelemetry SDKコンポーネントと計装の意図した設定を指定できるようにするデータ構造を定義します。データモデルにはファイルベースの表現が含まれます。
- 計装設定APIは、計装ライブラリが初期化時に関連する設定オプションを読み取ることで設定を利用できるようにします。
- 設定SDKは、ファイル設定に関するSDKのケーパビリティを定義します。インメモリ設定モデル、設定ファイル内でのカスタムプラグインコンポーネントの参照サポート、設定ファイルを解析して設定データモデルを解釈する操作などが含まれます。
補足ガイドラインも参照してください。
その他の仕組み
追加の設定手段は、SDKの言語にとって慣用的な言語・形式・スタイルで提供されるべきです(SHOULD)。SDKは、適切であればいくつでも設定手段を含めることができます。