Prometheus rate functions considered unreliable
With the right (unlucky) choice of time interval, some graphs based on the Prometheus rate() and irate() functions flatline to zero.
It is known problem.
One member of the Prometheus community, Alin Sînpălean, has extensively documented it in this bug report:
- https://github.com/prometheus/prometheus/issues/3746 "rate()/increase() extrapolation considered harmful"
And attempted to provide a fix in this pull request:
- https://github.com/prometheus/prometheus/pull/3760 "Implement xrate/xincrease/xdelta functions, as per #3746 (closed)"
At least one of the original Prometheus authors argued this was not a bug but the intended behavior and refused to pull fixes. Alin Sînpălean ended up forking Prometheus and is now maintaining a fork at this location: https://github.com/free/prometheus/releases
The fork provides new, more reliable functions such as xrate() and xdelta() but is otherwise identical to Prometheus itself.
Migrated from T1653 (view on Phabricator)