docs-v2/content/flux/v0/stdlib/influxdata/influxdb/monitor/statechangesonly.md

2.7 KiB

title description menu weight flux/v0/tags introduced
monitor.stateChangesOnly() function `monitor.stateChangesOnly()` takes a stream of tables that contains a _level column and returns a stream of tables grouped by `_level` where each record represents a state change.
flux_v0_ref
name parent identifier
monitor.stateChangesOnly influxdata/influxdb/monitor influxdata/influxdb/monitor/stateChangesOnly
301
transformations
0.65.0

monitor.stateChangesOnly() takes a stream of tables that contains a _level column and returns a stream of tables grouped by _level where each record represents a state change.

Function type signature
(<-tables: stream[{A with _level: B}]) => stream[C] where B: Equatable, C: Record

{{% caption %}} For more information, see Function type signatures. {{% /caption %}}

Parameters

tables

Input data. Default is piped-forward data (<-).

Examples

Return records representing state changes

import "array"
import "influxdata/influxdb/monitor"

data =
    array.from(
        rows: [
            {_time: 2021-01-01T00:00:00Z, _level: "ok"},
            {_time: 2021-01-01T00:01:00Z, _level: "ok"},
            {_time: 2021-01-01T00:02:00Z, _level: "warn"},
            {_time: 2021-01-01T00:03:00Z, _level: "crit"},
        ],
    )

data
    |> monitor.stateChangesOnly()

{{< expand-wrapper >}} {{% expand "View example input and output" %}}

Input data

_time _level
2021-01-01T00:00:00Z ok
2021-01-01T00:01:00Z ok
2021-01-01T00:02:00Z warn
2021-01-01T00:03:00Z crit

Output data

_time *_level
2021-01-01T00:03:00Z crit
_time *_level
2021-01-01T00:02:00Z warn

{{% /expand %}} {{< /expand-wrapper >}}