// the find
grafana/tempo
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.