liveBook · Manning

Jaeger UI

As explained in Cloud Observability in Action

The Jaeger UI is a web-based interface for searching, analyzing, and visualizing traces.

Jaeger UI is a web-based interface for searching, analyzing, and visualizing distributed traces. It also presents a graph representation of microservice architecture. section 6.2.1

Use the interface to:

  • Search traces for a selected service and inspect execution durations over time. section 8.2.3
  • View a service dependency graph and open individual traces in a waterfall-style span view. section 8.2.3
  • Filter failure spans by HTTP status code or error=true, then compare failed execution with a healthy baseline. section 8.2.4

Troubleshooting a microservices request

Open the UI at http://localhost:16686/, select frontend, and find traces. A healthy trace establishes expected durations; a failed span, marked with a red exclamation point, reveals the affected service, duration, and error code. section 8.2.3 section 8.2.4

Listing 6.2 The relevant bits of Docker Compose file for Jaeger with ClickHouse setup
frontend:                                           #1
    image: public.ecr.aws/mhausenblas/ho11y:stable
    ports:
    - 8765:8765
    environment:
    - "DOWNSTREAM0=http://backend0:8766"
    - "DOWNSTREAM1=http://backend1:8767"
    - "OTEL_RESOURCE_ATTRIB=frontend"
    - "OTEL_EXPORTER_OTLP_ENDPOINT=otel-collector:4317"
    - "HO11Y_INJECT_FAILURE=enabled"
 
  jaeger:                                           #2
    image: jaegertracing/all-in-one:1.35
    command: [
      "--grpc-storage-plugin.binary=/etc/jaeger-clickhouse",
      "--grpc-storage-plugin.configuration-file=/etc/clickhouse-plugin.config"
    ]
    volumes:
    - ./jaeger-clickhouse:/etc/jaeger-clickhouse
    - ./clickhouse-plugin.config:/etc/clickhouse-plugin.config
    ports:
    - "9090:9090"
    - "16686:16686"
    - "14250:14250"
    environment:
    - "SPAN_STORAGE_TYPE=grpc-plugin"
 
  clickhouse:                                       #3
    image: clickhouse/clickhouse-server
    ports:
    - "8123:8123"
    - "9000:9000"

Inspect a Docker Compose setup that runs Jaeger with ClickHouse storage and exposes the Jaeger UI. section 6.2.1

How Cloud Observability in Action covers it

How deep it goes
Demonstrates dependency graphs, waterfall traces, filtering, and span inspection, while deferring UI internals.
Examples
Uses a Docker Compose microservices application, healthy and failed traces, HTTP status filters, and ClickHouse-backed Jaeger.
What it assumes
Assumes familiarity with services and traces while demonstrating the interface workflow from service search through span inspection.
What you can do after
Diagnose with it by locating failed services, comparing durations with healthy traces, and inspecting error codes.
How it connects
Connects distributed tracing with OpenTelemetry, microservices, spans, service maps, and trace storage backends.

Related concepts

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