23,393
stars
+27+27+125
3,233
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions
README
[![Slack chat][slack-img]](get-in-touch)
[![Unit Tests][ci-img]][ci]
[![Coverage Status][cov-img]][cov]
[![Project+Community stats][community-badge]][community-stats]
[![FOSSA Status][fossa-img]][fossa]
[![OpenSSF Scorecard][openssf-img]][openssf]
[![OpenSSF Best Practices][openssf-bp-img]][openssf-bp]
[![CLOMonitor][clomonitor-img]][clomonitor]
[![Artifact Hub][artifacthub-img]][artifacthub]
Jaeger - a Distributed Tracing System
💥💥💥 Jaeger v2 is out! Read the blog post and try it out.
Quick Start
Get Jaeger running in seconds with Docker:
bash
Run Jaeger all-in-one (includes UI, collector, query, and in-memory storage)
docker run --rm --name jaeger \
-p 16686:16686 \
-p 4317:4317 \
-p 4318:4318 \
jaegertracing/jaeger:latest
Access the UI at http://localhost:16686
Send traces via OTLP: gRPC on port 4317, HTTP on port 4318
For production deployments and more options, see the Getting Started Guide.
Architecture
mermaid
graph TD
SDK["OpenTelemetry SDK"] -- |HTTP or gRPC| COLLECTOR
COLLECTOR["Jaeger Collector"] -- STORE[Storage]
COLLECTOR -- |gRPC| PLUGIN[Storage Plugin]
COLLECTOR -- |gRPC/sampling| SDK
PLUGIN -- STORE
QUERY[Jaeger Query Service] -- STORE
QUERY -- |gRPC| PLUGIN
UI[Jaeger UI] -- |HTTP| QUERY
subgraph Application Host
subgraph User Application
SDK
end
end
Jaeger is a distributed tracing platform created by Uber Technologies and donated to Cloud Native Computing Foundation.
See Jaeger [documentation][doc] for getting started, operational details, and other information.
Jaeger is hosted by the Cloud Native Computing Foundation (CNCF) as the 7th top-level project, graduated in October 2019. See the CNCF Jaeger incubation announcement and Jaeger graduation announcement.
Get Involved
Jaeger is an open source project with open governance. We welcome contributions from the community, and we would love your help to improve and extend the project. Here are some ideas for how to get involved. Many of them do not even require any coding.
Version Compatibility Guarantees
Since Jaeger uses many components from the OpenTelemetry Collector we try to maintain configuration compatibility between Jaeger releases. Occasionally, configuration options in Jaeger (or in Jaeger v1 CLI flags) can be deprecated due to usability improvements, new functionality, or changes in our dependencies.
In such situations, developers introducing the deprecation are required to follow these guidelines.
In short, for a deprecated configuration option, you should expect to see the following message in the documentation or release notes:
(deprecated, will be removed after yyyy-mm-dd or in release vX.Y.Z, whichever is later)
A grace period of at least 3 months or two minor version bumps (whichever is later) from the first release
containing the deprecation notice will be provided before the deprecated configuration option _can_ be deleted.
For example, consider a scenari