RFR: JMC-5327: Using HdrHistograms to visualize latencies
Elliott Baron
ebaron at redhat.com
Mon May 27 16:09:51 UTC 2019
Hi Marcus,
On 2019-05-24 3:13 p.m., Marcus Hirt wrote:
> Very nice Elliot! This looks great!
Glad to hear it, thanks!
> How sure are you of the Japanese and
> Chinese translations? Would you want for someone to take a look at them?
These come from substituting the word for "percentile" (found online)
into existing localized strings with the same sort of desired phrasing
(e.g. File I/O Histogram Selection). If there is someone who could
verify/improve the translations, I would appreciate it.
Thanks,
Elliott
>
> Kind regards,
> Marcus
>
> On Fri, May 24, 2019 at 1:06 AM Elliott Baron <ebaron at redhat.com
> <mailto:ebaron at redhat.com>> wrote:
>
> Hi,
>
> Sorry for the delay. Thank you both for your reviews!
>
> On 2019-05-02 12:55 p.m., Alex Macdonald wrote:
> > A handful of minor formatting nits:
> >
> > - Messages.properties (x3)
> > - - the DurationPercentileTable_PERCENTILE_COL_NAME should come
> after
> > DUMP_RECORDING_* for alphabetical order I believe
>
> Should be fixed now. I took this into account for the new keys added in
> this revision too.
>
> > - There are some cases of extra whitespace, I went through hg
> diff and
> > counted the following number of occurrences:
> > - - DurationHdrHistogram (8)
> > - - DurationPercentileTable (38)
> > - - FileIOPage (5)
> > - - SocketIOPage (6)
> > - - IOPageTest (5)
> > - - IOPageTestBase (4)
> > - - SocketIOPageTest(5)
>
> This revised patch should not have any trailing whitespace.
>
> > I noticed that when resizing the page, the durations table stays
> static
> > whereas the other tables seems to adjust (gif) [3]. This only
> seems to
> > cause an issue when my JMC window gets resized to just under 50%
> on my
> > monitor width, and the chart will get hidden. In the gif my JMC
> window
> > is around half my monitor width (of 1920), and with the JVM
> > Browser/Outline window open then I don't have much more room to
> shrink
> > the application before the chart disappears. I was just curious
> if the
> > table could adjust to resizing like the other tables.
>
> This was a bit tricky due to the table sitting side-by-side with the
> chart. I used the (unused?) SimpleLayout class within JMC to define
> weights to keep the percentage of the width occupied by the chart and
> table constant, even while resizing.
>
> > Also not caused by this patch (but thought it'd be interesting to
> > share), I'm seeing a bug where my chart text gets really large
> [4] when
> > I run JMC locally and not as an RCP application (I recall seeing
> a JIRA
> > bug for this before, but cannot find it), and my durations tab
> will only
> > show the table (and not even the whole thing) [5].
> I am still seeing this as well.
>
> On 2019-05-02 3:02 p.m., Marcus Hirt wrote:
> > This is a great start! Aside from the comments already provided
> by Alex,
> > here is some feedback:
> >
> > * It would be great to be able to select a percentile and be able
> to do
> > set as focused selection, and add the events for that percentile
> to the
> > focused selection.
>
> This should be working now. When setting a table row as the focused
> selection, all events with duration at least as long as the percentile
> values in that row will be selected.
>
> e.g. Setting the 99th percentile row as the focused selection, with
> read
> duration of 10ms and write duration of 50ms, will only show read events
> >= 10ms and write events >= 50ms.
>
> > * The current UI splits read and writes in two different lanes,
> perhaps
> > that would make sense here too, also for selection purposes. And
> just as
> > with the lanes, only show when there is available data.
>
> With this revised patch, when there are no matching read or write
> events, the corresponding columns will not be shown. There is a slight
> issue when columns are hidden and then reappear, the last column is too
> large and needs be resized manually. I can reproduce this in other
> tables by hiding two columns, and restoring them. I'm not sure of
> the cause.
>
> > * Perhaps the counts shown should be the number of events in the
> > percentile or above, as those would be the number of events
> selected -
> > i.e. if you select events in the 99.9 percentile, you probably don't
> > want all of the events up to and including the ones in the 99.9th
> > percentile, but rather the outliers, the ones in 99.9 and above.
>
> Makes sense to me, the event counts now show events with duration
> greater or equal to the value in that row.
>
> > * It would be cool to add a normalized backdrop in the tables to
> get a
> > rough visual representation of how many of the events are
> actually in
> > the different buckets.
>
> I have added this as well.
>
> Here is a revised webrev that should address all of the feedback
> received so far.
>
> Bug: https://bugs.openjdk.java.net/browse/JMC-5327
> Webrev: http://cr.openjdk.java.net/~ebaron/JMC-5327/webrev.0/
> Preview: https://imgur.com/a/oqX0fai
>
> Thanks,
> Elliott
>
More information about the jmc-dev
mailing list