Jaeger is a distributed tracing platform used for collecting, storing, and visualizing request flows across microservices. It identifies performance bottlenecks and errors by tracking requests as they move through multiple service boundaries. The system includes telemetry collectors, a multi-tenant backend, and a trace visualizer.
The platform provides a multi-tenant tracing infrastructure that isolates data and queries by tenant to support shared environments. It supports standardized telemetry ingestion via the OpenTelemetry Protocol over gRPC and HTTP. To manage storage costs and overhead, it employs adaptive trace sampling to dynamically adjust the volume of captured request data based on traffic patterns.
The system handles distributed trace storage through pluggable database backends and manages the data lifecycle via automated index rollover and cleanup. Its analysis capabilities include tag-based searches, transaction timeline visualization, service dependency graphs, and side-by-side trace execution comparison. Security is addressed through TLS communication encryption and trace data anonymization.
The project supports custom distribution building and cross-platform binary compilation to create tailored executables based on selected extensions and processors.