boolean如何将histogram_quantile与量规进行比较?

问题描述

我想将返回的histogram_quantile的瞬时向量与量规进行比较。

(
  histogram_quantile(1.0,sum by (le) (
      rate(discoverer__round_duration_seconds_bucket[1m])
    )
  )
)
>= bool
(
  discoverer__info_interval_seconds * 0.0001
)

但是我得到的是no datapoints found。请注意,我将量规乘以非常小的倍数。这只是为了表明它总是小于分位数。如果我分别将它们输入到Prometheus Web UI中,则这两个“子查询”都可以工作。

为什么这不起作用?

当我以一定比率切换分位数时,它突然起作用:

(
  rate(discoverer__round_duration_seconds_sum[1m])
  /
  rate(discoverer__round_duration_seconds_count[1m])
)
> bool
(
  discoverer__info_interval_seconds * 0.02
)

image

我确保所有查询都可以独立工作。

我想看的是类似于第二张屏幕截图的东西。 只是百分位数,因为我更喜欢用它来计算警报。

解决方法

我通过将量规包装在avg()中来使其工作。不过,我真的很想知道为什么它在没有avg()的示例中可以工作。

histogram_quantile(1.0,sum by (le) (rate(discoverer__round_duration_seconds_bucket[1m]))) > bool avg(discoverer__info_interval_seconds) * 0.1

相关问答

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