首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >普罗米修斯/ VictoriaMetrics在无时间范围的series_selector上的差异

普罗米修斯/ VictoriaMetrics在无时间范围的series_selector上的差异
EN

Stack Overflow用户
提问于 2022-03-16 07:29:06
回答 1查看 625关注 0票数 0

我有一个度量查询,它计算最后d时间范围的值和。

代码语言:javascript
复制
sum(series_selector) - sum(series_selector offset d)

这在PromQL上起作用,因为

  • 减号的左边:从一开始的所有值之和。
  • 减号的右侧:将从开始到d范围的所有值之和。

因此,结果是最后d的时间范围值之和。

问题是,当我将相同的查询写到维多利亚度量标准时,我会得到负面的结果。

我研究了这个问题,并通过在维多利亚度量中使用sum(increase_pure(series_selector[d]))函数来解决这个问题,这与第一个代码几乎相同。但是,我想知道为什么在维多利亚度量标准中,第一个代码不起作用。

EN

回答 1

Stack Overflow用户

发布于 2022-03-17 15:02:55

在以下情况下,Prometheus和VictoriaMetrics都可以返回sum(series_selector) - sum(series_selector offset d)查询的负值:

  • 如果某些时间序列匹配给定的series_selector,则在持续时间内停止接收新的样本d。那么sum(series_selector)将比sum(series_selector offset d)小,因为序列值不包含在sum(series_selector)中,而包含在sum(series_selector offset d)中。
  • 如果某些时间序列与给定的series_selector相匹配,则将其重置为零(又名计数器复位)。在这种情况下,offset d时间序列的值可能大于当前时间的值。

由于上述情况,建议使用increase(series_selector[d])而不是series_selector - (series_selector offset d)增加()函数在VictoriaMetrics中以最预期的方式处理这两种情况。有关更多详细信息,请参阅这篇文章

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71493165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档