相关疑难解决方法(0)

我是否正确理解普罗米修斯的费率与增加功能?

我已经仔细阅读了Prometheus文档,但是对我来说仍然不清楚,所以我在这里是对我的理解的确认。

(请注意,为了尽可能简单的示例,我在废品间隔时间范围中使用了1秒-即使实际上不可能这样做)

尽管我们每秒都废品一个计数器并且该计数器的值为30。为此,我们有以下时间序列:

second   counter_value    increase calculated by hand(call it ICH from now)
1             1                    1
2             3                    2
3             6                    3
4             7                    1
5            10                    3
6            14                    4
7            17                    3
8            21                    4
9            25                    4
10           30                    5
Run Code Online (Sandbox Code Playgroud)

我们要对该数据集运行一些查询。

1.rate()
官方文档指出:
“ rate(v范围向量):计算范围向量中时间序列的每秒平均增长率。”

用外行术语来说,这意味着我们将获得每秒的增量,而给定秒的值将是给定范围内的平均增量?

这是我的意思:
rate(counter [1s]):将与ICH匹配,因为平均值将仅根据一个值计算。
rate(counter [2s]):将从2秒的增量中获取平均值,并将其分配到秒数中。
因此,在前2秒中,我们获得了总计3的增量,这意味着平均值为1.5 / sec。最后结果:

second result
1       1,5
2       1,5
3        2
4        2
5       3,5
6       3,5
7       3,5
8       3,5
9 …
Run Code Online (Sandbox Code Playgroud)

prometheus

14
推荐指数
3
解决办法
4140
查看次数

根据 Prometheus 中的速率了解 histogram_quantile

根据 Prometheus 文档,为了使用直方图指标获得第 95 个百分点,我可以使用以下查询:

histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket[5m])) by (le))
Run Code Online (Sandbox Code Playgroud)

资料来源:https : //prometheus.io/docs/practices/histograms/#quantiles

由于直方图的每个桶都是一个计数器,我们可以计算每个桶的比率为:

范围向量中时间序列的每秒平均增长率。

请参阅:https : //prometheus.io/docs/prometheus/latest/querying/functions/#rate

因此,例如,如果桶值[t-5m] = 100 和桶值[t] = 200,则桶率[t] = (200-100)/(10*60) = 0.167

最后,最令人困惑的部分是 histogram_quantile 函数如何在知道所有桶率的情况下找到给定指标的第 95 个百分位数?

是否有任何代码或算法可以让我更好地理解它?

histogram rate percentile prometheus

9
推荐指数
2
解决办法
6432
查看次数

标签 统计

prometheus ×2

histogram ×1

percentile ×1

rate ×1