Throttler multi-metrics: an incremental PR #16039
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.
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 https://github.com/vitessio/vitess/pull/15988into 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