How Distributed Tracing Works

How Distributed Tracing Works An architecture diagram generated by Archify. User · HTTP request · Architecture component User HTTP request Ingress Gateway · Envoy · mints trace ID · Istio service mesh Ingress Gateway Envoy · mints trace ID Service A · Envoy sidecar · Istio service mesh Service A Envoy sidecar Service B · Envoy sidecar · Istio service mesh Service B Envoy sidecar Service C · Envoy sidecar · Istio service mesh Service C Envoy sidecar Jaeger · collects spans · assembles traces · Architecture component Jaeger collects spans · assembles traces x-request-id · x-b3-traceid Must propagate headers Must propagate headers Send span Istio service mesh Legend Backend Database Cloud External

Division of responsibility

  • • Envoy generates the trace ID automatically
  • • The application must forward the x-request-id and x-b3-* headers to the next service
  • • Envoy sends spans to Jaeger, so no Jaeger client is needed