About
Jaeger is a battle-tested, open source distributed tracing observability platform designed for modern applications built on microservices architectures. It tracks requests as they travel through multiple services, collecting timing and metadata at every hop to give engineers full visibility into complex distributed workflows. Originally created by Uber and now a graduated Cloud Native Computing Foundation (CNCF) project, Jaeger is used by engineering teams worldwide to monitor distributed workflows, find and fix performance bottlenecks, track down root causes of failures, and analyze inter-service dependencies. It is 100% open source, cloud-native, and designed to scale infinitely. Jaeger v2 brings deep integration with the OpenTelemetry ecosystem, supporting the OpenTelemetry Protocol (OTLP) as a first-class ingestion path. This makes it straightforward to instrument existing applications using standard OpenTelemetry SDKs without vendor lock-in. Storage backends include options like ClickHouse, Elasticsearch, and Cassandra, providing flexibility for different scale and cost requirements. Key capabilities include adaptive sampling to control trace volume, a rich UI for trace search and visualization, dependency graph analysis, and a live demo environment for evaluation. Jaeger is ideal for platform engineers, SREs, and backend developers who need deep observability into distributed systems without relying on proprietary tooling.
Key Features
- Distributed Request Tracing: Tracks the full lifecycle of requests as they flow across multiple microservices, capturing timing, errors, and metadata at every step.
- OpenTelemetry Native Support: Ingests trace data via OTLP, enabling seamless integration with any application instrumented using the OpenTelemetry standard SDKs.
- Adaptive Sampling: Automatically adjusts trace sampling rates based on traffic patterns and service behavior to balance observability with storage cost.
- Service Dependency Analysis: Generates dependency graphs that map how services interact, making it easy to understand architectural topology and blast radius of failures.
- Flexible Storage Backends: Supports multiple storage backends including ClickHouse, Elasticsearch, and Cassandra, allowing teams to choose based on scale and budget.
Use Cases
- Diagnosing latency issues in a microservices e-commerce platform by tracing slow checkout requests across payment, inventory, and shipping services.
- Root cause analysis of intermittent errors in a cloud-native application by correlating failed spans across service boundaries.
- Understanding service dependency topology before a major refactor to identify which services will be impacted by proposed architecture changes.
- Monitoring SLA compliance for critical API paths by measuring end-to-end request durations across distributed service chains.
- Validating performance improvements after a code change by comparing trace data before and after deployment.
Pros
- 100% Open Source & Free: Jaeger is fully open source with no licensing costs, making it accessible to teams of all sizes without vendor lock-in.
- CNCF Graduated & Battle-Tested: As a graduated CNCF project with origins at Uber, Jaeger has proven reliability at massive enterprise scale.
- OpenTelemetry Compatibility: First-class OTLP support means teams can use standard instrumentation and switch backends freely without re-instrumenting applications.
- Infinitely Scalable Architecture: Cloud-native design supports horizontal scaling to handle high-throughput trace ingestion across large distributed systems.
Cons
- Complex Self-Hosted Setup: Deploying and operating Jaeger in production requires infrastructure expertise, especially when configuring storage backends and scaling collectors.
- No Managed Cloud Offering: Jaeger does not provide a hosted SaaS version, so teams must manage their own infrastructure, monitoring, and upgrades.
- UI is Functional but Basic: The built-in web UI covers essential trace visualization but lacks some advanced analytics and alerting features found in commercial APM tools.
Frequently Asked Questions
Jaeger is used to monitor and troubleshoot distributed systems built on microservices. It traces requests across multiple services, helping engineers find performance bottlenecks, debug errors, and understand service dependencies.
Yes. Jaeger is 100% open source and free to use under the Apache 2.0 license. There are no licensing costs, though you are responsible for hosting and operating the infrastructure.
Jaeger natively supports the OpenTelemetry Protocol (OTLP), meaning any application instrumented with OpenTelemetry SDKs can send traces directly to Jaeger without additional adapters or proprietary exporters.
Jaeger supports multiple storage backends including ClickHouse, Elasticsearch, OpenSearch, and Cassandra. Teams choose based on their scale, query performance needs, and operational preferences.
Jaeger v2, released in late 2024, is a major rewrite that aligns more deeply with the OpenTelemetry ecosystem, deprecates native Jaeger exporters in favor of OTLP, and improves overall architecture for better scalability and maintainability.