Query Range Computational Model

query_range runs each step independently of the other steps.

There's some performance optimisations, but you'd get the exact same results if you were to call query 61 times for each of the steps individually.

This means that topk(5, X) can return far more than 5 time series on a graph, as each time slice is independent.


Beware that too small a duration on an rate/increase compared to the step will miss samples, as range vectors only include data inside their duration. So if you have rate(my_counter_total[1m]) with a step URL parameter of 600 (5 minutes), you'll miss 80% of your data.