Files
nmon/internal/rollup/doc.go

17 lines
913 B
Go

// Package rollup turns raw counters and gauges in the hot store into the
// long-store series the spec calls rollups (docs/spec/spec.md, "Retention and
// downsampling").
//
// Every five minutes it computes, per interface and direction, the average
// rate over the window from the raw counter samples (wrap and reset aware; a
// counter is never averaged) and writes it to long as the gauge
// nmon_if_rate_bps_5m. Every hour it writes the mean and the maximum of the
// twelve five-minute rates. Profile gauges get a five-minute average and an
// hourly average, maximum and minimum of those averages.
//
// Every write carries a version in the v label. A window is recorded done in
// rollup_windows only after the long store acknowledged the write; a crash in
// between leaves a pending row, so the next run writes version+1. Readers take
// the highest v per timestamp (see LatestVersion).
package rollup