Skip to main content
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.

Arguments

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.

Returns

DOUBLE PRECISION: The extrapolated change in the counter over the time period of the counter aggregate.

Samples

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;