Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Lx9FNLG2CqeBbVGGd9bFsP
17 lines
913 B
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
|