Grafana Tempo is an open source distributed tracing backend written in Go that prioritizes high volume ingestion with minimal operational dependencies. The project is designed to be cost-efficient by requiring only object storage to operate, making it accessible for organizations of any scale. Tempo integrates deeply with Grafana, Prometheus, and Loki, positioning itself as a core component within the Grafana observability ecosystem.
The repository accepts trace data in multiple formats including Jaeger, Zipkin, Kafka, and OpenTelemetry, providing broad compatibility across instrumentation standards. Incoming trace batches are buffered and written to cloud storage backends such as Azure, GCS, and S3, or to local disk for simpler deployments. This architecture enables Tempo to handle high-volume tracing workloads without requiring expensive specialized infrastructure.
Tempo implements TraceQL, a traces-first query language inspired by LogQL and PromQL, enabling both targeted queries and rich UI-driven trace analysis. An experimental TraceQL metrics feature allows users to create metrics from traces by applying functions to query results, supporting ad hoc aggregation across any dimension present in trace data. The Traces Drilldown UI, introduced as part of the Grafana Explore suite, provides a queryless interface for analyzing tracing data with point-and-click interactions, RED metrics overviews, and automated trace comparison capabilities.
The codebase includes utility components such as tempo-vulture, a consistency checking tool that writes and queries traces to verify system integrity, and tempo-cli, which provides operational utilities for Tempo administration. The project is distributed under AGPL-3.0-only with Apache-2.0 exceptions documented in LICENSING.md. Deployment examples are provided for Docker Compose, Helm, and Jsonnet, supporting various operational environments. The community maintains active support channels including a Grafana forum, Slack channel, and GitHub issue tracking for bugs and feature requests.