Feb 21, 2024: Announcing Linkerd 2.15 with support for VM workloads, native sidecars, and SPIFFE! Read more »

This is not the latest version of Linkerd!
This documentation is for Linkerd 1.x, an older version with some significant differences. You may want to see the Linkerd 2.x (current) documentation instead.

Distributed tracing

As the number and complexity of services increases, uniform observability across the data center becomes more critical. Linkerd’s tracing and metrics instrumentation is designed to be aggregated, providing broad and granular insight into the health of all services. Linkerd’s role as a service mesh makes it the ideal data source for observability information, particularly in a polyglot environment.

As requests pass through multiple services, identifying performance bottlenecks becomes increasingly difficult using traditional debugging techniques. Distributed tracing provides a holistic view of requests transiting through multiple services, allowing for immediate identification of latency issues.

With Linkerd, distributed tracing comes for free. Simply configure Linkerd to export tracing data to a backend trace aggregator, such as Zipkin. This will expose latency, retry, and failure information for each hop in a request.

Further reading

If you’re ready to start using distributed tracing in your setup, see the Tracers section of the Linkerd config.

For a guide on setting up an end-to-end distributed tracing pipeline, see Distributed Tracing for Polyglot Microservices on the Buoyant Blog.