Skip to content

Optimizing metrics

The Optimize Metrics page does for metrics what Optimize Logs does for logs. It lists every metric Obics discovered, how much cardinality (unique series) each one has, what it costs, and whether it’s worth keeping.

The Optimize Metrics page, ranking metrics by cost with source and cardinality columns

Same five tabs as the logs page: Active, Fix Ready, Fix Failed (only when present), Ignored, Resolved, each with a count and, where relevant, a savings badge. On the Active tab, metrics are sorted by verdict: DROP first, then REVIEW, then KEEP.

ColumnMeaning
IDDisplay ID of the recommendation.
ΔRank change versus the previous scan.
Metric nameThe metric (for log-based metrics, the source line appears beneath it). A spike badge flags cardinality well above baseline.
SourceWhere the metric originates: agent, logs, otel_sdk, or custom.
Typegauge / count / rate / distribution, etc.
DashboardsHow many dashboards use it.
MonitorsHow many monitors/alerts use it.
Indexed CMCardinality, the count vendors like Datadog bill on.
Cost/moMonthly cost (cardinality × your per-metric price). Default sort.
First seen / Last seenRelative dates.

The Dashboards and Monitors columns are important: a metric used by zero dashboards and zero monitors is a prime candidate to drop, because nothing depends on it.

Each metric gets a severity verdict:

VerdictMeaning
DROP (red)Strong candidate to remove or heavily reduce.
REVIEW (amber)Worth a look; reducible but used somewhere.
KEEP (green)Leave it alone.

Where optimizable, a metric carries ranked suggestions whose underlying patterns are:

PatternWhat it proposes
UnusedNothing references this metric; stop emitting it. Savings up to 100%.
EquivalentExistsA redundant metric duplicating another signal (common with agent/OTel built-ins); drop all but one.
ExcludeTagsRemove a high-cardinality label that no dashboard or monitor uses.
BinTagsBucket a high-cardinality label into fewer values instead of dropping it.

As with logs, each suggestion shows a savings %, a Visibility Loss Risk badge, and a Side Effects badge when a vendor-side change is also needed.

Click a metric name to open its detail.

A metric detail popup showing the DROP verdict, tag cardinality breakdown and an Unused suggestion

Highlights:

  • A badge grid: Source, Cardinality, Dashboards, Monitors, Cost/mo, and the DROP / REVIEW / KEEP verdict.
  • Attributes (labelled Tags for Datadog): the cardinality breakdown by label, sorted so the high-cardinality culprits float to the top, each with sample values and a +N more count. This is how you see which label is blowing up a metric’s series count.
  • Metric in Code: the source location that emits the metric, when Obics can find it.
  • Optimization Opportunities and the ranked suggestion cards, each with Create PR / Prepare Fix and preview actions.

The same set as logs: Ignore / Unignore, Quick Fix (apply the top suggestion), Create PR, Resolve, and bulk actions on selected rows. Empty and in-progress states show a Queue Metrics Scan button and auto-refresh while a scan runs.

Next: Applying fixes and creating pull requests.