nighthawk
nighthawk copied to clipboard
some percentiles are not returned exactly
Special percentiles are requested here: https://github.com/envoyproxy/nighthawk/blob/main/source/common/statistic_impl.cc
It works fine at the lower percentiles, but 0.990625 seems to always appear instead of 0.99.
These are the percentiles from a couple of recent runs:
0
0.1
0.2
0.3
0.4
0.5
0.55
0.6
0.65
0.7
0.75
0.775
0.8
0.825
0.85
0.875
0.8875
0.9
0.9125
0.925
0.9375
0.94375
0.95
0.95625
0.9625
0.96875
0.971875
0.975
0.978125
0.98125
0.984375
0.985938
0.9875
0.989062
0.990625
0.992188
0.992969
0.99375
0.994531
0.995313
0.996094
0.996484
0.996875
0.997266
0.997656
0.998047
0.998242
0.998437
0.998633
0.998828
0.999023
1
Higher RPS:
0
0.1
0.2
0.3
0.4
0.5
0.55
0.6
0.65
0.7
0.75
0.775
0.8
0.825
0.85
0.875
0.8875
0.9
0.9125
0.925
0.9375
0.94375
0.95
0.95625
0.9625
0.96875
0.971875
0.975
0.978125
0.98125
0.984375
0.985938
0.9875
0.989062
0.990625
0.992188
0.992969
0.99375
0.994531
0.995313
0.996094
0.996484
0.996875
0.997266
0.997656
0.998047
0.998242
0.998437
0.998633
0.998828
0.999023
0.999121
0.999219
0.999316
0.999414
0.999512
0.999561
0.999609
0.999658
0.999707
0.999756
0.99978
0.999805
0.999829
0.999854
0.999878
0.99989
0.999902
0.999915
0.999927
0.999939
0.999945
0.999951
0.999957
0.999963
0.999969
0.999973
0.999976
0.999979
0.999982
0.999985
0.999986
0.999988
0.999989
0.999991
0.999992
0.999993
0.999994
0.999995
0.999995
0.999996
0.999997
0.999997
0.999997
0.999998
0.999998
0.999998
0.999998
0.999999
0.999999
0.999999
0.999999
0.999999
0.999999
0.999999
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
From https://github.com/envoyproxy/nighthawk/issues/115#issuecomment-539522561:
HDR-Histogram uses base-2 arithmetic behind the scenes, circllhist uses base 10. So you get precise counts at "human readable" float numbers like 0.24, 120, 1800, as opposed to 0.09375=0.00011 base-2.
Based on that, I'm thinking this might be a "feature" of HdrHistogram?