Grafana Tempo

active

by Grafana Labs · since 2020 · also known as Tempo

Object-storage-backed distributed tracing backend with TraceQL search and trace-derived metrics.

columnar / olaptime-seriesdatabase engineopen source (copyleft)mature

Overview

Grafana Tempo is a high-volume tracing backend that writes spans as Parquet blocks to object storage and keeps only minimal indexes, which makes storing 100% of traces affordable. It ingests OpenTelemetry, Jaeger and Zipkin formats, and TraceQL lets you search spans by attributes, structure and duration and compute metrics from traces. Tempo 3.0 (May 2026) completed a move to a new ingest architecture that replaces legacy ingesters, made TraceQL metrics generally available and removed deprecated 2.x components, so upgrades need a migration. It pairs naturally with Grafana, Mimir and Loki.

Strengths & trade-offs

Strengths

  • +Stores all traces cheaply on object storage with Parquet blocks
  • +TraceQL searches by span attributes and trace structure
  • +Generates RED metrics and service graphs from spans
  • +Accepts OpenTelemetry, Jaeger and Zipkin
  • +Tight Grafana integration for traces-to-logs and traces-to-metrics

Trade-offs

  • −3.0 brought breaking architecture and config changes
  • −Attribute search over long ranges can be slow without dedicated columns
  • −AGPL-3.0 licence
  • −Traces only; logs and metrics need other systems

Great for

  • +Distributed tracing for microservices
  • +Storing full-fidelity OpenTelemetry traces
  • +Deriving service-level metrics from spans

Think twice for

  • −Log or metric storage
  • −Ad-hoc SQL analytics
  • −Teams without Grafana in their stack

Capabilities

Native or official first-party support · 5 of 25 tracked

✓TTL / expiry
✓Columnar storage
✓Durable persistence
✓Compression
✓Streaming ingest
–Transactions
–Joins
–Secondary indexes
–Full-text search
–Vector search
–Geospatial
–JSON
–Change data capture
–Triggers
–Stored procedures
–Materialized views
–Pub/Sub
–In-memory
–Encryption at rest
–Role-based access
–Time travel
–Branching
–Online schema changes
–Offline sync
–Runs in WebAssembly

Scale & consistency

Comfortable data size
Massive · Multi-PB
Horizontal scaling
Native
Multi-region
No
Transactions
None
Consistency
Eventual
Schema
Schemaless
Architecture
Single node, Distributed, Shared storage
Query languages
TraceQL

Distributors, block-builders, live-stores and queriers scale independently over object storage.

Deployment

Self-hosted Vendor-managed cloud Serverless Embedded Edge Kubernetes operator

available on · AWS · Google Cloud · Azure

Ecosystem

compatible withS3
apis & protocolsOTLP, Jaeger, Zipkin, Tempo HTTP API

Alternatives to Grafana Tempo

Compare all→
SigNozColumnar / OLAP17.0

OpenTelemetry-native APM and observability platform storing logs, metrics and traces in ClickHouse.

grafana-tempo vs signoz →
OpenObserveSearch Engine20.4

Single-binary Rust observability platform storing logs, metrics and traces as Parquet on object storage.

grafana-tempo vs openobserve →
ClickHouseColumnar / OLAP69.8

Open-source columnar OLAP database known for very fast aggregations over billions of rows.

grafana-tempo vs clickhouse →
ElasticsearchSearch Engine75.1

Lucene-based distributed search and analytics engine for text, vectors, logs and metrics.

grafana-tempo vs elasticsearch →
GreptimeDBTime-Series15.1

Rust observability database that keeps metrics, logs and traces in one columnar engine on object storage.

grafana-tempo vs greptimedb →
Grafana PyroscopeTime-Series12.7

Continuous profiling database that stores CPU and memory profiles over time on object storage.

grafana-tempo vs grafana-pyroscope →

Grafana Tempo FAQ

What is Grafana Tempo?

Grafana Tempo is a columnar / OLAP database by Grafana Labs, first released in 2020. Grafana Tempo is a high-volume tracing backend that writes spans as Parquet blocks to object storage and keeps only minimal indexes, which makes storing 100% of traces affordable. It ingests OpenTelemetry, Jaeger and Zipkin formats, and TraceQL lets you search spans by attributes, structure and duration and compute metrics from traces. Tempo 3.0 (May 2026) completed a move to a new ingest architecture that replaces legacy ingesters, made TraceQL metrics generally available and removed deprecated 2.x components, so upgrades need a migration. It pairs naturally with Grafana, Mimir and Loki.

Is Grafana Tempo open source?

Yes. Grafana Tempo is open source. License: GNU AGPL v3.0.

Does Grafana Tempo support ACID transactions?

No. Grafana Tempo does not provide ACID transactions; its consistency model is eventual.

Does Grafana Tempo scale horizontally?

Grafana Tempo scales horizontally out of the box, with built-in sharding or partitioning. It is comfortable at massive scale (Multi-PB).

How can I run Grafana Tempo?

You can self-host it and use the vendor's managed cloud. Managed offerings include Grafana Cloud Traces. It is available on AWS, Google Cloud and Azure.

What is Grafana Tempo best for?

Grafana Tempo is a strong fit for distributed tracing for microservices, storing full-fidelity OpenTelemetry traces and deriving service-level metrics from spans. Think twice for log or metric storage.

What are the best alternatives to Grafana Tempo?

Common alternatives to Grafana Tempo include SigNoz, OpenObserve, ClickHouse, Elasticsearch and GreptimeDB. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

How popular is Grafana Tempo?

Grafana Tempo ranks #239 of 844 databases on the WhichDB Score (14.1/100), and #26 among columnar / OLAP databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.