Warm tip: This article is reproduced from serverfault.com, please click

其他-普罗米修斯率函数之和

(其他 - sum of rate function in prometheus)

发布于 2020-11-25 11:27:17

给定以下称为请求的普罗米修斯时间序列在此处输入图片说明

向量查询请求[3秒]为:
在此处输入图片说明

矢量查询请求[3秒]的速度,速率(请求[3秒]) 由所示公式计算)为:

在此处输入图片说明

我的问题是:分别在第5、4和3秒分别求和的sum(rate(requests [3 sec]))是16.5、6.5和1。有什么想法吗?

Questioner
Mazen Ezzeddine
Viewed
11
Michael Doubez 2020-11-30 01:03:46

你误解了求和的目的。它不是随着时间的推移执行总和,而是针对指标的维度进行总和。

在你的示例中,假设有多个requests指标(以一个维度page为例),rate(requests[3 sec])将会(在某个时间点)为你提供:

{page="A"}  12.4
{page="B"}  1.5
{page="C"}  0 .... (and so on for each metrics requests with different label set)

sum函数将求和不同比率的值;并且sum(ate(requests[3 sec]))会给你只有一个值:

{}  42.13 <-- the sum of all rate(requests[3s]) values

奖励:如果你的指标具有多个维度(由指标中的多个标签表示),则可以告诉你sum()对其中的一个子集进行操作:sum(ate(requests[3 sec])) ON(foo)