Throttler multi-metrics: an incremental PR #16012
Closed
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.
Replaced by #16039
Notes
This PR is the incremental version of #15988, and will be the base of multiple coming up PR merges. DO NOT MERGE
Description
This PR adds multi-metrics support to the tablet throttler. It is pretty large as will be explained shortly, and is submitted as Draft. I will break it down into hopefully smaller and more manageable PRs, something I could not do in the process of writing this code. To explain a bit, adding multi-metrics support adds a new dimension of complexity to the already multi-dimensioned throttler. I chose do remove legacy or unused dimensions from the existing codebase so as to simplify the result. While this PR is not a redesign (the main elements remain the same), it shaves and refactors a lot of code.
See full changes and documentation in #15988 . We are breaking down #15988 into smaller changes which will make it easier to review. This changes will merge onto this branch, with the intention that at the end of the process this PR/branch will be (mostly) identical to #15988 , at which time it will be merged as a whole.
There will only be a handful of PRs that we will merge directly to
main
. These will be some cleanup-related changes, bugfixes, CI fixes, etc. But the multi-metric redesign will merge into this branch and then as a whole intomain
. There is a lot of backwards-compatibility and testing involved, and I feel the complete PR is correct to merge as a whole.Related Issue(s)
#15624
Checklist
Deployment Notes