grafana/tempo

Grafana Tempo is a high volume, minimal dependency distributed tracing backend.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 37 minutes ago
Added to GitGenius on July 25th, 2022
Created on January 24th, 2020
Open Issues & Pull Requests: 168 (+1)
Number of forks: 745
Total Stargazers: 5,452 (+1)
Total Subscribers: 172 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 35.8 hours
Mean response time: 123.6 days
90th percentile: 556.2 days
Tracked items: 654

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 94% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "type/docs" is answered fastest, typically in about 2 days, while "component/metrics-generator" waits about 8 months. Only 7% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 87
New in 7 days: 2
Closed in 7 days: 3
Avg open age: 502 days
Stale 30+ days: 71
Stale 90+ days: 43

Recent activity

Opened in 7 days: 1
Closed in 7 days: 3
Comments in 7 days: 7
Events in 7 days: 18

Top labels

  • stale (303)
  • keepalive (192)
  • type/docs (121)
  • type/bug (88)
  • enhancement (76)
  • traceql (65)
  • good first issue (61)
  • Priority Low (37)

Detailed Description

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.