SV: JMC-5327: Using HdrHistograms to visualize latencies

Marcus Hirt marcus at
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,

-----Ursprungligt meddelande-----
Från: jmc-dev <jmc-dev-bounces at> För Elliott Baron
Skickat: den 1 maj 2019 19:00
Till: jmc-dev at
Ämne: RFR: JMC-5327: Using HdrHistograms to visualize latencies


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.




More information about the jmc-dev mailing list