RFR: 6364: Improvements to the Thread Graph
Alex Macdonald
aptmac at openjdk.java.net
Thu Jan 23 16:39:08 UTC 2020
On Mon, 20 Jan 2020 16:19:21 GMT, Henrik Dafgård <hdafgard at openjdk.org> wrote:
>>> jcheck is requesting:
>>>
>>> s/JMC-6364/6364
>>
>> Neat, thanks for the heads up. I changed the commit description and force pushed them back here, but it looks like once a PR has been made with the invalid ID format it's the PR name change that gets jcheck to pass. This automation is nice, the `mvn spotless:apply` was especially nice to have.
>
> I actually liked the old behaviour of being able to see all thread states on one screen (given that you had sufficient pixels to display them). It gave a more helpful overview of the application state during the recording. I.e. the old view had a minimum lane height of 1 pixel. To do the same thing here you'd have to collapse the table, since 1 pixel isn't enough to render thread names.
>
> The selection highlighter also seems to have taken a significant performance hit, so it's a bit harder to drag and select a region of threads.
>
> Unless I'm missing something it also appears that I can't sort the thread table, and I'm uncertain what order the threads are shown in now.
>
> I'm also a bit confused by why the scroll bar on the right hand side scrolls horizontally when it's rendered vertically, and the component now doesn't zoom through time with the scroll wheel, like all other pages do?
>
> It would also be nice if the "Thread State Selection" toolbar button could do more of the "Edit Thread Activity Lanes" dialog, since they're doing very similar things?
> I actually liked the old behaviour of being able to see all thread states on one screen (given that you had sufficient pixels to display them). It gave a more helpful overview of the application state during the recording. I.e. the old view had a minimum lane height of 1 pixel. To do the same thing here you'd have to collapse the table, since 1 pixel isn't enough to render thread names.
Fair enough, or perhaps allowing the chart lanes to shrink to that size, but have the text lanes remain at a size that is readable? e.g., having the text lanes hit a min height of ~13px, so there will only be a difference in lane height for 1-12px, and everything above that they re-sync in terms of height?
> The selection highlighter also seems to have taken a significant performance hit, so it's a bit harder to drag and select a region of threads.
>
> Unless I'm missing something it also appears that I can't sort the thread table, and I'm uncertain what order the threads are shown in now.
It should be the same order as they are now, the current table has been moved to be like a modal instead, it's available to open via a button near the "edit thread activity lanes" button in the top-right of the page. It's the same table, so the existing sorting mechanics should apply.
> I'm also a bit confused by why the scroll bar on the right hand side scrolls horizontally when it's rendered vertically,
Are you referring to the SWT spinner? That handles zooming in/out of the chart, and the scrollbar to the right of the chart (should) scroll vertically.
> and the component now doesn't zoom through time with the scroll wheel, like all other pages do?
This has to do more with what the expected behaviour should be on a page that has scrollable content. In the cases of the other pages, the charts/graphs don't scroll vertically, so having JMC-specific defined controls with the scrollwheel to zoom should be fine. However, in many other applications where pages have scrollable content (e.g., internet browsers, photoshop, music editing software, etc.) the scrollwheel is reserved for vertically navigating the content.
> It would also be nice if the "Thread State Selection" toolbar button could do more of the "Edit Thread Activity Lanes" dialog, since they're doing very similar things?
I could take a look into that, the concern was that it's quite a bit of information/controls to fit into a dropdown of limited space without having it overlap too much of the chart content.
-------------
PR: https://git.openjdk.java.net/jmc/pull/27
More information about the jmc-dev
mailing list