-
Notifications
You must be signed in to change notification settings - Fork 488
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
feat: support histograms for command latency statistics #2721
Conversation
@rabunkosar-dd Thanks for your contribution. You use |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me, one comment inline.
Co-authored-by: Twice <[email protected]>
@rabunkosar-dd Could you please fix the lint issue? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Thank you for your contribution! |
Thanks for the feedbacks and patience @PragmaTwice and @git-hulk |
Quality Gate passedIssues Measures |
This PR adds an option to build kvrocks with histogram support to breakdown the command latencies. Current statistics are based on the total latency and the command count, giving averages. For our use case, where tail latencies are very impactful, this was not sufficient to track the general performance of the instances.
It also adds a config parameter to define the bucket boundaries. I will also follow up with a PR to add similar support in kvrocks_exporter (and support additive histograms for prometheus).
The buckets are not additive and there is an implicit bucket that tracks values beyond the defined values (inf bucket).
I added a build paramater (ENABLE_HISTOGRAMS), when set to ON will compile the support into the binary.The feature is enabled if the config parameter defines a non-empty list of buckets that are coma separated