The Metric Naming Convention That Survives

Most metric naming is haphazard. The convention that scales across teams and produces queryable names.

The pattern

The metric naming pattern is domain.subject.action.unit. Predictable so engineers can guess names, greppable so dashboards stay maintainable, units at the end so unit confusion stops being a regular bug.

Rules

Three rules keep names usable. Consistent separators, no obscure abbreviations, no boolean-named metrics. Each one prevents a failure mode that real codebases hit.

Labels vs metric names

Labels carry dimensions; metric names carry behaviours. High-cardinality labels belong in logs, not metrics, because every unique label combination is a separate time series.

Enforcement

Enforcement makes the convention real. Linting at PR time catches violations before merge; migration aliasing eases renames without breaking dashboards; quarterly audits surface drift before it accumulates.

Why this matters

Naming conventions compound across years. Guessable names produce productivity gain on every dashboard query; cross-team queries become possible; metric names outlive the teams and tools that created them.