metrics/perf: use WithLabelValues instead #1450
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
After looking at the current main branch ,I noticed that metrics got a lot slower, mainly due to
With()creating a new Prometheus label each time.This PR changes
WIth()toWithLabelValues()which makes metrics collection twice as fast (from ~6% of optimized request time to ~3%)It would probably also be nice if there was a way to disable metrics collection entirely since they often end up not being used. Or maybe pull these metrics in the hot path instead of pushing them on each request.
.With().WithLabelValues()