extrapolated_delta()
The change in the counter during the time period specified by the bounds in the CounterSummary. To calculate the extrapolated delta, any counter resets are accounted for and the observed values are extrapolated to the bounds using the method specified, then the values are subtracted to compute the delta.
The bounds must be specified for the extrapolated_delta function to work, the bounds can be provided in the counter_agg call, or by using the with_bounds utility function to set the bounds.
2. extrapolated_delta(
4. summary CounterSummary,
6. method TEXT
8. ) RETURNS DOUBLE PRECISION
For more information about counter aggregation functions, see the hyperfunctions documentation.
Required arguments
| Name | Type | Description |
|---|---|---|
| summary | CounterSummary | The input CounterSummary from a counter_agg call |
| method | TEXT | The extrapolation method to use. Not case-sensitive. |
Currently, the only allowed value of method is prometheus, as we have only implemented extrapolation following the Prometheus extrapolation protocol.
Returns
| Name | Type | Description |
|---|---|---|
| extrapolated_delta | DOUBLE PRECISION | The delta computed from the CounterSummary |
Sample usage
2. SELECT
4. id,
6. bucket,
8. extrapolated_delta(
10. with_bounds(
12. summary,
14. time_bucket_range('15 min'::interval, bucket)
16. )
18. )
20. FROM (
22. SELECT
24. id,
26. time_bucket('15 min'::interval, ts) AS bucket,
28. counter_agg(ts, val) AS summary
30. FROM foo
32. GROUP BY id, time_bucket('15 min'::interval, ts)
34. ) t
