Grafana Tempo
Grafana Labs' open-source tracing backend that stores traces in object storage and indexes only trace IDs, trading flexibility for low cost at scale.
Last updated
What it is
Grafana Tempo is an open-source, high-scale distributed tracing backend built by Grafana Labs, first announced in 2020. Its defining design decision is to skip a traditional trace index almost entirely: rather than building expensive secondary indexes over span attributes (as Elasticsearch- or Cassandra-backed tracing systems do), Tempo writes trace data directly into object storage (Amazon S3, Google Cloud Storage, Azure Blob Storage, or on-prem equivalents like MinIO) and relies on a lightweight trace-ID index plus bloom filters to locate traces quickly by ID.
The tradeoff is deliberate: because Tempo’s only real dependency is object storage, it’s dramatically cheaper to operate at high trace volumes than index-heavy alternatives, but ad hoc queries across arbitrary span attributes depend on integration with metrics generated from spans (via Tempo’s metrics-generator, feeding into Prometheus/Mimir) or on TraceQL, Tempo’s PromQL-like query language for structured trace search, rather than on the trace store’s own secondary indexes. It’s designed to pair tightly with Grafana for visualization and with the rest of the Grafana LGTM stack (Loki for logs, Mimir for metrics).
Why teams choose it
- Very low storage cost at scale. Because there’s no expensive index to maintain, storing and retaining large volumes of trace data is substantially cheaper than Elasticsearch- or Cassandra-backed alternatives like Jaeger.
- Minimal operational surface. The only hard dependency is object storage, which most teams already operate reliably, versus running and tuning a separate search or wide-column database just for traces.
- TraceQL for structured queries. Tempo’s query language lets teams search traces by attributes, duration, and structure without needing a full-text index, closing much of the query-flexibility gap with index-based tracers.
- Best used within the Grafana stack. Tempo’s UI is Grafana itself (via a data source), and features like exemplars and trace-to-metrics/trace-to-logs correlation are strongest when paired with Mimir/Loki — teams not otherwise invested in Grafana get less of the differentiated value.
Pricing model
Tempo is free, open-source software (AGPLv3) that you self-host, with cost limited to the object storage and compute you run it on. Grafana Labs also offers it as a fully managed service within Grafana Cloud, priced on a usage basis (typically ingested trace data volume), and as part of Grafana Enterprise Traces for enterprises wanting commercial support and additional features on a self-managed deployment.
Alternatives
Jaeger is the main open-source alternative, offering more flexible ad hoc querying at the cost of running a heavier index-backed storage layer. Zipkin remains a simpler, older open-source option for smaller-scale needs. For teams that want tracing without operating any backend at all, managed platforms like Honeycomb, Datadog, or AWS X-Ray trade the cost savings of self-hosting for a fully managed experience.