Grafana Tempo logo

Grafana Tempo

Scalable, cost-efficient tracing backend with seamless Grafana integration

Tempo provides high‑scale distributed tracing using only object storage, integrates tightly with Grafana, Prometheus, Loki, and supports Jaeger, Zipkin, OpenTelemetry formats.

Grafana Tempo banner

Overview

Overview

Grafana Tempo is a high‑volume tracing backend designed for teams that need to monitor complex, micro‑service architectures. It stores trace data exclusively in object storage such as S3, GCS, or Azure, keeping operational costs low while handling massive request rates.

Key capabilities

Tempo offers a queryless Traces Drilldown UI that lets users explore latency issues and errors with point‑and‑click interactions. The built‑in TraceQL language enables powerful, trace‑first queries and can generate ad‑hoc metrics from trace attributes. Compatibility with Jaeger, Zipkin, OpenCensus, OpenTelemetry, and Kafka ingestion formats ensures easy migration from existing tracing solutions.

Deployment

Deployments are flexible: Tempo can run via Docker Compose, Helm charts, or Jsonnet configurations, making Kubernetes installations straightforward. The system writes to Azure Blob, Google Cloud Storage, Amazon S3, or local disk, providing a minimal‑dependency, highly available tracing stack that integrates natively with Grafana, Prometheus, and Loki.

Highlights

Queryless Traces Drilldown UI for point‑and‑click analysis
TraceQL language for powerful trace queries and metric generation
Supports Jaeger, Zipkin, OpenTelemetry, and Kafka ingestion formats
Runs on object storage (S3, GCS, Azure) with minimal dependencies

Pros

  • High scalability with low storage cost
  • Native Grafana integration for unified observability
  • Broad compatibility with major tracing protocols
  • Flexible deployment via Docker, Helm, or Jsonnet

Considerations

  • Limited built‑in alerting; relies on external systems
  • TraceQL metrics feature is still experimental
  • Requires object storage configuration which may add complexity
  • AGPL‑3.0 license may affect commercial use

Managed products teams compare with

When teams consider Grafana Tempo, these hosted platforms usually appear on the same shortlist.

AWS X-Ray logo

AWS X-Ray

Trace requests through distributed and serverless apps on AWS.

Better Stack Tracing logo

Better Stack Tracing

Tracing correlated with logs and metrics for faster debugging.

Grafana Cloud Traces logo

Grafana Cloud Traces

Managed distributed tracing powered by Grafana Tempo.

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Large microservice environments needing cost‑effective tracing
  • Teams already using Grafana for monitoring
  • Organizations adopting OpenTelemetry standards
  • Deployments that can provision S3‑compatible storage

Not ideal when

  • Small projects with minimal tracing volume preferring lightweight local storage
  • Environments requiring GPL‑compatible licensing
  • Use cases needing built‑in alerting without external tools
  • Teams without access to object storage services

How teams use it

Identify latency bottlenecks in a Kubernetes microservice mesh

Engineers use the Traces Drilldown UI to pinpoint slow spans, reducing request latency by 30%.

Correlate error rates across services with RED metrics

Operations view Rate, Errors, Duration metrics in Grafana, enabling rapid detection of failing components.

Generate custom trace‑based metrics via TraceQL

Developers create ad‑hoc metrics from trace attributes, feeding them into Prometheus for alerting.

Migrate existing Jaeger traces to a cost‑effective backend

Legacy Jaeger data is ingested into Tempo, stored on S3, cutting storage costs by up to 80%.

Tech snapshot

Go96%
Jsonnet3%
Yacc1%
Makefile1%
HCL1%
JavaScript1%

Tags

grafanadistributed-tracing

Frequently asked questions

What storage backends does Tempo support?

Tempo can write traces to Azure Blob Storage, Google Cloud Storage, Amazon S3, or local disk.

Is Tempo compatible with existing tracing libraries?

Yes, it accepts Jaeger, Zipkin, OpenCensus, OpenTelemetry, and Kafka‑based trace formats.

How do I query traces without writing TraceQL?

The Traces Drilldown UI provides a queryless, point‑and‑click interface for exploring traces.

Can Tempo be deployed on Kubernetes?

Deployment options include Helm charts, Docker Compose, and Jsonnet, making Kubernetes installations straightforward.

What license is Tempo released under?

Tempo is released under the AGPL‑3.0 license.

Project at a glance

Active
Stars
5,008
Watchers
5,008
Forks
652
LicenseAGPL-3.0
Repo age5 years old
Last commit3 hours ago
Primary languageGo

Last synced 3 hours ago