范围向量上的 PromQL avg()

问题描述

在范围向量上应用 avg() 是什么意思,例如:

avg(meric_name[1d]) 

根据文档 here,它仅对即时向量进行操作。 metric_name[1d] 返回一个范围向量。此查询仍然在范围向量上运行并返回结果,而没有任何错误的抱怨。

解决方法

这正确地返回了一个解析错误:

PdfSigner.signDeferred

您可以在http://demo.robustperception.io:9090/graph?g0.expr=avg(meric_name%5B1d%5D)%20&g0.tab=1&g0.stacked=0&g0.range_input=1h看到自己

所以我怀疑您正在运行不同的查询。

,

正如 Brian 已经指出的那样,avg(m[d]) 查询在 Prometheus 中不起作用,因为这是有效的 MetricsQL 查询并且是无效的 PromQL 查询。

VictoriaMetrics 自动将 avg(m[d]) 查询转换为 avg(last_over_time(m[d]))last_over_time(m[d]) 为每个返回的数据点返回 md 持续时间内的最后一个原始值。然后 avg(...) 计算结果时间序列的平均值。

如果这些差距超过传递给 /api/v1/query_rangelast_over_time() 值,step 函数可用于弥补时间序列数据中的差距。

MetricsQL docs 查看有关 last_over_time() 函数的更多详细信息。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...