Datadog SDK で OpenTelemetry の環境変数を使用する
“Datadog SDK は OpenTelemetry Tracing API を実装しており、OpenTelemetry の環境変数を使用してアプリケーションの Datadog トレーシングを設定できます。 既存の設定をほとんど変更せずにアプリケーションの OpenTelemetry SDK を Datadog SDK に置き換えることで、トレースと追加の Datadog テレメトリを受信できます。
このページでは、Datadog がサポートしている OpenTelemetry SDK のオプションについて説明します。”
Datadog と OpenTelemetry の環境変数が両方設定されている場合、Datadog が優先されます。Datadog のデフォルト値も OpenTelemetry のデフォルト値より優先されます。デフォルト値や詳細については、該当する
SDK 設定ページをご覧ください。
一般的な SDK 設定
Datadog SDK は、以下の一般的な OpenTelemetry SDK オプションをサポートしています。詳細については、関連する OpenTelemetry ドキュメントを参照してください。
OTEL_SERVICE_NAME
- Datadog の規則:
DD_SERVICE
サービス名を設定します
注: OTEL_RESOURCE_ATTRIBUTES
で service.name
が指定されている場合でも、OTEL_SERVICE_NAME
が優先されます
OTEL_LOG_LEVEL
- Datadog の規則:
DD_LOG_LEVEL
SDK ロガーが使用するログレベルを設定します
注: ログレベルを debug にすると、DD_TRACE_DEBUG=true
と同じ扱いになります
Node.js および PHP SDK では、DD_TRACE_LOG_LEVEL
にマッピングされます
Go SDK では、OTEL_LOG_LEVEL
と DD_TRACE_DEBUG
のマッピングに対応する値のみサポートされます:
info
|false
debug
|true
未サポート: Python、.NET、Ruby、Go SDK
OTEL_PROPAGATORS
- Datadog の規則:
DD_TRACE_PROPAGATION_STYLE
コンマ区切りのリストとして使用する伝搬方式 (Propagators) を指定します
注: 多くの Datadog SDK でサポートされる値は tracecontext
、b3
、b3multi
、none
、datadog
のみです。Java SDK では xray
もサポートされます
同じ Propagator
を重複登録しないよう、値は重複を取り除く必要があります
OTEL_TRACES_SAMPLER & OTEL_TRACES_SAMPLER_ARG
- Datadog の規則:
DD_TRACE_SAMPLE_RATE
OTEL_TRACES_SAMPLER
: トレースで使用するサンプラー
OTEL_TRACES_SAMPLER_ARG
: サンプラーの引数として使用される文字列
注: OTEL_TRACES_SAMPLER
が設定されている場合にのみ、その指定値が使用されます。各サンプラータイプは、それぞれ期待する入力 (あれば) を定義しています。無効または未知の入力があった場合はログに出力され、無視されます。その場合、実装は OTEL_TRACES_SAMPLER_ARG
が設定されていない場合と同様に動作しなければなりません
OTEL_TRACES_SAMPLER
と DD_TRACE_SAMPLE_RATE
のマッピング:
parentbased_always_on
|1.0
parentbased_always_off
|0.0
parentbased_traceidratio
|${OTEL_TRACES_SAMPLER_ARG}
always_on
|1.0
always_off
|0.0
traceidratio
|${OTEL_TRACES_SAMPLER_ARG}
OTEL_TRACES_EXPORTER
- Datadog の規則:
DD_TRACE_ENABLED=false
使用するトレースエクスポーターを指定します
注: none
のみが受け付けられます
OTEL_METRICS_EXPORTER
- Datadog の規則:
DD_RUNTIME_METRICS_ENABLED=false
使用するメトリクスエクスポーターを指定します
注: none
のみが受け付けられます
OTEL_RESOURCE_ATTRIBUTES
- Datadog の規則:
DD_TAGS
リソース属性として使用されるキーと値のペアです。詳細はリソースのセマンティック規約を参照してください
注: 最初の 10 個のキー・バリューのペアのみが使用され、以降は破棄されます
deployment.environment
および deployment.environment.name
は DD_ENV
にマッピングされます
service.name
は DD_SERVICE
環境変数にマッピングされます
service.version
は DD_VERSION
環境変数にマッピングされます
OTEL_SDK_DISABLED
- Datadog の規則:
!DD_TRACE_OTEL_ENABLED
すべてのシグナルに対して SDK を無効化します
注: OTEL_SDK_DISABLED
と DD_TRACE_OTEL_ENABLED
のマッピング:
true
|false
false
|true
Ruby & Go SDK: OpenTelemetry SDK はインポートおよび設定時に自動的に有効化されるため、この設定は該当しません。
Java 固有の設定
Datadog SDK は、以下の Java 固有の OpenTelemetry 設定オプションをサポートしています。詳細については OpenTelemetry の Java エージェント設定を参照してください。
OTEL_INSTRUMENTATION_COMMON_DEFAULT_ENABLED
- Datadog の規則:
!DD_INTEGRATIONS_ENABLED
エージェントのすべてのインスツルメンテーションを無効化するには false
に設定します
注: OTEL_INSTRUMENTATION_COMMON_DEFAULT_ENABLED
と DD_INTEGRATIONS_ENABLED
のマッピング:
OTEL_INSTRUMENTATION_[NAME]_ENABLED
- 説明: 指定した名前の OTel ドロップインインスツルメンテーションを有効/無効化します
OTEL_JAVAAGENT_CONFIGURATION_FILE
- Datadog の規則:
DD_TRACE_CONFIG
エージェントの設定を含む有効な Java プロパティファイルへのパス
注: OTEL_JAVAAGENT_CONFIGURATION_FILE と DD_TRACE_CONFIG の両方が設定されている場合、通常の「Datadog 設定が OTel 設定を上書きする」というルールの例外として、両方のファイルから構成を適用します
OTEL_INSTRUMENTATION_HTTP_CLIENT_CAPTURE_REQUEST_HEADERS
- Datadog の規則:
DD_TRACE_REQUEST_HEADER_TAGS
HTTP ヘッダー名のカンマ区切りリスト。HTTP クライアントのインスツルメンテーションは、設定されたすべてのヘッダー名に対して HTTP リクエストヘッダーの値をキャプチャします
注: OTel の環境変数で設定されたヘッダーのタグ付けは、Datadog の命名規則である http.request.headers.<header-name>
ではなく、http.request.header.<header-name>
の OTel 規則に従います
OTEL_INSTRUMENTATION_HTTP_CLIENT_CAPTURE_RESPONSE_HEADERS
- Datadog の規則:
DD_TRACE_RESPONSE_HEADER_TAGS
HTTP ヘッダー名のカンマ区切りリスト。HTTP クライアントのインスツルメンテーションは、設定されたすべてのヘッダー名に対して HTTP レスポンスヘッダーの値をキャプチャします
注: OTel の環境変数で設定されたヘッダーのタグ付けは、Datadog の命名規則である http.response.headers.<header-name>
ではなく、http.response.header.<header-name>
の OTel 規則に従います
OTEL_INSTRUMENTATION_HTTP_SERVER_CAPTURE_REQUEST_HEADERS
- Datadog の規則:
DD_TRACE_REQUEST_HEADER_TAGS
HTTP ヘッダー名のカンマ区切りリスト。HTTP サーバーのインスツルメンテーションは、設定されたすべてのヘッダー名に対して HTTP リクエストヘッダーの値をキャプチャします
注: OTel の環境変数で設定されたヘッダーのタグ付けは、Datadog の命名規則である http.request.headers.<header-name>
ではなく、http.request.header.<header-name>
の OTel 規則に従います
OTEL_INSTRUMENTATION_HTTP_SERVER_CAPTURE_RESPONSE_HEADERS
- Datadog の規則:
DD_TRACE_RESPONSE_HEADER_TAGS
HTTP ヘッダー名のカンマ区切りリスト。HTTP サーバーのインスツルメンテーションは、設定されたすべてのヘッダー名に対して HTTP レスポンスヘッダーの値をキャプチャします
注: OTel の環境変数で設定されたヘッダーのタグ付けは、Datadog の命名規則である http.response.headers.<header-name>
ではなく、http.response.header.<header-name>
の OTel 規則に従います
OTEL_JAVAAGENT_EXTENSIONS
- Datadog の規則:
DD_TRACE_EXTENSIONS_PATH
拡張用の jar ファイルのパス、または jar ファイルを含むフォルダのパスをカンマ区切りで指定します。フォルダを指定した場合、そのフォルダにあるすべての jar ファイルが独立した拡張として扱われます
その他の参考資料