You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It just occurred to me that once we have blocks from many sources, it can rather easily happen that we preload a lot of irrelevant postings.
Suppose you get up{job="A"}. The up metric will be present in virtually every single block for the given time range. However, job="A" will probably be present in just a few. Currently if there's no postings list of job="A" for a block, we will return an EmptyPostings transparently and still register the postings list for __name__="up" for preloading for all blocks.
If we were more explicit about the non-existant postings, we could skip that work. That however would go pretty deep down into index fetching internals and we can only infer this by looking at the operations between postings (intersection vs. merge).
Probably not something to optimize quite right now yet. Especially since we've ongoing upstream work in that area.
But we should keep it in mind in case we run into performance issues later.
The text was updated successfully, but these errors were encountered:
It just occurred to me that once we have blocks from many sources, it can rather easily happen that we preload a lot of irrelevant postings.
Suppose you get
up{job="A"}
. Theup
metric will be present in virtually every single block for the given time range. However,job="A"
will probably be present in just a few. Currently if there's no postings list ofjob="A"
for a block, we will return anEmptyPostings
transparently and still register the postings list for__name__="up"
for preloading for all blocks.If we were more explicit about the non-existant postings, we could skip that work. That however would go pretty deep down into index fetching internals and we can only infer this by looking at the operations between postings (intersection vs. merge).
Probably not something to optimize quite right now yet. Especially since we've ongoing upstream work in that area.
But we should keep it in mind in case we run into performance issues later.
The text was updated successfully, but these errors were encountered: