Skip to content

extrapolated_rate()

Calculate the extrapolated rate of change from a counter aggregate

Since 1.3.0

Calculate the rate of change of a counter during the time period specified by the bounds in the counter aggregate. The bounds must be specified for the extrapolated_rate function to work. You can provide them as part of the original counter_agg call, or by using the with_bounds function on an existing counter aggregate.

SELECT
id,
bucket,
extrapolated_rate(
with_bounds(
summary,
toolkit_experimental.time_bucket_range('15 min'::interval, bucket)
),'prometheus'
)
FROM (
SELECT
id,
time_bucket('15 min'::interval, ts) AS bucket,
counter_agg(ts, val) AS summary
FROM foo
GROUP BY id, time_bucket('15 min'::interval, ts)
) t;

The syntax is:

extrapolated_rate(
summary CounterSummary,
method TEXT
) RETURNS DOUBLE PRECISION
NameTypeDefaultRequiredDescription
summaryCounterSummary-A counter aggregate created using counter_agg
methodTEXT-The extrapolation method to use. Not case-sensitive. The only allowed value is prometheus, for the Prometheus extrapolation protocol.
ColumnTypeDescription
extrapolated_rateDOUBLE PRECISIONThe extrapolated rate of change of the counter over the timer period of the counter aggregate.