Skip to content

rate、delta、increase、{agg}_over_time等函数仅支持在原指标上进行操作,不支持在算子或函数的结果集上进行计算,例如,

  • 支持以下形式
SQL
max_over_time(go_goroutines[1m]), 表示计算各时间线前一分钟指标内的最大值
  • 不支持以下形式
SQL
max_over_time(max(go_goroutines)[1m]), 此表达式意图先计算各时间线间的最大值,再从中选取前一分钟内的最大值。
  • 正确的使用
SQL
prometheus提供了Subquery以支持上述需求,PromQL语句需改成以下形式:
max_over_time(max(go_goroutines)[1m:10s])
Subquery中[a:b]的两个参数分别表示range和step。

图 12