首页 文章

包括NaN值的普罗米修斯直方图和平均集

提问于
浏览
1

在我的应用程序中,我为每个国家的websocket ping时间设置了直方图,每个国家一个直方图 . 在Grafana中,我通过以下查询得到了我最感兴趣的几个国家/地区的平均ping时间图

rate(country_ping_sum{country=~"AU|NZ|CA|GB|US",instance="$instance"}[15m]) / rate(country_ping_count{country=~"AU|NZ|CA|GB|US",instance="$instance"}[15m])

这非常有效 . 我得到了每个国家的图表 . 现在我想在同一个图表中添加所有其他国家/地区的平均值 .

avg(rate(country_ping_sum{country!~"AU|NZ|CA|GB|US",instance="$instance"}[15m]) / rate(country_ping_count{country!~"AU|NZ|CA|GB|US",instance="$instance"}[15m]))

这失败了 . 当我在Prometheus控制台中的Prometheus查询中尝试查询时,我得到一个NaN值 . 如果我采用相同的查询并删除avg()函数,那么我会获得每个匹配国家/地区的列表,其中一些具有值,一些具有NaN . 许多国家的金额和金额均为0 . 显然,那些划分为0的那些特定国家的NaN相当于NaN .

所以我的问题是,如何在传递给avg()之前过滤出NaN值?

1 回答

  • 6

    你有效地取平均值,这通常是不正确的 .

    而是每个 ratesum ,然后除以得到整体平均值 .

相关问题