istio.io/content/help/faq/distributed-tracing/how-to-support-tracing.md

22 lines
1.2 KiB
Markdown

---
title: What is required for distributed tracing with Istio?
weight: 10
---
Istio enables reporting of trace spans for workload-to-workload communications within a mesh. However, in order for various trace spans to be stitched together for a complete view of the traffic flow, applications must propagate the trace context between incoming and outgoing requests.
In particular, Istio relies on applications to [propagate the B3 trace headers](https://github.com/openzipkin/b3-propagation), as well as the Envoy-generated request ID. These headers include:
- `x-request-id`
- `x-b3-traceid`
- `x-b3-spanId`
- `x-b3-parentspanid`
- `x-b3-sampled`
- `x-b3-flags`
- `b3`
If you are using LightStep, you will also need to forward the following headers:
- `x-ot-span-context`
Header propagation may be accomplished through client libraries, such as [Zipkin](https://zipkin.io/pages/tracers_instrumentation.html) or [Jaeger](https://github.com/jaegertracing/jaeger-client-java/tree/master/jaeger-core#b3-propagation). It may also be accomplished manually, as documented in the [Distributed Tracing Task](/docs/tasks/telemetry/distributed-tracing/overview#understanding-what-happened).