分散トレーシングは、単一のリクエストが多くのサービスを横断するときの経路を追跡し、エンドツーエンドの経路全体を可視化して、レイテンシーやエラーが発生する箇所を特定できます。相関/トレースIDは、1つのリクエストのすべてのspanを結びつけます。
仕組み
最初のサービスがトレースIDを生成し、下流のすべての呼び出しがそれ(およびparent span ID)をヘッダーに含めて伝播します。
http
GET /checkout HTTP/1.1
traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
# trace-id ───────────────────────────^ ^── span-id
text
Trace abc123:
Gateway ├──────────────────────────────┤ 220ms
Orders ├────────────┤ 90ms
Payments ├──────┤ 60ms ← slow span found here
Inventory ├──┤ 15ms
