timeSeriesMadToGrid
引入版本:v26.10.0 该聚合函数接收由时间戳和值组成的成对时间序列数据,并在由起始时间戳、结束时间戳和步长定义的等间隔时间网格上计算 PromQLmad_over_time 函数。对于网格上的每个点,结果为指定时间窗口内样本值的中位数绝对偏差 median(|x - median(x)|)。两个中位数均采用 R-7 (包含) 方法计算,与 quantileExactInclusive 和 timeSeriesQuantileToGrid 一致。
样本可以通过以下三种形式之一传入:
- 两个参数
timestamp和value,每行包含单个样本; - 时间戳数组和值数组,每行包含一整条时间序列;
- 由
(timestamp, value)元组组成的单个数组,每行包含一整条时间序列。
Inf - Inf。
如果多个样本的时间戳相同,则只使用其中值最大的那个样本。NaN 值的优先级低于任何其他值,因此只有当该时间戳上的所有样本均为 NaN 时,才会使用 NaN 值。
此函数目前处于私有预览阶段,可通过设置
enable_time_series_aggregate_functions=true 启用。start_timestamp— 指定网格的起点。也可以是小数,或包含数字或日期时间文本的字符串。UInt32或DateTime或DateTime64或Float*或Decimal*或Stringend_timestamp— 指定网格的终点。也可以是小数,或包含数字或日期时间文本的字符串。UInt32或DateTime或DateTime64或Float*或Decimal*或Stringgrid_step— 指定网格的步长,单位为秒。也可以是小数,或包含数字或时长 (如 ’15s’ 或 ‘1m’) 的字符串。UInt32或Float*或Decimal*或Stringstaleness— 指定参与计算的样本的最大“陈旧时间”,单位为秒。陈旧窗口为左开右闭区间。也可以是小数,或包含数字或时长 (如 ’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))
Array(Nullable(Float64))
示例
在网格 [90, 105, 120, 135, 150, 165, 180, 195, 210, 225] 上计算 mad_over_time 值
Query
Response
Query
Response