Quiz: Tempo¶
5 questions
L0 (1 questions)¶
1. What is Tempo's role in an observability stack, and how does it receive trace data?
Show answer
Tempo is a distributed tracing backend (part of the Grafana stack alongside Prometheus, Loki, and Grafana). It stores and queries traces. It receives trace data via push protocols — primarily OTLP (from OpenTelemetry Collector or SDK) on gRPC port 4317 or HTTP port 4318. Applications or OTel Collectors export spans to Tempo's receiver endpoint.L1 (2 questions)¶
1. Grafana Tempo shows no traces but the Tempo pod is healthy and /ready returns 200. What is the most likely cause?
Show answer
Tempo is purely receive-side — unlike Promtail which pulls logs, Tempo waits for traces to be pushed to it. If the application is not instrumented with OpenTelemetry or the OTEL_EXPORTER_OTLP_ENDPOINT is misconfigured, Tempo will be healthy but empty. Check whether the app has the OTLP endpoint set and whether that endpoint is reachable from the app pod.2. How do you look up a trace by trace ID in Tempo and what can it tell you?
Show answer
In Grafana: go to Explore, select the Tempo data source, enter the trace ID. Tempo returns the full trace: all spans across all services, with timing, status, and attributes. Each span shows: service name, operation, duration, status code, and parent span. This reveals: where latency is spent, which service errored, fan-out patterns, and gaps between spans (network/queue time).L2 (2 questions)¶
1. When troubleshooting missing traces in Tempo, what is the correct order of checks from application to backend?
Show answer
1. Verify the application has OTel SDK configured and is creating spans.2. Check OTEL_EXPORTER_OTLP_ENDPOINT points to the correct collector or Tempo host:port.
3. Verify network reachability from the app pod to the endpoint.
4. Check the OTel Collector logs for export errors (if using a collector).
5. Check Tempo pod health and logs.
6. Verify the Grafana Tempo data source URL is correct (typically http://tempo:3200).
2. What is the difference between head-based and tail-based trace sampling?