Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cache LabelValues #39

Closed
fabxc opened this issue Nov 10, 2017 · 8 comments
Closed

Cache LabelValues #39

fabxc opened this issue Nov 10, 2017 · 8 comments

Comments

@fabxc
Copy link
Collaborator

fabxc commented Nov 10, 2017

We should keep an eye on the LabelValues RPC to store nodes. It will always hit every single block, which can get particularly costly on GCS store nodes.

This data does rarely change and is only used for things like auto-completion. But for that it is called whenever the query UI opens up. Probably the query nodes themselves should already cache them.

@bwplotka
Copy link
Member

bwplotka commented Nov 28, 2017

Is that actually true? As far as I can tell from code, this only hits all blocks' index files which are already preloaded on store node, right?

If that's so, we can close this issue. (:

@fabxc
Copy link
Collaborator Author

fabxc commented Nov 28, 2017

Yes, but we are still considering not caching those full files right? My thinking was even with, we could be talking about tens of thousands of blocks at some point. And that might still get expensive then.
We also always have to do a full fanout to every single Prometheus server.

But you are generally right, this issue was probably opened as a pre-mature concern.

@bwplotka
Copy link
Member

bwplotka commented Nov 28, 2017

Ah, sorry, you're right. We will soon move out from this preload-all-index-files heaven.

@fabxc
Copy link
Collaborator Author

fabxc commented Dec 11, 2017

Mh, I'll close this for now. On store nodes that data is served entirely from memory now anyway. The full fanout is probably not an issue anymore with that.

@fabxc fabxc closed this as completed Dec 11, 2017
@bwplotka
Copy link
Member

bwplotka commented Nov 13, 2019

We are exploring loading blocks on demand, so it's time to reopen this as values would be no longer in memory. (:

Worth to note that mostly __name__ arg is heavily used, so we might want to cache all of it. Not sure if worth on Querier side.

The alternative would be implementing the time limit on this. Also related to the: prometheus/prometheus#6178

@ppanyukov
Copy link
Contributor

@bwplotka

The alternative would be implementing the time limit on this. Also related to the: #39

couldn't help noticing this issue is related to itself, surely a mistake :)

@bwplotka
Copy link
Member

yup, fixed!

@stale
Copy link

stale bot commented Jan 11, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Jan 11, 2020
@stale stale bot closed this as completed Jan 18, 2020
simonpasquier pushed a commit to simonpasquier/thanos that referenced this issue Oct 26, 2020
…ft-4.7-thanos

Updating thanos builder & base images to be consistent with ART
fpetkovski pushed a commit to fpetkovski/thanos that referenced this issue Jan 13, 2023
Merge latest upstream (3327c5) and update to latest promql-engine (10d1c54)
saswatamcode pushed a commit to saswatamcode/thanos that referenced this issue Nov 8, 2023
…nent-version-2.7

Updated component version to 2.7.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants