~/tools/jaeger
Jaeger
tool

Jaeger

Jaeger is an open source distributed tracing platform you can self-host — a Datadog and New Relic alternative that follows a request across every microservice it touches, so you can find latency bottlenecks and root-cause failures in complex systems.

Jaeger is an open source distributed tracing platform you can self-host — a Datadog and New Relic alternative that follows a single request across every microservice it touches, so you can find latency bottlenecks and root-cause failures in complex, distributed systems.

What is Jaeger?

Jaeger is a distributed tracing platform that records how one request travels through a microservices architecture and shows it as a timeline of connected spans. Created at Uber in 2016 and now a graduated Cloud Native Computing Foundation (CNCF) project, it collects traces from instrumented services, stores them in a pluggable backend, and lets you search and visualize them in a web UI.

What is Jaeger best for?

Jaeger is best for engineering teams running microservices who need to understand where time goes in a request that fans out across many services. It answers questions a single service’s logs can’t: which downstream call was slow, where an error originated, and how services actually depend on each other in production. It fits teams that have (or want) OpenTelemetry instrumentation and prefer to keep trace data on their own infrastructure.

What can Jaeger do?

  • Trace requests end to end across microservices, showing each span’s timing, tags, and parent-child relationships in a waterfall view.
  • Ingest OpenTelemetry data natively — Jaeger v2 is built on the OpenTelemetry Collector and accepts OTLP over gRPC (port 4317) and HTTP (port 4318).
  • Store traces in your choice of backend — Elasticsearch, OpenSearch, Cassandra, ClickHouse, Badger, Kafka as a buffer, or in-memory for local testing.
  • Map service dependencies automatically from trace data as a system topology graph.
  • Monitor service performance (SPM) — derive RED-style latency and error metrics from spans to spot regressions.
  • Sample adaptively — tune how many traces are kept per service and endpoint to control storage cost, including dynamic adaptive sampling.
  • Run anywhere — a single all-in-one Docker image bundles the collector, query service, and UI with in-memory storage for a quick start.

Where does Jaeger fall short?

Jaeger is traces only. It does not collect metrics or logs, so it’s one pillar of observability rather than a full platform — you’ll pair it with something like Grafana and Prometheus, or reach for an all-in-one tool like SigNoz, to get the complete picture that a hosted suite gives you in one place.

Its UI is deliberately basic — good for inspecting individual traces, but thinner on dashboards, alerting, and cross-signal correlation than commercial APM tools. And because tracing typically samples traffic, a low sampling rate can miss the exact slow or failing request you’re hunting for, which is a real tradeoff to tune rather than a bug.

Running it in production also means operating a real storage backend (Elasticsearch, Cassandra, or ClickHouse) at the volume your trace data demands — a heavier commitment than the in-memory quick start suggests.

Is Jaeger free?

Yes — Jaeger is fully free and open source under the Apache 2.0 license, with no paid edition, no feature gating, and no per-host or per-GB billing. It’s maintained by the CNCF, not a single vendor, so there’s no upsell to a commercial tier. Your only costs are the infrastructure you run it and its storage backend on.

What does Jaeger replace?

Jaeger stands in for the tracing and APM features of hosted platforms like Datadog, New Relic, Dynatrace, and AppDynamics. Those give you tracing plus metrics, logs, and dashboards in one managed product with usage-based pricing; Jaeger covers the distributed-tracing piece on infrastructure you own, at no license cost. Teams that want the broader single-pane experience without vendor billing often combine Jaeger with metrics and log tools, or evaluate an all-in-one open source suite like SigNoz.

FAQ

Is Jaeger open source? Yes. Jaeger is licensed under Apache 2.0 and is a graduated CNCF project, with all source code on GitHub and no proprietary edition.

Can I self-host Jaeger for free? Yes. Self-hosting is the primary way to run Jaeger, and there’s no license fee. You provide the servers and a storage backend; the software itself is free.

Is Jaeger a good Datadog alternative? For distributed tracing specifically, yes — Jaeger traces requests across microservices without Datadog’s per-host billing. But it’s traces only, so you’ll add separate metrics and logging tools to match Datadog’s full observability suite.

What do I need to run Jaeger? For evaluation, just Docker and the all-in-one image with in-memory storage. For production you need a persistent backend — Elasticsearch, OpenSearch, Cassandra, or ClickHouse — plus OpenTelemetry (or Jaeger) instrumentation in your services to emit spans.