nighthawk icon indicating copy to clipboard operation
nighthawk copied to clipboard

some percentiles are not returned exactly

Open eric846 opened this issue 4 years ago • 1 comments

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

eric846 avatar Aug 04 '21 21:08 eric846

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?

oschaaf avatar Aug 05 '21 11:08 oschaaf