Jaeger
Jaeger is an open source distributed tracing platform that stores, searches, and visualizes the path of requests across services. It helps you find where a request slowed down or failed in a distributed system.
itCloud native tools and technologies | OpenSkills.info
Intro
Jaeger
Jaeger helps you investigate one request as it crosses a distributed system. Each unit of work becomes a span. Related spans form a trace. Jaeger receives those spans, stores them, and gives you a query service and user interface for examining the resulting trace.
This view answers questions that isolated service logs cannot answer on their own. You can see which services participated, how their operations relate, where time accumulated, and which spans recorded errors. The trace is evidence about one sampled operation. It does not establish the overall health of every request.
Follow the trace data path
Use this mental model:
instrumented application
→ OpenTelemetry SDK or Collector
→ Jaeger collector role
→ trace storage
→ Jaeger query role and UI
Your application must be instrumented before Jaeger has data to display. Jaeger recommends OpenTelemetry instrumentation and SDKs. These libraries create spans and propagate trace context across service boundaries. They can export spans with the OpenTelemetry Protocol, or OTLP.
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://www.jaegertracing.io/docs/2.20/
Supports
- Current Jaeger documentation map and version
- Progression rationale for the primary reference path
- https://www.jaegertracing.io/docs/2.20/getting-started/
Supports
- All-in-one container behavior and Jaeger UI access
- In-memory storage in the introductory configuration
- Requirement and recommendation for OpenTelemetry instrumentation
- HotROD as an instrumented demonstration
- Quiz questions 01 and 03
- https://www.jaegertracing.io/docs/2.20/architecture/terminology/
Supports
- Span, trace, tag, log, process, and causal relationship terminology
- Mapping between Jaeger and OpenTelemetry trace concepts
- Quiz questions 06 and 08
- https://www.jaegertracing.io/docs/2.20/architecture/
Supports
- Collector, query, ingester, all-in-one, and agent roles
- Jaeger version 2 as an OpenTelemetry Collector distribution
- Direct-to-storage and Kafka-buffered architecture tradeoffs
- OpenTelemetry Collector placement options
- Independent read and write scaling with separated roles
- In-memory and Badger deployment limits
- Quiz questions 02 through 05 and 09
- https://www.jaegertracing.io/docs/2.20/architecture/apis/
Supports
- OTLP ingestion and Jaeger query API surfaces
- Separation of ingestion and query connections
- https://www.jaegertracing.io/docs/2.20/sampling/
Supports
- Sampling as an application, processing, and storage cost control
- Head, tail, remote, file-based, and adaptive sampling
- Tail-sampling memory and processing tradeoffs
- Quiz question 07
- https://www.jaegertracing.io/docs/2.20/storage/
Supports
- Persistent storage requirement
- Cassandra, Elasticsearch, and OpenSearch as primary distributed backends
- Remote and archive storage concepts
- https://www.jaegertracing.io/docs/2.20/deployment/security/
Supports
- Security mechanisms between SDKs, collectors, storage, browsers, UI, and query consumers
- Transport encryption and authentication review
- Quiz question 09
- https://www.jaegertracing.io/docs/2.20/operations/
Supports
- Official path to configuration, monitoring, performance tuning, and troubleshooting
- Rationale for the final reference link
- https://opentelemetry.io/docs/concepts/signals/traces/
Supports
- Traces and spans as evidence about an operation path
- Span timing, attributes, events, status, and relationships
- Evidence boundaries in trace interpretation
- Quiz question 08
- https://opentelemetry.io/docs/concepts/context-propagation/
Supports
- Injection and extraction of trace context across service boundaries
- Broken propagation as a cause of disconnected traces
- Quiz question 06
- https://github.com/sindresorhus/awesome
Supports
- Starting directory for awesome-list discovery
- https://github.com/magsther/awesome-opentelemetry
Supports
- Discovery of Tracetest, Grafana Tempo, and SigNoz as relevant tracing ecosystem projects
- https://docs.tracetest.io/
Supports
- Trace-based integration and end-to-end testing with OpenTelemetry traces
- Assertions on spans, timing, transactions, and side effects
- Tracetest awesome-link rationale
- https://grafana.com/docs/tempo/latest/
Supports
- Tempo as an open source distributed tracing backend
- Support for open tracing protocols and correlation with metrics and logs
- Grafana Tempo awesome-link rationale
- https://signoz.io/docs/what-is-signoz/
Supports
- SigNoz as an OpenTelemetry-based observability tool
- Correlated traces, metrics, logs, exceptions, alerts, and dashboards
- SigNoz awesome-link rationale
