aggregate.rate() function

The aggregate.rate() function is experimental and subject to change at any time. By using this function, you accept the risks of experimental functions.

The aggregate.rate() function calculates the rate of change per windows of time.

*Function type: Transformation*

  1. import "experimental/aggregate"
  2. aggregate.rate(
  3. every: 1m,
  4. groupColumns: ["column1", "column2"],
  5. unit: 1s
  6. )

Parameters

every

Duration of time windows.

*Data type: Duration*

groupColumns

List of columns to group by. Defaults to [].

*Data type: Array of strings*

unit

The time duration to use when calculating the rate. Defaults to 1s.

*Data type: Duration*

Examples

  1. import "experimental/aggregate"
  2. from(bucket: "example-bucket")
  3. |> range(start: -1h)
  4. |> aggregate.rate(every: 5m, unit: 1m)

Function definition

  1. package aggregate
  2. import "experimental"
  3. rate = (tables=<-, every, groupColumns=[], unit=1s) =>
  4. tables
  5. |> derivative(nonNegative:true, unit:unit)
  6. |> aggregateWindow(every: every, fn : (tables=<-, column) =>
  7. tables
  8. |> mean(column: column)
  9. |> group(columns: groupColumns)
  10. |> experimental.group(columns: ["_start", "_stop"], mode:"extend")
  11. |> sum()
  12. )

Used functions:
aggregateWindow()
derivative()
experimental.group()
group()
mean()
sum()

Related articles