CheckOps home

Tools directory

J

CheckOps

Jaeger

Jaeger is the CNCF's Apache-2.0 distributed tracing platform; v2 is built on the OpenTelemetry Collector and accepts OTLP traces, with a UI for searching traces and analysing service dependencies.

Visit website

Latest public signals

Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.

Visit Website

Introduction

Jaeger is a distributed tracing system and a Cloud Native Computing Foundation project, licensed Apache-2.0 with about 23,400 GitHub stars. Jaeger v2 is out, and the README’s architecture shows OpenTelemetry SDKs sending data over HTTP or gRPC to the Jaeger collector, which writes to storage.

Distributed tracing follows a request as it moves through services, recording each step as a span with timing and metadata. That makes it far easier to find where latency or errors come from in a microservice system.

The quick start runs Jaeger all-in-one (UI, collector, query and in-memory storage) in a single Docker container, accepting OTLP on ports 4317 (gRPC) and 4318 (HTTP), with the UI on port 16686.

In the quality loop, Jaeger is used in production troubleshooting and during performance tests, where traces show which service or query makes a slow request slow.

Features

  1. OTLP ingestion: Receive traces from OpenTelemetry SDKs over gRPC or HTTP.
  2. Trace search UI: Find traces by service, operation, tags and duration.
  3. Trace comparison: Compare traces to spot differences.
  4. Service dependency graph: See how services call each other.
  5. Pluggable storage: Several storage backends; see the docs for supported options.
  6. Sampling: Configure sampling strategies.
  7. All-in-one image: Run everything locally in one container.
  8. v2 on OpenTelemetry Collector: Built on the Collector framework.

Pros

  1. Mature and CNCF: Widely deployed.
  2. Free: Apache-2.0.
  3. OpenTelemetry-native: Standard instrumentation.
  4. Easy local start: One Docker command.
  5. Active: Commits in November 2026.

Cons

  1. Traces only: Metrics and logs need other tools.
  2. Storage operations: Production needs a scalable backend you run.
  3. Instrumentation needed: Services must be instrumented.
  4. Sampling trade-offs: Low sampling can miss rare issues.
  5. Basic analytics: Less ad-hoc analysis than commercial tools.

Run Jaeger all-in-one from the README:

docker run --rm --name jaeger -p 16686:16686 -p 4317:4317 -p 4318:4318 jaegertracing/jaeger:latest

Point your OpenTelemetry SDK exporter at http://localhost:4318 (HTTP) or localhost:4317 (gRPC), then open http://localhost:16686.

Tips: propagate trace context across every service boundary, add meaningful span attributes, and use traces captured during load tests to find bottlenecks before release.

Resources:

Pricing

Jaeger is free and open source under Apache-2.0.

  1. Microservice teams debugging latency across services.
  2. SREs standardising on OpenTelemetry.
  3. Performance engineers analysing slow requests.
  4. Not a fit if you want one tool for metrics, logs and traces.

Conclusion

Jaeger is a mature, OpenTelemetry-native tracing backend with a simple path from local to production.

Plan storage and sampling, and pair it with metrics and logs tools.

Alternatives

Other tools on CheckOps that cover similar ground. Open a page, or compare one with Jaeger side by side.