2.7 KiB
2.7 KiB
title | description | menu | weight | flux/v0/tags | introduced | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
monitor.stateChanges() function | `monitor.stateChanges()` detects state changes in a stream of data with a `_level` column and outputs records that change from `fromLevel` to `toLevel`. |
|
301 |
|
0.42.0 |
monitor.stateChanges()
detects state changes in a stream of data with a _level
column
and outputs records that change from fromLevel
to toLevel
.
Function type signature
(<-tables: stream[{C with _level: D}], ?fromLevel: A, ?toLevel: B) => stream[E] where A: Equatable, B: Equatable, D: Equatable, E: Record
{{% caption %}} For more information, see Function type signatures. {{% /caption %}}
Parameters
fromLevel
Level to detect a change from. Default is "any"
.
toLevel
Level to detect a change to. Default is "any"
.
tables
Input data. Default is piped-forward data (<-
).
Examples
Detect when the state changes to critical
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.stateChanges(toLevel: "crit")
{{< 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 |
{{% /expand %}} {{< /expand-wrapper >}}