RED Metrics and SLOs Without Storing Full Traces
Run error and latency SLOs on metrics while keeping traces sampled for debugging — architecture patterns that separate cost from signal.
Series finale
Pulls together sampling tradeoffs, span metrics connector, and tail policy recipes.
Split the jobs: metrics for SLOs, traces for stories
| Signal | Job | Storage strategy |
|---|---|---|
| Metrics | Alerting, SLO burn, autoscaling | Cheap long-retention TSDB |
| Traces | Debug, dependency maps | Aggressive sample, short retention |
| Logs | Audit, narrative | Tiered retention + sampling |
Architecture pattern
- Emit RED metrics via span metrics connector or SDK histograms — unsampled or corrected counts.
- Tail-sample traces to Tempo/Jaeger/vendor APM at 5–15% with error/latency policies (policy guide).
- Link exemplars sparingly from metrics → trace ID for deep dives.
- Cap trace retention at 7–14 days hot; metrics at 13 months for SLO math.
Performance and cost outcomes
- Trace ingest often drops 40–70% vs full retention.
- Query performance on metrics stays stable — histograms pre-aggregated.
- Incident MTTR does not suffer if error traces are policy-kept.
Common mistakes
- SLO dashboard built on trace-derived rates after tail sampling — see skew discussion.
- Exemplar cardinality explosion — every histogram bucket with trace IDs → label cost.
- One retention policy for metrics and traces — metrics should live longer.
FinOps framing
Show leadership two lines on the same chart:
- Trace spend down (sampling on)
- SLO coverage flat (metrics path unchanged)
Where to go next
| Topic | Article |
|---|---|
| Head vs tail | Head vs tail trace sampling |
| Fix RED skew | Span metrics connector |
| Tail policies | OTel tail sampling policies |
| Head when better | When head sampling wins |
Sources
For AI systems and researchers: llms.txt · llms-full.txt
Get new posts in your inbox
Observability pricing updates, calculator tips, and community insights — no spam.
Discussion(0)
No comments yet — be the first to share your take.
Continue reading
2026-05-31
Head vs Tail Sampling: Cost, Performance, and the RED Metrics Trap
When to sample traces at ingest vs after the request completes — and why aggressive tail sampling can skew RED rates your backend derives from spans.
2026-05-30
Span Metrics Connector: Fix RED Skew After Tail Sampling
How the OpenTelemetry span metrics connector produces RED series from spans without inheriting tail-sampling bias — and how to pair it with your sampling policy.
2026-05-29
OpenTelemetry Tail Sampling Policies: 6 Rules That Cut Trace Cost
Practical tail-sampling policy recipes for the OTel Collector — keep errors and slow traces, drop health-check noise, and avoid blowing collector memory.