-
Notifications
You must be signed in to change notification settings - Fork 875
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
Added latency_percentiles_usec summary (A summary of latency percentile distribution per command) #652
Conversation
…le distribution per command)
Thanks for the PR, this is great. I'll try to review it in the new few days. |
thank you @oliver006 .
can you confirm? |
I restarted the tests, sometimes that container doesn't come up in time and now it's looking better. There's a new error:
You need to add redis7 container to the .drone.yml file as well - the docker-compose file is just for local development and not used for the automated tests. |
done. thank you for the hint @oliver006 ! |
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.
Really nice PR - nice work!
One question about the parsing/registering though. Let me know what you think.
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.
🚀
@filipecosta90 - the tests didn't run cause the .drone.yml file was malformed. I fixed that and now I see the new latency tests failing: Could you have a look please? |
checking it 👍 . thank you! |
@oliver006 WRT to: Addressed it in: |
As of Redis 7 ( specifically this PR redis/redis#9462 ) it possible exporting the per-command percentile distribution via the
INFO LATENCYSTATS
subcommand orINFO ALL
. ( percentile distribution is not mergeable between cluster nodes )Here's a sample of INFO ALL ( focusing on commandstats and latencystats ):
With the above info we can generate Prometheus compliant summaries ( one per command ).
Note: controlling the exported percentiles on Redis
Notice that the exported percentiles on redis can be configured and that by default Redis exports the p50, p99 and p999. The logic behind this PR is agnostic to the exported percentiles.
As an example let's extend the exported percentiles in Redis to:
The resulting exported summaries would be:
It's important to emphasize that o Redis we don't store summaries --- we preserve the entire sketch of data --- meaning that if you want to extend the exported percentiles it's retroactive to the current command stats already present on Redis =)