SV: JMC-5327: Using HdrHistograms to visualize latencies
Marcus Hirt
marcus at hirt.se
Wed May 1 19:36:34 UTC 2019
Nicely done Elliot!
I will take a look at this tomorrow. Thanks for doing this!
Kind regards,
Marcus
-----Ursprungligt meddelande-----
Från: jmc-dev <jmc-dev-bounces at openjdk.java.net> För Elliott Baron
Skickat: den 1 maj 2019 19:00
Till: jmc-dev at openjdk.java.net
Ämne: RFR: JMC-5327: Using HdrHistograms to visualize latencies
Hi,
Please review this patch which adds additional IO duration statistics using HdrHistogram [1]. One of the nice features of HdrHistogram is its ability to generate percentile distributions of data, while using limited space. For latency measurements, this can be a useful tool to draw attention to outliers where latency is particularly bad.
These statistics are displayed in a new table within the File and Socket IO pages. This table shows the read/write duration at predetermined percentiles (0, 90, 99, 99.9, 99.99, 99.999, and 100), and the total number of items <= that duration. I originally planned to show this information in a chart, but ran into difficulties expressing a non-linear percentile axis with JMC's charting API. After discussions with Marcus, I opted to display this information using a table alongside the existing chart.
I included some UI tests that verify the values in each of these HdrHistogram tables using a new (gzipped) JFR recording. I tried to keep this recording as small as possible, while still getting somewhat interesting results in the tables.
HdrHistogram itself is already bundled on Maven Central, I simply added it to our third-party p2 repository and target platforms. The included translations for the word "percentile" are the result of consulting online dictionaries, there may be better terms.
Bug: https://bugs.openjdk.java.net/browse/JMC-5327
Webrev: http://cr.openjdk.java.net/~aptmac/JMC-5327/webrev.00/
Preview: https://imgur.com/a/MlA2C7y
Thanks,
Elliott
[1] http://hdrhistogram.org/
More information about the jmc-dev
mailing list