文档文档

stateTracking() 函数

stateTracking() 返回与定义状态的谓词函数匹配的连续行的累积计数和持续时间。

要返回与谓词匹配的连续行的累积计数,请包含 countColumn 参数。要返回与谓词匹配的连续行的累积持续时间,请包含 durationColumn 参数。不匹配谓词函数 fn 的行在计数和持续时间列中返回 -1

函数类型签名
(
    <-tables: stream[A],
    fn: (r: A) => bool,
    ?countColumn: string,
    ?durationColumn: string,
    ?durationUnit: duration,
    ?timeColumn: string,
) => stream[B] where A: Record, B: Record

有关更多信息,请参阅 函数类型签名

参数

fn

必需)用于确定状态的谓词函数。

countColumn

用于存储状态计数的列。

如果未定义,stateTracking() 不会返回状态计数。

durationColumn

用于存储状态持续时间的列。

如果未定义,stateTracking() 不会返回状态持续时间。

durationUnit

报告状态持续时间的时间单位。默认为 1 秒

timeColumn

用于计算状态持续时间的时间值列。默认为 _time

tables

输入数据。默认为管道转发数据 (<-)。

示例

返回累积状态计数

data
    |> stateTracking(fn: (r) => r.state == "crit", countColumn: "count")

查看示例输入和输出

返回以毫秒为单位的累积状态持续时间

data
    |> stateTracking(fn: (r) => r.state == "crit", durationColumn: "duration", durationUnit: 1ms)

查看示例输入和输出

返回累积状态计数和持续时间

data
    |> stateTracking(fn: (r) => r.state == "crit", countColumn: "count", durationColumn: "duration")

查看示例输入和输出


此页面是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像当前一样使用它,而无需对代码进行任何更改。

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

启动快速。扩展更快。

获取更新

InfluxDB 3 Core 是一个开源、高速、近实时数据引擎,可以实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 Enterprise 构建在 Core 的基础上,增加了高可用性、只读副本、增强的安全性以及数据压缩,从而实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层可供非商业家庭或业余爱好者使用。

有关更多信息,请查看