Prompt
What should I use for OpenTelemetry trace storage
Latest observation
For OpenTelemetry, the “right” trace storage depends mostly on your scale, retention needs, and whether you want a managed or self-hosted setup. OpenTelemetry itself doesn’t store traces; it exports them to a backend.
Good options
1. Grafana Tempo
Best if you want a cost-effective, scalable tracing backend.
- Designed specifically for traces
- Cheap to run compared to full indexing systems
- Integrates well with Grafana, Prometheus, Loki
- Good choice for Kubernetes / cloud-native environments
Use this if: you want long-term trace storage at scale and already use Grafana.
2. Jaeger
Best for simpler deployments and classic distributed tracing workflows.
- Very common and widely supported
- Good UI and tracing features
- Can use different storage backends
- Easier for smaller teams to adopt
Use this if: you want something familiar and straightforward, especially for smaller or medium setups.
3. Elastic Observability
Best if you already use Elasticsearch.
- Powerful search and correlation
- Unified logs/metrics/traces
- Good if you need advanced querying across observability data
Use this if: your org is already standardized on Elastic.
4. Commercial managed backends
Examples:
- Honeycomb
- Datadog
- New Relic
- Lightstep
- Sentry (for some trace use cases)
Use this if: you want low operational overhead and strong UI/analytics.
5. Cloud-provider tracing
Examples:
- AWS X-Ray
- Google Cloud Trace
- Azure Monitor / Application Insights
Use this if: you’re heavily committed to a single cloud and want native integration.
My practical recommendation
- Small/simple setup: Jaeger
- Best open-source scalable choice: Grafana Tempo
- Already on Elasticsearch: Elastic
- Want no ops: a managed SaaS backend
Important note
If you’re only asking about temporary storage or local dev, you can also use the OpenTelemetry Collector with an exporter to stdout/logs, but that’s not suitable for real trace retention.
If you want, I can recommend a backend based on your environment:
- Kubernetes or VMs?
- Cloud provider?
- Expected trace volume?
- Open source vs managed?