-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Make prometheus plugin output customizable #3421
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
Conversation
d096adf
to
ca23f3d
Compare
This looks really promising! Our usecase is probably similar to many others... we are only interested in queue message & consumer count at the per-object granularity. But scraping the current all or nothing per-object endpoint with 10k+ queues can take a long time (60+ seconds) and causes high memory usage on the node. Couple questions:
|
For now we are planning to do it, unless there will be some unexpected problem.
No, but I've did a bit of benchmarking on a 10k queues/10k publishers/10k consumers rabbit:
If you need utilization, you'll be able to scrape it now in a more reasonable fashion anyway. |
ca23f3d
to
379c32f
Compare
379c32f
to
4bb2262
Compare
Make prometheus plugin output customizable (backport #3421)
Hi @binarin, seems like this did not get backported by Mergify to v3.8.x. Do you think there is a chance this could be merged into it? Thanks |
Proposed Changes
Prometheus plugin always exposes all possible metrics (even in aggregated mode, where the output is smaller, but the same amount of data still needs to be processed), and this can be problematic when there is a large number of connections/channels/queues.
For existing endpoints this change allows to disable some metric families altogether or filter out some vhosts (but this is optional, and without configuration change everything is 100% backwards compatible). This can greatly reduce the amount of data exposed, while still providing enough details for a proper monitoring.
And then there is a new endpoint where the same customizations can be applied on the fly, in case more information is needed, or with different level of details.
Types of Changes
What types of changes does your code introduce to this project?
Put an
x
in the boxes that applyChecklist
CONTRIBUTING.md
documentFurther Comments