Given the following prometheus time series called requests :
the vector query requests[3 seconds] is :
and the rate of the vector query requests[3 seconds], rate(requests[3 sec]) (computed by the shown formula) is :
My question is : what is sum(rate(requests[3 sec])) evaluated at seconds 5, 4 and 3 respectively is it 16.5, 6.5 and 1. Any idea?
You are misunderstanding the purpose of sum. It is not performing a sum over time but over the dimensions of your metric.
In your example, assuming there are multiple
requests
metrics (with a dimensionpage
by exemple),rate(requests[3 sec])
will give you (at some point in time):The
sum
function will sum the values of the different rates; andsum(rate(requests[3 sec]))
will give you only one value:BONUS: In the case you metric have multiple dimensions (represented by multiple labels in your metric) you can tell
sum()
to operate on a subset of them:sum(rate(requests[3 sec])) ON(foo)