Skip to content

slope()

Calculate the slope from a gauge aggregate

Early access 1.6.0

Calculate the slope of the linear least-squares fit for a gauge aggregate. The dependent variable is the gauge value, and the independent variable is time. Time is always in seconds, so the slope estimates the per-second rate of change. This gives a result similar to rate, but it can more accurately reflect the usual gauge behavior in the presence of infrequent, abnormally large changes.

Calculate the gauge slope per id and per 15-minute interval.

SELECT
id,
bucket,
slope(summary)
FROM (
SELECT
id,
time_bucket('15 min'::interval, ts) AS bucket,
gauge_agg(ts, val) AS summary
FROM foo
GROUP BY id, time_bucket('15 min'::interval, ts)
) t

The syntax is:

slope(
summary GaugeSummary
) RETURNS DOUBLE PRECISION
NameTypeDefaultRequiredDescription
summaryGaugeSummary-A gauge aggregate created using gauge_agg
ColumnTypeDescription
slopeDOUBLE PRECISIONThe slope of the linear least-squares fit