Prometheus 基础查询(四)修饰符
offset 偏移量修饰符
offset 偏移量修饰符允许更改查询中单个瞬时向量和范围向量的时间偏移量。
例如,下面的表达式返回 http_requests_total
相对于当前查询计算时间过去 5 分钟的值:
注意,偏移量修饰符总是需要紧跟在向量后面,比如下面这个例子
对于范围向量也是一样的。比如下面这个例子将返回 http_requests_total
一周前的 5 分钟速率:
为了与时间前移的时间比较,可以指定一个负偏移:
这个特性可以通过设置 --enable-feature=promql-negative-offset
标志来启用。
@ 修饰符
@
修饰符允许在查询中更改单个瞬时向量和范围向量的计算时间。提供给@
修饰符的时间是一个 unix 时间戳,用浮点数值。
比如下面这个 例子就会返回 http_requests_total
在 2021-01-04T07:40:00+00:00 的值。
注意,偏移量修饰符总是需要紧跟在向量后面,比如下面这个例子
对于范围向量也是一样的。比如下面这个例子将返回 http_requests_total
指定时间的值:
@
修饰符在 int64 范围内支持上述浮点值的所有表示。它还可以与offset
修饰符一起使用,其中offset
是相对于@
修饰符时间应用的,而不管哪个修饰符先写。这两个查询将产生相同的结果。
默认情况下,这个修饰符是禁用的,因为它破坏了 PromQL 不能提前查看示例的评估时间的不变条件。它可以通过设置--enable-feature=promql-at-modifier
标志来启用。
另外,start()
和end()
也可以作为@
修饰符的值。
对于范围查询,它们分别解析到范围查询的开始和结束,并对所有步骤保持相同。
对于即时查询,start()
和end()
都解析为计算时间。
版权声明: 本文为 InfoQ 作者【耳东@Erdong】的原创文章。
原文链接:【http://xie.infoq.cn/article/4e9a14bbbebc69d6e3e63bd77】。未经作者许可,禁止转载。
评论