Lexicon

Counter

A counter is a metric that only increases: requests served, errors thrown, bytes sent. How to read counters with rate and increase, and the classic errors.

Definition

A counter is a metric type for values that only accumulate: requests served, errors thrown, bytes transmitted, jobs completed. The stored value climbs continuously and resets to zero when a process restarts, which is why counters are almost never read raw.

What it means in observability

Counters answer how much and how fast for events. The raw cumulative total, 4,183,203 requests since startup, is rarely the interesting number; what teams actually watch is derived from it: requests per second, errors in the last five minutes, growth versus last week. Counters are the foundation of rate based alerting and of the traffic and error halves of the golden signals, which makes them the most queried metric type in most estates.

How it works in practice

Reading a counter means transforming it. Rate converts the cumulative series into per second change, increase yields the raw change over each interval, and normalization expresses change per second, minute, or hour regardless of bucket size. Temporality matters underneath: cumulative counters report running totals while delta counters report per interval changes, and the backend accounts for restarts so a process reset does not masquerade as negative traffic.

Where it gets hard

The classic errors are all reading errors. Plotting raw cumulative values produces an impressive staircase that says nothing. Averaging a counter makes no sense at all. Comparing rates computed over different windows quietly compares different things. And around restarts, naive arithmetic produces spikes or negative values unless reset detection handles the discontinuity.

Where Tsuga fits

Tsuga exposes rate, increase, and normalization as one click functions and shows each metric's type and temporality in the explorer, so counters get read the way counters work.

Related terms