Generated by GPT-5-mini| Jaeger (software) | |
|---|---|
| Name | Jaeger |
| Developer | CNCF |
| Released | 2015 |
| Programming language | Go |
| Operating system | Cross-platform |
| License | Apache License 2.0 |
Jaeger (software) Jaeger is an open-source distributed tracing system used to monitor and troubleshoot microservices-based architectures. It collects, stores, and visualizes trace data to help engineers analyze latency, identify performance bottlenecks, and perform root-cause analysis across complex service topologies. Originating from an independent company and later donated to the Cloud Native Computing Foundation, Jaeger integrates with a broad array of observability and cloud-native projects.
Jaeger was created to address challenges in observability for large-scale microservices deployments, providing features such as transaction monitoring, service dependency analysis, and performance optimization. It competes and interoperates with systems like Zipkin (software), OpenTelemetry, and commercial vendors such as Datadog, New Relic, Dynatrace, and Lightstep. The project is governed within the ecosystem of the Cloud Native Computing Foundation alongside projects like Kubernetes, Prometheus, Envoy (software), and Fluentd, enabling integration with container orchestration, logging, and metrics platforms.
Jaeger's architecture separates data ingestion, processing, storage, and user interface into modular components. Key components include the client-side instrumentation libraries, the agent that receives spans, the collector that validates and batches telemetry, the storage backends, and the query service with a web UI. This layered design echoes patterns used by projects such as gRPC, Apache Kafka, Elasticsearch, and Cassandra (database), allowing flexibility in high-throughput environments like those managed with Docker, Kubernetes, or Mesos.
Instrumentation for Jaeger relies on language-specific client libraries and tracing APIs that propagate context across process and network boundaries. Native SDKs exist for languages and runtimes including Go (programming language), Java (programming language), Python (programming language), Node.js, and C++, while adapters support interoperability with standards such as OpenTelemetry and the former OpenTracing. Instrumentation patterns include manual span creation, automatic framework integrations for platforms like Spring Framework, and middleware for web servers such as NGINX and Envoy (software), enabling end-to-end visibility across service meshes and application frameworks.
Jaeger supports multiple storage backends to persist traces and perform queries, from in-memory and file-based stores to scalable solutions like Elasticsearch, Cassandra (database), and Kafka. The query service exposes APIs consumed by the Jaeger UI and external tools, facilitating trace lookup by trace ID, service name, operation name, and tags. Integration with indexing and search platforms enables deep inspection and dependency graph generation similar to capabilities found in Grafana, Kibana, and Prometheus dashboards.
Designed for cloud-native deployments, Jaeger can be run as a single binary for development or as a distributed system for production, scaling horizontally by adding collectors, query nodes, and storage clusters. Operators commonly deploy Jaeger on Kubernetes using Helm charts or Operators, integrate with Istio and Linkerd service meshes, and leverage orchestration tools like Helm and Argo CD for lifecycle management. High-volume customers adopt strategies such as sampling, adaptive sampling, and traffic shaping inspired by practices from Twitter, Uber, and Netflix to control ingestion rates and storage costs.
Jaeger integrates with a wide observability stack: it ingests traces from OpenTelemetry SDKs and exports to visualization platforms including Grafana and proprietary consoles from vendors like Splunk and New Relic. It works alongside logging systems such as Fluentd and Logstash and metrics platforms like Prometheus and Graphite. The project maintains adapters and plugins to connect with CI/CD pipelines using Jenkins, GitHub Actions, and GitLab CI/CD, and participates in standards efforts with organizations like the Linux Foundation and OpenTelemetry community.
Jaeger was originally developed by engineers at a technology company seeking scalable tracing for microservices and was open-sourced in the mid-2010s. The project was later contributed to the Cloud Native Computing Foundation where it joined other prominent projects including Kubernetes and Prometheus. Jaeger is released under the Apache License version 2.0, permitting broad commercial and community use while fostering contributions from organizations such as Uber Technologies, Red Hat, Google, IBM, and other members of the cloud-native ecosystem.
Category:Distributed tracing Category:Cloud Native Computing Foundation projects Category:Open-source software