liveBook · Manning

Jaeger

As explained in gRPC Microservices in Go

Jaeger is an open-source distributed tracing and telemetry backend for collecting, storing, querying, and visualizing observability data.

Jaeger provides a tracing and performance-monitoring view of microservices. Instrumented services send OpenTelemetry data to a collector; the Jaeger UI lets operators find traces by service and inspect request flow and latency. Prometheus stores time-series data used for performance graphs and percentile metrics. section 9.2.3 section 9.2.4

To add Jaeger to a Kubernetes deployment:

  • Install the Helm chart containing Jaeger All in One, an OpenTelemetry Collector endpoint, and Prometheus. Check that their pods are running in the jaeger namespace. section 9.3 section 9.3.4
  • Configure each Go service’s OpenTelemetry tracing provider with a Jaeger exporter, the collector URL, and resource attributes such as service name and environment. Batch exported data. section 9.3.5
  • Add the OpenTelemetry gRPC server interceptor and configure trace-context propagation so calls between services remain visible as one request flow. section 9.3.5

Follow an order request

When an Order service calls a Payment service, propagated trace metadata connects their work in the Jaeger tracing UI. Search for the service to inspect the request path and its latencies; use the performance view to examine latency distributions over time. section 9.3.5 section 9.2.4

Figure 9.8 Service performance monitoring in the Jaeger UI

The service-performance view illustrates where to inspect latency graphs alongside trace queries. section 9.2.4

How gRPC Microservices in Go covers it

How deep it goes
Walks through Kubernetes installation and Go tracing configuration, then uses UI queries; it does not detail Jaeger’s storage internals.
Examples
Uses a Helm deployment, an instrumented Go Order service, and an Order-to-Payment request trace.
What it assumes
Assumes running microservices and a Kubernetes environment; introduces the collector deployment and service instrumentation steps.
What you can do after
Operate/configure it to collect service traces and inspect request flow and latency in the Jaeger UI.
How it connects
Connects Jaeger to OpenTelemetry, gRPC interceptors, trace-context propagation, Prometheus, and Kubernetes.

Also explained in

Compare how 4 books explain Jaeger →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of gRPC Microservices in Go. The section links point to the parts of the book it draws on.