communication
observability
ai_generated
true
Datadog custom metric bill spike — tag cardinality explosion
ID: communication/datadog-custom-metric-cardinality-explosion
82%Fix Rate
87%Confidence
4Evidence
2023-01-01First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| any | active | — | — | — |
Root Cause
High-cardinality tags (user_id) on custom metrics create millions of unique time series.
genericWorkarounds
-
92% success Audit tags for cardinality: remove unbounded tags like user_id
Replace user_id with user_tier in Metrics Summary
-
85% success Use Metrics without Limits to control indexing
Configure tag allowlist: only index low-cardinality tags
Sources: https://docs.datadoghq.com/metrics/metrics-without-limits/
Dead Ends
Common approaches that don't work:
-
Just remove all tags from metrics
80% fail
Removing all tags makes metrics ungroupable and useless for debugging
-
Switch to logs for everything instead of metrics
70% fail
Log ingestion at high volume is often more expensive than metrics