概述
MetricQL 提供了丰富的函数库,用于对时间序列数据进行处理和分析。这些函数可以帮助我们更好地理解和分析监控数据。
推荐阅读官方中文手册
基本函数
聚合函数
sum()
: 对时间序列数据进行求和avg()
: 计算时间序列数据的平均值max()
: 获取时间序列数据的最大值min()
: 获取时间序列数据的最小值count()
: 计算时间序列的数量stddev()
: 计算时间序列数据的标准差quantile()
: 计算时间序列数据的分位数
时间函数
rate()
: 计算时间序列的增长率irate()
: 计算时间序列的瞬时增长率increase()
: 计算时间序列在指定时间范围内的增长量delta()
: 计算时间序列的差值last_over_time()
: 获取指定时间范围内的最后一个值
标签操作函数
label_replace()
: 修改或替换标签名label_join()
: 将多个标签值合并为一个新标签label_drop()
: 删除指定的标签label_keep()
: 保留指定的标签
数学函数
abs()
: 计算绝对值ceil()
: 向上取整floor()
: 向下取整round()
: 四舍五入sqrt()
: 计算平方根exp()
: 计算指数ln()
: 计算自然对数log2()
: 计算以 2 为底的对数log10()
: 计算以 10 为底的对数
比较函数
clamp_max()
: 限制最大值clamp_min()
: 限制最小值histogram_quantile()
: 计算直方图分位数
预测函数
predict_linear()
: 线性预测holt_winters()
: 霍尔特-温特斯预测
使用建议
- 选择合适的函数:根据具体需求选择合适的函数,避免不必要的计算
- 注意性能影响:某些函数(如
rate()
)可能会消耗较多资源 - 合理使用标签:标签操作函数可以帮助我们更好地组织和管理数据
- 组合使用:可以组合多个函数来实现更复杂的分析需求