Interview › Istio & Service Mesh
Why must applications propagate trace headers even with Istio?
Istio & Service Mesh · Intermediate level
Answer
Applications must propagate trace headers because the proxy can observe hops but cannot automatically know how an application maps an inbound request to an outbound request. Header propagation carries the trace context across process boundaries.
Technical explanation
Envoy can create spans, but the application decides which outbound calls belong to the inbound request being handled.
If the app drops headers, downstream services may receive traffic but create unrelated traces.
Framework-level instrumentation with OpenTelemetry is the cleanest way to preserve context consistently.
Hands-on example
Code-level check:
Incoming request contains traceparent.
The service must copy context when calling downstream:
GET /payment HTTP/1.1
traceparent: 00-<trace-id>-<span-id>-01
Test by sending one request and checking whether frontend, checkout, and payment appear under the same trace ID.
Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.
More Istio & Service Mesh interview questions
- What is Istio, and what are the core capabilities it provides?
- What is the difference between the Istio control plane and data plane?
- What is istiod, and what does it do?
- What is Envoy, and what role does it play in Istio?
- What is the sidecar pattern, and how does Istio inject the proxy?
- How does automatic sidecar injection work (namespace label, webhook)?
- What is the Istio ambient (sidecarless) mode, and how does it differ from sidecar mode?
- What is the difference between ztunnel and a waypoint proxy in ambient mode?