GitHub
github.com › prometheus › prometheus › issues › 3746
rate()/increase() extrapolation considered harmful · Issue #3746 · prometheus/prometheus
January 26, 2018 - Second, there is another workaround that only works for increase(foo[10s]), namely using foo - foo offset 10s. But there are a couple of problems with this approach: it doesn't handle counter resets and it's twice as slow because now Prometheus ...
Author: prometheus
Google Groups
groups.google.com › g › prometheus-users › c › _aK7im7elUs
Why does increase() return fractional results for integer-valued metrics?
Prometheus extrapolates `increase()` results - see https://github.com/prometheus/prometheus/issues/3746 for more details. There is an implementation, which returns exact results from increase() without extrapolation - https://victoriametrics.github.io/MetricsQL.html .
GitHub
github.com › prometheus › prometheus › pull › 1245
promql: Limit extrapolation of delta/rate/increase by brian-brazil · Pull Request #1245 · prometheus/prometheus
Conclusion: Let's have non-extrapolating functions (or let's say at least a delta, which might be justified just because of the huge savings in computational cost – a non-extrapolating delta is the only function where you only have to look at the first and last sample in the range) for the special case with correctly aligned start and end values. About the explanations: The naive user (presumably most of them) wants to hear "Because of the sampled nature of the Prometheus time series data, we have to extrapolate the calculated value the best we can.
Author: prometheus
Google Groups
groups.google.com › g › prometheus-users › c › qmutsg1c55g
Increase without extrapolation
We were able to prove this by manipulating the data to make sure the time range boundary was far enough away from the first and last sample to prevent the extrapolation code from running. So we are considering options to export the data from Prometheus and replicate the increase function but without the extrapolation.
GitHub
github.com › prometheus › prometheus › issues › 3806
Proposal for improving rate/increase · Issue #3806 · prometheus/prometheus
February 6, 2018 - On-the-fly query_range rate/increase calculations with each increase only included in one rate/increase point and without data loss (which is what Grafana provides support for). Currently there are 2 issues that prevent this from working: (a) one needs to be aware of the scrape interval in order to bump the range by that much; and (b) neither Grafana nor Prometheus support the kind of time arithmetic necessary to query rate(foo[1h+1m]).
Author: prometheus
New Releases
newreleases.io › project › github › prometheus › prometheus › release › v3.14.0
prometheus/prometheus v3.14.0 on GitHub
1 month ago - [FEATURE] PromQL: Allow rate() and increase() to use start timestamps as an alternative for rate extrapolation. Hidden behind the use-start-timestamps feature flag. #18619 · [FEATURE] TSDB: Add experimental support for encoding start timestamps ...
Mail Archive
mail-archive.com › search
subject:"Re\: \[prometheus\-users\] Why does increase\(\) return fractional results for integer\-valued metrics\?"
Regards > > John > > On Mon, 22 ... is an implementation, which returns exact results from increase() > > without extrapolation - https://victoriametrics.github.io/MetricsQL.html ....
New Releases
newreleases.io › project › github › prometheus › prometheus › release › v3.14.0-rc.0
prometheus/prometheus v3.14.0-rc.0 on GitHub
August 11, 2026 - [FEATURE] PromQL: Allow rate() and increase() to use start timestamps as an alternative for rate extrapolation. Hidden behind the use-start-timestamps feature flag. #18619 · [FEATURE] TSDB: Add experimental support for encoding start timestamps ...
GitLab
gitlab.cncf.ci › prometheus › prometheus › commit › 43b5d8ead244ad7177131fc7c426f60258811018
promql: Limit extrapolation of delta/rate/increase (43b5d8ea) · Commits · Prometheus / prometheus
November 28, 2015 - If the first (last) sample in the range is more than 1.1*interval distant from the beginning (end) of the range, it is considered the first (last) sample of the series as a whole, and extrapolation is limited to half the interval (rather than ...
GitHub
raw.githubusercontent.com › prometheus › prometheus › main › CHANGELOG.md
https://raw.githubusercontent.com/prometheus/prome...
#19089 - [FEATURE] PromQL: Allow `rate()` and `increase()` to use start timestamps as an alternative for rate extrapolation. Hidden behind the `use-start-timestamps` feature flag. #18619 - [FEATURE] TSDB: Add experimental support for encoding start timestamps in histograms and float histograms.
DoiT
doit.com › home › blog › making peace with prometheus rate()
Making peace with Prometheus rate() | DoiT
February 17, 2023 - To get the increase over 60 seconds, we ask P8s to calculate one for 75 seconds (with that extra sample that usually falls between the buckets). Of course, Prometheus will extrapolate it to 75 seconds but we de-extrapolate it manually back to 60 and now our charts are both precise and provide us with the data one whole-minute boundaries as well.
Google Groups
groups.google.com › g › prometheus-users › c › jqEt-FkJo0o
overhead of rate vs increase
In terms of samples fetched from the DB which is a cost limiting factor in our set up, what is the overhead of rate() compared to increase(). Based on my reading so far, rate() requires all data points within the time range interval thus it will fetch all data points from storage. On the other hand, the increase() function would fetch the first and last data point + penultimate data points for interpolation/extrapolation.
