首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prometheus查询以获取每个范围的%

Prometheus查询以获取每个范围的%
EN

Stack Overflow用户
提问于 2022-11-11 23:23:24
回答 1查看 17关注 0票数 0

我们使用prometheus直方图以下列方式存储用户输入的字符数。与输入的总字符相比,我很难获得1个字符的%。

代码语言:javascript
复制
number_of_char_distribution_bucket{country="GB",le="1.0",} 1
number_of_char_distribution_bucket{country="GB",le="2.0",} 3
number_of_char_distribution_bucket{country="GB",le="3.0",} 5
number_of_char_distribution_bucket{country="GB",le="4.0",} 5
number_of_char_distribution_bucket{country="GB",le="5.0",} 5

number_of_char_distribution_count 9

我有以下查询,它只显示char分发的数量。

代码语言:javascript
复制
sum(increase(number_of_char_distribution_bucket{_namespace_="addautcmp",vendor_name="ADA"}[24h])) by (le)

我需要在一个条形图中得到这些数据,目前它是一个量规。

EN

回答 1

Stack Overflow用户

发布于 2022-11-22 12:29:43

以下查询返回用户在过去24小时内输入一个字符的次数:

代码语言:javascript
复制
sum(increase(number_of_char_distribution_bucket{le="1.0"}[24h]))

以下查询返回用户在过去24小时内输入任意数量字符的总次数:

代码语言:javascript
复制
sum(increase(number_of_char_distribution_count[24h]))

只需将第一个查询除以第二个查询,以获得用户只输入一个字符时的百分比(在[0...1]范围内):

代码语言:javascript
复制
sum(increase(number_of_char_distribution_bucket{le="1.0"}[24h]))
  /
sum(increase(number_of_char_distribution_count[24h]))

如果需要计算用户输入两个字符的时间百分比,请使用以下查询:

代码语言:javascript
复制
(
  sum(increase(number_of_char_distribution_bucket{le="2.0"}[24h]))
    -
  sum(increase(number_of_char_distribution_bucket{le="1.0"}[24h]))
)
  /
sum(increase(number_of_char_distribution_count[24h]))

此查询从用户输入1或2个字符(le="2.0")的次数中减去用户输入1(le="2.0")的次数,以便得到用户输入精确2个字符的次数,然后除以用户输入任意数量字符的总次数。

有关更多详细信息,请参阅这些关于普罗米修斯直方图的文档

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

https://stackoverflow.com/questions/74409143

复制
相关文章

相似问题

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