> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify-poc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# rate()

> Calculate the rate of change from a counter aggregate

<Icon icon="tag" iconType="duotone" /> Since [1.3.0][toolkit-1.3.0]

Calculate the rate of change of the counter. This is the simple rate, equal to the last value minus the first value,
divided by the time elapsed, after accounting for resets.

## Samples

Get the rate of change per `id` over the entire recorded interval.

```sql theme={"dark"}
SELECT
    id,
    rate(summary)
FROM (
    SELECT
        id,
        counter_agg(ts, val) AS summary
    FROM foo
    GROUP BY id
) t
```

## Arguments

The syntax is:

```sql theme={"dark"}
rate(
    summary CounterSummary
) RETURNS DOUBLE PRECISION
```

| Name      | Type             | Default | Required | Description                                                    |
| --------- | ---------------- | ------- | -------- | -------------------------------------------------------------- |
| `summary` | `CounterSummary` | -       | ✔        | A counter aggregate created using [`counter_agg`][counter-agg] |

## Returns

| Column | Type             | Description                       |
| ------ | ---------------- | --------------------------------- |
| rate   | DOUBLE PRECISION | The rate of change of the counter |

[counter-agg]: /api-reference/timescaledb-toolkit/counters-and-gauges/counter_agg/counter_agg

[toolkit-1.3.0]: https://github.com/timescale/timescaledb-toolkit/releases/tag/1.3.0
