Skip to content

extrapolated_delta()

Calculate the extrapolated change from a counter aggregate

Since 1.3.0

Calculate the change in a counter during the time period specified by the bounds in the counter aggregate. The bounds must be specified for the extrapolated_delta 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.

Extrapolate the change in a counter over every 15-minute interval.

SELECT
id,
bucket,
extrapolated_delta(
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_delta(
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_deltaDOUBLE PRECISIONThe extrapolated change in the counter over the time period of the counter aggregate.