你误解了求和的目的。它不是随着时间的推移执行总和,而是针对指标的维度进行总和。
在你的示例中,假设有多个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)