timeSeriesDerivToGrid
引入版本:v25.6.0 该聚合函数接收由时间戳和值组成的时间序列数据,并在由起始时间戳、结束时间戳和步长定义的规则时间网格上,根据这些数据计算类似 PromQL 的导数。对于网格上的每个点,会在指定的时间窗口内选取样本来计算deriv。
样本可以通过以下三种形式之一传入:
- 作为
timestamp和value两个参数,其中每一行保存单个样本; - 作为时间戳数组和值数组这两个数组,其中每一行保存一整条时间序列;
- 作为单个由
(timestamp, value)元组组成的数组,其中每一行保存一整条时间序列。
此函数处于私有预览阶段,请通过设置
enable_time_series_aggregate_functions=true 启用。start_timestamp— 指定网格的起始时间。当时间戳参数为DateTime64时,也可以是小数,或包含数值或日期时间文本的字符串。UInt32或DateTime或DateTime64或Float*或Decimal*或Stringend_timestamp— 指定网格的结束时间。当时间戳参数为DateTime64时,也可以是小数,或包含数值或日期时间文本的字符串。UInt32或DateTime或DateTime64或Float*或Decimal*或Stringgrid_step— 指定网格步长,单位为秒。当时间戳参数为DateTime64时,也可以是小数,或包含数值或如 ’15s’、‘1m’ 等持续时间的字符串。UInt32或Float*或Decimal*或Stringstaleness— 指定所考虑样本允许的最大 “滞后” 时间,单位为秒。该滞后窗口是左开右闭区间。当时间戳参数为DateTime64时,也可以是小数,或包含数值或如 ’15s’、‘1m’ 等持续时间的字符串。UInt32或Float*或Decimal*或String
timestamp— 样本的时间戳。可以是单个值或数组。UInt32或DateTime或DateTime64或Array(UInt32)或Array(DateTime)或Array(DateTime64)value— 与该时间戳对应的时间序列值。可以是单个值或数组。Float*或Array(Float*)samples— 以(timestamp, value)元组数组形式传入的时间序列样本,其中元组元素的类型即为上面列出的时间戳和值类型。这是将时间戳和值作为两个独立参数传入的替代方式。Array(Tuple(T1, T2))
deriv 值,类型为 Array(Nullable(Float64))。返回的数组为每个时间网格点包含一个值。如果窗口内没有足够的样本来计算某个特定网格点的导数值,则该值为 NULL。
示例
在网格 [90, 105, 120, 135, 150, 165, 180, 195, 210] 上计算导数值
Query
Response
Query
Response