finds.dev← search

// the find

grafana/tempo

★ 5,362 · Go · AGPL-3.0 · updated Jul 2026

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

Tempo is a distributed tracing backend from Grafana Labs that stores traces in object storage (S3, GCS, Azure Blob) using Apache Parquet, making it much cheaper to run than Elasticsearch-backed alternatives like Jaeger. It's built for teams already in the Grafana stack who want traces without a separate expensive datastore. If you're not already using Grafana, you'll be fighting the integration story the whole way.

Object storage as the only hard dependency is genuinely clever — no Cassandra, no Elasticsearch, just a bucket. The Parquet v5 storage format enables columnar queries so TraceQL can scan billions of spans without reading full trace blobs. TraceQL metrics (generating Prometheus-style metrics from trace queries) is a useful feature that cuts down on instrumentation duplication. The tempo-vulture consistency checker is a good operational tool that most tracing backends don't ship.

The Grafana coupling is real — TraceQL is powerful but the query UI lives in Grafana, and the new Traces Drilldown app adds another dependency. Object storage economics invert at low volume: the compaction cycle (ingester → backend → compacted blocks) adds latency before traces are fully queryable, which is confusing when you first set it up. Multi-tenancy configuration is non-trivial and the per-tenant override system has had breaking config format changes across major versions. AGPL-3.0 license is a dealbreaker if you're building a commercial product that wraps or redistributes Tempo.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →