Jaeger
A distributed tracing system.
Jaeger collects, stores, and visualises traces of requests as they flow through a distributed system. Each service emits spans representing units of work; a tracing library propagates a trace ID through the request to tie them together; Jaeger's collector stores them, and the Jaeger UI lets engineers find slow operations and understand call graphs across many services.
The project originated at Uber as a Go reimplementation of the older Zipkin tracer, with native support for the OpenTracing instrumentation API. It joined the Cloud Native Computing Foundation in 2017. Jaeger now also speaks the OpenTelemetry protocol natively, which is the broader CNCF tracing standard.
Jaeger is widely deployed as the tracing backend in Kubernetes- heavy environments. For larger workloads, Tempo (from Grafana Labs) and commercial offerings like Honeycomb and Lightstep are common alternatives. For most "I have a Kubernetes cluster and want to see request traces" use cases, Jaeger plus OpenTelemetry instrumentation is a solid default.
Install
Run as a container: docker run -p 16686:16686 -p 4318:4318 jaegertracing/all-in-one:latest
Authors
- Uber Technologies
- Cloud Native Computing Foundation