Datadog Tracking HTTP Client パッケージと gRPC Interceptor パッケージは、いずれも自動ヘッダー生成とヘッダー取り込みの両方により分散型トレーシングをサポートします。

Datadog のヘッダー生成

追跡クライアントや gRPC インターセプターを構成する際に、Datadog に生成させたい追跡ヘッダーの種類を指定することができます。例えば、example.com には b3 ヘッダーを、myapi.names には tracecontext ヘッダーを送信したい場合、以下のコードで実現できます。

final hostHeaders = {
    'example.com': { TracingHeaderType.b3 },
    'myapi.names': { TracingHeaderType.tracecontext}
};

このオブジェクトは、初期構成時に使用することができます。

// デフォルトの Datadog HTTP トレース用:
final configuration = DdSdkConfiguration(
    // 構成
    firstPartyHostsWithTracingHeaders: hostHeaders,
);

その後、通常通りトレースを有効にすることができます。

この情報は、DdSdkConfiguration.firstPartyHosts で設定されたホストとマージされます。firstPartyHosts で指定されたホストは、デフォルトで Datadog Tracing Headers を生成します。

その他の参考資料