Berserk Docs
Aggregate FunctionsMetrics

rate

Computes the per-second rate of change for a counter metric, handling counter resets.

Takes a value column and a timestamp column. An optional third argument specifies the rate duration (default: 1s). (bzrk extension)

rate is itself an aggregate: use it directly as a summarize/make-series output — never nested inside another aggregate such as avg(...) or sum(...). To combine across series, aggregate the per-series result in a second summarize.

Syntax

rate(value, timestamp)

Parameters

Prop

Type

Returns: real

Syntax

rate(value, timestamp, per_duration)

Parameters

Prop

Type

Returns: real

Examples

Example 1

datatable(ts:datetime, counter_value:real)[
  datetime(2024-01-01), 10.0,
  datetime(2024-01-02), 20.0,
  datetime(2024-01-03), 30.0
]
| summarize rate(counter_value, ts)
rate_counter_value (real)
0.00011574074074074075

Example 2

datatable(ts:datetime, counter_value:real)[
  datetime(2024-01-01), 10.0,
  datetime(2024-01-02), 20.0,
  datetime(2024-01-03), 30.0
]
| summarize rate(counter_value, ts) by bin(ts, 1d)
ts (datetime)rate_counter_value (real)
2024-01-01T00:00:00Z0.0
2024-01-02T00:00:00Z0.0
2024-01-03T00:00:00Z0.0

On this page