Skip to content
This repository has been archived by the owner on Dec 6, 2024. It is now read-only.

Latest commit

 

History

History
49 lines (28 loc) · 2.19 KB

0010-cumulative-to-counter.md

File metadata and controls

49 lines (28 loc) · 2.19 KB

Warning

OTEPs have been moved to the Specification repository. This repository has been preserved for reference purposes. Please otherwise refer to the Specification.

Rename "Cumulative" to "Counter" in the metrics API

Prefer the name "Counter" as opposed to "Cumulative".

Motivation

Informally speaking, it seems that OpenTelemetry community members would prefer to call Cumulative metric instruments "Counters". During conversation (e.g., in the 8/21 working session), this has become clear.

Counter is a noun, like the other kinds Gauge and Measure. Cumulative is an adjective, so while "Cumulative instrument" makes sense, it describes a "Counter".

Explanation

This will eliminate the cognitive cost of mapping "cumulative" to "counter" when speaking about these APIs.

This is the term used for a cumulative metric instrument, for example, in Statsd and Prometheus.

However, we have identified important sub-cases of Counter that are treated as follows. Counters have an option:

  • True-cumulative Counter: By default, Add() arguments must be >= 0.
  • Bi-directional Counter: As an option, Add() arguments must be +/-0.

Gauges are sometimes used to monitoring non-descending quantities (e.g., cpu usage), as an option:

  • Bi-directional Gauge: By default, Set() arguments may by +/- 0.
  • Uni-directional Gauge: As an option, Set() arguments must change by >= 0.

Uni-directional Gauge instruments are typically used in metric Observer callbacks where the observed value is cumulative.

Trade-offs and mitigations

Other ways to describe the distinction between true-cumulative and bi-directional Counters are:

  • Additive (vs. Cumulative)
  • GaugeDelta (vs. Gauge)

It is possible that reducing all of these cases into the broad term "Counter" creates more confusion than it addresses.

Internal details

Simply replace every "Cumulative" with "Counter", then edit for grammar.

Prior art and alternatives

In a survey of existing metrics libraries, Counter is far more common.