Documentation

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.

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

For more information, see Function type signatures.

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")

View example input and output


Was this page helpful?

Thank you for your feedback!


New in InfluxDB 3.7

Key enhancements in InfluxDB 3.7 and the InfluxDB 3 Explorer 1.5.

See the Blog Post

InfluxDB 3.7 is now available for both Core and Enterprise, landing alongside version 1.5 of the InfluxDB 3 Explorer UI. This release focuses on giving developers faster visibility into what their system is doing with one-click monitoring, a streamlined installation pathway, and broader updates that simplify day-to-day operations.

For more information, check out:

InfluxDB Docker latest tag changing to InfluxDB 3 Core

On February 3, 2026, the latest tag for InfluxDB Docker images will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments.

If using Docker to install and run InfluxDB, the latest tag will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments. For example, if using Docker to run InfluxDB v2, replace the latest version tag with a specific version tag in your Docker pull command–for example:

docker pull influxdb:2