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

Samples

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

Arguments

The syntax is:
slope(
    summary CounterSummary
) RETURNS DOUBLE PRECISION
NameTypeDefaultRequiredDescription
summaryGaugeSummary-A gauge aggregate created using gauge_agg

Returns

ColumnTypeDescription
slopeDOUBLE PRECISIONThe slope of the linear least-squares fit