On this page
Overview
Grafana Tempo is a backend for storing and querying distributed traces at high volume. Its durable-storage model centers on object stores such as S3, GCS, and Azure Blob, while trace data arriving from OpenTelemetry-compatible pipelines can be investigated through TraceQL and Grafana workflows.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Keep the tracing backend dependency-light by centering durable storage on object storage
Tempo is designed around object storage for durable trace data and is described by the project as a cost-efficient, minimal-dependency distributed tracing backend.
Sources: [1]
Search trace attributes and structure with TraceQL and aggregate them into metrics
TraceQL is a traces-first query language for filtering spans and traces by their data and structure. TraceQL metrics applies aggregations to query results to derive ad hoc metrics from existing trace data.
Integrate with OpenTelemetry, Jaeger, Zipkin, and surrounding observability systems
Tempo builds its receiver, wire-format, and storage work around OpenTelemetry standards and also supports Jaeger, Zipkin, and Kafka integration paths. It is commonly paired with Grafana, Prometheus, and Loki.
Sources: [1]
Best fit
Fits teams tracing latency, errors, and request paths across microservices
It is useful when engineers need to follow a request across service boundaries and isolate latency or failure points. Grafana Traces Drilldown can provide an exploratory workflow without requiring every investigation to start from handwritten TraceQL.
Sources: [1]
Before adoption
Version 3.1.0 writes new blocks as vParquet5 by default
Tempo 3.1.0 makes vParquet5 the default for newly written blocks while continuing to read existing vParquet4 and vParquet3 blocks. Review storage-format and component compatibility during upgrades.
Sources: [2]
Official sources
- [1]Grafana Tempo v3.1.0 README(2026-10-04)
- [2]Grafana Tempo v3.1.0 release(2026-10-04)
- [3]Grafana Tempo v3.1.0 go.mod(2026-10-04)
- [4]Grafana Tempo v3.1.0 licensing(2026-10-04)
Supplemental curator note
Tempo focuses on trace storage and querying. Production deployments still need explicit object-storage, retention, tenancy, ingestion, and query-capacity design across the wider observability stack.
Try it in 3 steps
- 1
Fetch the Grafana Tempo v3.1.0 source
Pin the checkout to the stable release tag. Source builds use Go 1.27.1 as declared by go.mod.
git clone --depth 1 --branch v3.1.0 https://github.com/grafana/tempo.git tempo-3.1.0 - 2
Build a local Tempo binary
Build inside the repository without installing system-wide. The first build downloads Go module dependencies.
cd tempo-3.1.0 && mkdir -p bin && go build -ldflags '-X main.Version=3.1.0' -o bin/tempo ./cmd/tempo - 3
Check the version without starting a server
Exercise only the version path without loading a production configuration or contacting object storage. Design storage, retention, and tenancy separately before deployment.
cd tempo-3.1.0 && ./bin/tempo -version
Growth
Growth trends · Last 30 days
5,507 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 86
- Open PRs
- 114
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- distributed-tracing
- grafana
- tempo
- traces
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- SigNoz32,269 Stars
2 shared tag(s) · 1 shared category(s)
correlate logs, metrics, and traces in one OpenTelemetry-native workspace
TypeScript - Kibana21,304 Stars
2 shared tag(s) · 1 shared category(s)
the interface for querying, visualizing, and operating Elasticsearch data
TypeScript - OpenSearch13,804 Stars
2 shared tag(s) · 1 shared category(s)
Support distributed full-text, analytics, observability, and vector search
Java - Keep12,374 Stars
2 shared tag(s) · 1 shared category(s)
centralize monitoring alerts and connect correlation, enrichment, and response workflows
Python - HyperDX9,927 Stars
2 shared tag(s) · 1 shared category(s)
connect logs, metrics, traces, and session replay on ClickHouse
TypeScript - openstatus9,163 Stars
2 shared tag(s) · 1 shared category(s)
manage monitoring, status pages, and incidents as code
TypeScript
Report incorrect information
Tell us if any listing information is incorrect or outdated.