B3 ヘッダーの抽出と挿入
Datadog APM トレーサーは、分散型トレーシングのための B3 と W3C Trace Context のヘッダー抽出と挿入をサポートしています。
分散したヘッダーの挿入と抽出は、挿入および抽出スタイルを構成することで制御されます。次の 2 つのスタイルがサポートされています。
- Datadog:
Datadog
- B3 マルチヘッダー:
b3multi
- B3 シングルヘッダー:
b3
- W3C Trace Context:
tracecontext
- ノーオペレーション:
none
挿入スタイルは次を使って構成できます:
- 環境変数:
DD_TRACE_PROPAGATION_STYLE_INJECT=Datadog,b3
環境変数の値は、挿入が有効になっているヘッダースタイルのカンマ区切りリストです。デフォルトでは、Datadog
挿入スタイルのみが有効になっています。
抽出スタイルは次を使って構成できます:
- 環境変数:
DD_TRACE_PROPAGATION_STYLE_EXTRACT=Datadog,b3
環境変数の値は、抽出が有効になっているヘッダースタイルのカンマ区切りリストです。
複数の抽出スタイルが有効になっている場合、抽出試行はスタイルの構成順で実行され、最初に成功した抽出値が使われます。
デフォルトの抽出スタイルは、順番に Datadog
、b3multi
、b3
です。
また、Datadog.configure
を使用することで、コード上でこれらのフォーマットの使用を有効または無効にすることができます。
Datadog.configure do |c|
# 抽出すべきヘッダーフォーマットのリスト
c.tracing.distributed_tracing.propagation_extract_style = [ 'tracecontext', 'Datadog', 'b3' ]
# 挿入すべきヘッダーフォーマットのリスト
c.tracing.distributed_tracing.propagation_inject_style = [ 'tracecontext', 'Datadog' ]
end
トレースコンテキストの伝播の構成については、Ruby トレーシングライブラリ構成ドキュメントの分散型トレーシングのセクションをお読みください。
その他の参考資料