Fix percentile metrics rotating too often #5237
Open
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.
Before this change percentile metrics rotation interval was set to
expiry / bufferLength
. This was different from other metrics like_max
where the interval is set toexpiry
. At the same time documentation of theexpiry
parameter says clearly that it is used as rotation interval.This inconsistent behavior was confusing for users because some metrics expired faster than the others. What's more it caused some requests to be ignored in percentile metrics if
expiry
(also calledstep
) was set to the same duration as scrapping interval (e.g. 1 minute) and scrapping occurred not long after buffer rotation. In case of the default config wherebufferLength
is 3 it could result in up to 33% requests being ignored by percentile metrics.Fix this inconsistency by changing buffer rotation interval for percentiles to
expiry
.Fixes #3298