timeSeries*() aggregate functions 一起使用,例如
timeSeriesInstantRateToGrid、
timeSeriesLastToGrid
等。
seriesDecomposeSTL
series— 数值数组Array((U)Int8/16/32/64)或Array(Float*)period— 正整数UInt8/16/32/64
Array(Array(Float32), Array(Float32), Array(Float32), Array(Float32))
示例
使用 STL 分解时间序列数据
Query
Response
seriesOutliersDetectTukey
series— 由数值组成的数组。Array((UInt8/16/32/64))或Array(Float*)min_percentile— 可选。用于计算四分位距 (IQR) 的最小百分位数。该值必须在 [0.02,0.98] 范围内。默认值为 0.25。Float*max_percentile— 可选。用于计算四分位距 (IQR) 的最大百分位数。该值必须在 [0.02,0.98] 范围内。默认值为 0.75。Float*K— 可选。用于检测轻度或更明显离群值的非负常数。默认值为 1.5。Float*
series 中对应元素的异常可能性评分。非零评分表示该元素可能存在异常。Array(Float32)
示例
基础离群值检测
Query
Response
Query
Response
seriesPeriodDetectFFT
series— 数值数组。Array((U)Int8/16/32/64)或Array(Float*)
Float64
示例
使用简单模式检测周期
Query
Response
Query
Response
timeSeriesCopyTag
src_group) 复制到另一个标签组 (dest_group) 。
该函数会覆盖 dest_group 中该复制标签之前的任何值。
如果 src_group 中不存在该标签,则函数也会将其从 dest_group 中移除。
该函数模拟了 prometheus
group left/group right 修饰符的复制逻辑。
语法
dest_group 中的标签,以及从 src_group 复制过来的标签。UInt64
示例
示例
Query
Response
timeSeriesCopyTags
src_group) 复制到另一个标签组 (dest_group) 。
该函数会替换 dest_group 中这些已复制标签原有的值。
如果某些要复制的标签在 src_group 中不存在,该函数也会将它们从 dest_group 中删除。
该函数模拟了 Prometheus
group left/group right 修饰符的复制逻辑。
语法
dest_group— 目标标签组。UInt64src_group— 源标签组。UInt64tags_to_copy— 要复制的标签名称。Array(String)
dest_group 中的标签,以及从 src_group 复制过来的标签。UInt64
示例
示例
Query
Response
timeSeriesExtractTag
Nullable(String)
示例
示例
Query
Response
timeSeriesFromGrid
[x1, x2, x3, ...] 转换为元组数组
[(start_timestamp, x1), (start_timestamp + step, x2), (start_timestamp + 2 * step, x3), ...]。
当前时间戳会按 step 递增,直到大于 end_timestamp。
如果值的数量与时间戳的数量不一致,该函数会抛出异常。
[x1, x2, x3, ...] 中的 NULL 值会被跳过,但当前时间戳仍会继续递增。
例如,对于 [value1, NULL, x2],函数返回 [(start_timestamp, x1), (start_timestamp + 2 * step, x2)]。
语法
start_timestamp— 网格的起点。DateTime64或DateTime或UInt32end_timestamp— 网格的终点。DateTime64或DateTime或UInt32step— 网格步长 (以秒为单位) 。Decimal64或Decimal32或UInt32/64values— 值数组。Array(Float*)或Array(Nullable(Float*))
start_timestamp 和 step 定义的规则时间网格上的时间戳组合。Array(Tuple(DateTime64, Float64))
示例
用法示例
Query
Response
timeSeriesGroupToSamplingKey
UInt64 采样键。
该值具有确定性:相同的输入标签始终会生成相同的键。
它适合作为 limitk 和 limit_ratio 等采样运算符的排序键。
语法
group— 标签组。UInt64
UInt64 哈希值。UInt64
示例
示例
Query
Response
timeSeriesGroupToTags
timeSeriesTagsGroupToTags
参数
group— 标签组。UInt64
(tag_name, tag_value) 对组成的数组。
返回的数组始终按 tag_name 排序,且同一个 tag_name 不会出现多次。
Array(Tuple(String, String))
示例
示例
Query
Response
timeSeriesIdToGroup
timeSeriesIdToTagsGroup
参数
id— 时间序列的标识符。UInt64或UInt128或UUID或FixedString(16)
id 对应的标签组。UInt64
示例
示例
Query
Response
timeSeriesIdToTags
id— 时间序列的标识符。UInt64或UInt128或UUID或FixedString(16)
(tag_name, tag_value) 对组成的数组。
返回的数组始终按 tag_name 排序,且同一个 tag_name 不会重复出现。
Array(Tuple(String, String))
示例
示例
Query
Response
timeSeriesJoinTags
dest_tag 的值为拼接后的结果。
该函数模拟了 Prometheus 函数
label_join() 的逻辑。
语法
group— 一个标签组。UInt64dest_tag— 保存拼接结果并将添加到group中的标签名称。Stringseparator— 在拼接后的值之间插入的分隔符。Stringsrc_tags— 值将被拼接在一起的源标签名称。Array(String)
dest_tag 标签的值为拼接结果。UInt64
示例
示例
Query
Response
timeSeriesRange
[start_timestamp, start_timestamp + step, start_timestamp + 2 * step, ..., end_timestamp]。
如果 start_timestamp 等于 end_timestamp,该函数会返回一个仅包含 [start_timestamp] 的单元素数组。
函数 timeSeriesRange() 与函数 range 类似。
语法
start_timestamp— 范围的起始值。DateTime64或DateTime或UInt32end_timestamp— 范围的结束值。DateTime64或DateTime或UInt32step— 范围的步长,单位为秒。UInt32/64或Decimal32/64
Array(DateTime64)
示例
用法示例
Query
Response
timeSeriesRemoveAllTagsExcept
group— 一个标签组。UInt64tags_to_keep— 要在该标签组中保留的标签名称。Array(String)
UInt64
示例
示例
Query
Response
timeSeriesRemoveTag
UInt64
示例
示例
Query
Response
timeSeriesRemoveTags
group— 一个标签组。UInt64tags_to_remove— 要从此标签组中移除的标签名称。Array(String)
UInt64
示例
示例
Query
Response
timeSeriesReplaceTag
regex 与标签 src_tag 的值匹配。
如果匹配成功,返回组中标签 dest_tag 的值将为 replacement 的展开结果,
同时保留输入中的原始标签。
此函数模拟了 prometheus 函数
label_replace() 的逻辑。
Syntax
group— 一个标签组。UInt64dest_tag— 用于获取结果标签组的目标标签名称。Stringreplacement— 替换模式,可以包含 2 或 $name,以引用正则表达式 ‘regex’ 中的捕获组。Stringsrc_tag— 值将用于匹配正则表达式 ‘regex’ 的标签名称。Stringregex— 正则表达式。String
dest_tag。UInt64
示例
示例
Query
Response
timeSeriesStoreTags
id— 时间序列的标识符。UInt64或UInt128或UUID或FixedString(16)tags_array— 由 (tag_name,tag_value) 对组成的数组。Array(Tuple(String, String))或NULLseparate_tag_name_i— 标签名称。String或FixedStringseparate_tag_value_i— 标签值。String或FixedString或Nullable(String)
Query
Response
timeSeriesTagsToGroup
tags_array— 由 (tag_name, tag_value) 对组成的 Array。Array(Tuple(String, String))或NULLtag_name_i— 标签名称。String或FixedStringtag_value_i— 标签值。String或FixedString或Nullable(String)
UInt64
示例
示例
Query
Response
timeSeriesThrowDuplicateSeriesIf
condition,如果其为 true,则抛出异常,并显示以下消息:
Multiple series have the same tags <tags>, duplicate series in the same result set are not allowed。
如果 condition 为 false,则函数返回 0。
此函数与 throwIf() 类似,
但使用了不同的错误代码,且错误消息的格式也不同。
语法
0。UInt8
示例
示例
Query
Response