Skip to content

Instantly share code, notes, and snippets.

@yaniveliash
yaniveliash / METRICS.md
Created April 23, 2022 06:16 — forked from fralalonde/METRICS.md
Metrics naming & standards

Metrics are a contract

An application's metrics names and types make up an implicit contract which consequences of ignoring can be serious.

Humans depend on Metrics

Metric are used by systems admins to configure monitoring systems. Good metric names accurately and consistently convey meaning of the associated metric data. Admins should not have to look at the application code to understand what each metric represents. The name of a metric is often the only documentation available. Critical human decisions may have to be quickly made based on metrics, in these situations, their names should be as helpful and trustable as possible.

Machines depend on Metrics

Dashboards and alerting systems entirely depend on the metrics applications provides them. Changing the identifiers or meaning of the metrics will break these downstream applications, negating the very reason to emit metrics in the first place :

  • Alarms that shouldn't have gone off will go off

Keybase proof

I hereby claim:

  • I am yaniveliash on github.
  • I am yan1v (https://keybase.io/yan1v) on keybase.
  • I have a public key whose fingerprint is C281 69FE DDE8 35B1 E903 B711 9BFF A707 5733 8634

To claim this, I am signing this object: