stateDuration() 函数
stateDuration()
返回给定状态的累积持续时间。
状态由 fn
谓词函数定义。对于每个连续评估为 true
的记录,状态持续时间会按照指定的 unit
增加记录之间的时间间隔。当记录评估为 false
时,该值将设置为 -1
,并且状态持续时间将重置。如果记录在评估期间生成错误,则会丢弃该点,并且不会影响状态持续时间。
状态持续时间将作为附加列添加到每个记录。持续时间以指定的单位表示为整数。
注意: 由于给定状态中的第一个点没有上一个点,因此其状态持续时间将为 0。
函数类型签名
(
<-tables: stream[A],
fn: (r: A) => bool,
?column: string,
?timeColumn: string,
?unit: duration,
) => stream[B] where A: Record, B: Record
有关更多信息,请参阅函数类型签名。
参数
fn
(必需)用于标识记录状态的谓词函数。
column
用于存储状态持续时间的列。默认为 stateDuration
。
timeColumn
用于计算行之间经过时间的 Time 列。默认为 _time
。
unit
用于增加状态持续时间的单位。默认为 1s
(秒)。
示例单位
- 1ns(纳秒)
- 1us(微秒)
- 1ms(毫秒)
- 1s(秒)
- 1m(分钟)
- 1h(小时)
- 1d(天)
tables
输入数据。默认为管道转发数据 (<-
)。
示例
返回在指定状态下花费的时间
import "sampledata"
sampledata.int()
|> stateDuration(fn: (r) => r._value < 15)
此页是否对您有帮助?
感谢您的反馈!