Transaction ID (Txid)
概要
TXID Policy は、各受信リクエストに一意のトランザクションIDを割り当てるように設計されています。このIDは、異なるサービス間でリクエストを追跡することを可能にし、分散システムにおけるデバッグ、監視、およびログ記録を容易にします。このポリシーは、各リクエストに x-txid ヘッダーがタグ付けされることを保証し、後でトレースおよび分析に使用できます。
なぜTXIDを使用するのか?
- troubleshooting における問題の特定を助けます。
- 分散システムにおける observability を改善します。
- 異なるAPIレイヤー間で logging consistency を可能にします。
設定の詳細
トランザクションIDヘッダー (x-txid)
- ポリシーは、すべての受信リクエストに対して一意の x-txid ヘッダーを自動的に生成します。
- このIDはリクエストのライフサイクル全体で一貫しており、異なるサービス間でのトレース可能性を保証します。
- 例:
x-txid: 550e8400-e29b-41d4-a716-446655440000
- サービスがすでに x-txid ヘッダーを含まない場合、システムは自動的に生成します。
W3Cの有効化
ポリシーは、オプションの W3Cの有効化 設定を提供します。有効にすると、システムは W3C Trace Context Specification に従い、x-txid ヘッダーを使用しません。
-
W3Cが無効な場合(デフォルト):
- システムは x-txid ヘッダーにトランザクションIDを割り当てます。
-
W3Cが有効な場合:
- x-txid の代わりに、traceparent というHTTPヘッダーが渡されます。
- traceparentヘッダーは W3C Trace Context 標準に従ってフォーマットされます。
- これにより、W3C標準をサポートする外部のログ記録およびトレースツールとの相互運用性が可能になります。
- 例:
traceparent: 00-3fcf0fea8f014021927305eb2842715b-59ee61718d864a72-01
- stdout-log と組み合わせることで、トレース情報はログデータとして保存されます。
設定フィールド
フィールド | 説明 | デフォルト値 | 注記 |
---|---|---|---|
x-txid Header | 各リクエストに一意のトランザクションIDを自動的に割り当てます。 | 有効 | 変更できません。 |
W3C Activation | traceparent ヘッダーを x-txid の代わりに有効にします。 | 無効 | W3Cトレースツールとの相互運用性が必要な場合は有効にできます。 |
- システムが標準APIトレースメカニズムに依存している場合、x-txid を使用する必要があります。
- OpenTelemetryのような外部の可観測性ツールとの相互運用性が必要な場合は、W3C traceparent を有効にしてください。