Grafana Tempo is a high-scale distributed tracing backend. It stores traces in object storage with no indexing cost — making it the cheapest tracing solution.
What Is Tempo?
Tempo is a distributed tracing backend by Grafana Labs. It only requires object storage (S3/GCS/MinIO) to operate — no Elasticsearch, no Cassandra.
Features:
- No indexing required
- S3/GCS/MinIO backend
- Native Grafana integration
- OpenTelemetry, Jaeger, Zipkin compatible
- TraceQL query language
Quick Start
docker run -p 3200:3200 -p 4317:4317 grafana/tempo:latest -config.file=/etc/tempo/tempo.yaml
HTTP API
# Get trace by ID
curl http://localhost:3200/api/traces/TRACE_ID
# Search traces
curl -G http://localhost:3200/api/search \
--data-urlencode "q={resource.service.name=\"my-api\" && status=error}" \
--data-urlencode "limit=20"
# TraceQL query
curl -G http://localhost:3200/api/search \
--data-urlencode "q={span.http.status_code >= 500}"
Send Traces (OTLP)
# OpenTelemetry collector sends to Tempo
# Configure OTLP exporter to localhost:4317
Use Cases
- Distributed tracing — track requests across services
- Cost reduction — cheaper than Jaeger with Elasticsearch
- Debugging — find slow or failing traces
- SLA monitoring — service latency tracking
- Grafana dashboards — trace-to-log-to-metric correlation
Need web data at scale? Check out my scraping tools on Apify or email spinov001@gmail.com for custom solutions.
Top comments (0)