RFR: 6364: Improvements to the Thread Graph [v4]
Alex Macdonald
aptmac at openjdk.java.net
Tue Aug 25 14:35:16 UTC 2020
> This patch addresses JMC-6364 [[0]](https://bugs.openjdk.java.net/browse/JMC-6364), the epic for tracking Improvements
> to the JFR Thread Graph. This RFR is also a follow-up to an RFC
> [[1]](http://mail.openjdk.java.net/pipermail/jmc-dev/2019-October/001454.html) that was posted to the jmc-dev list and
> incorporates the feedback that was brought up during discussion. The new design and features was imagined in
> collaboration with our UX team, and the implementation has been a joint effort between myself and Jessye (@jessyec-s) -
> we had been originally collaborating on a fork of the old (unofficial) JMC GitHub repo. I've folded all the commits
> down into one because the older commits were merged using PRs with a similar format (e.g., `jmc/pull/23`) to this repo,
> so to avoid accidental noise (sorry about that) on other PRs I've just folded them away. If anyone is interested in the
> individual commits that got to this point, I've kept them around in the old repo
> [[2]](https://github.com/aptmac/jmc-old/commits/jfr-threads-page). This PR aims to improve the usability and
> functionality of the JFR Threads Page by extending and enhancing existing classes. In an attempt to not clutter this PR
> with lots of images and explanatory text, I've created a gist
> [[3]](https://gist.github.com/aptmac/61808c89bfcf1888080884fc8a61bd36) that provides information and images/gifs of the
> new components and intended functionality. Gist: https://gist.github.com/aptmac/61808c89bfcf1888080884fc8a61bd36
> Summary of changes:
> - Introduction of canvases to display the thread names (left) and timeline (bottom)
> - Scrolled composites to house the text and chart canvases, for vertical scrolling of the chart area
> - Timeline canvas (bottom) is draggable for panning the chart
> - Current threads table has been re-located to a popup table
> - New filter bar (top) which alters the chart view based on time ranges and desired visible activity lanes
> - New display bar (right) which houses the zoom mechanics
> - New zoom pan component for easily navigating the chart
> - Introduction of a colour palette to increase contrast between neighbouring activity lanes
> - Controls to change the height of the thread lanes
> - updated and new uitests
>
> Before:
> 
>
> After:
> 
>
> Let me know if you have any questions about the design & functionality.
>
> [0] https://bugs.openjdk.java.net/browse/JMC-6364
> [1] http://mail.openjdk.java.net/pipermail/jmc-dev/2019-October/001454.html
> [2] https://github.com/aptmac/jmc-old/commits/jfr-threads-page
> [3] https://gist.github.com/aptmac/61808c89bfcf1888080884fc8a61bd36
Alex Macdonald has updated the pull request incrementally with one additional commit since the last revision:
run mvn:spotless for uitests
-------------
Changes:
- all: https://git.openjdk.java.net/jmc/pull/27/files
- new: https://git.openjdk.java.net/jmc/pull/27/files/031668e1..d8cfe7d4
Webrevs:
- full: https://webrevs.openjdk.java.net/jmc/27/webrev.03
- incr: https://webrevs.openjdk.java.net/jmc/27/webrev.02-03
Stats: 70 lines in 3 files changed: 1 ins; 0 del; 69 mod
Patch: https://git.openjdk.java.net/jmc/pull/27.diff
Fetch: git fetch https://git.openjdk.java.net/jmc pull/27/head:pull/27
PR: https://git.openjdk.java.net/jmc/pull/27
More information about the jmc-dev
mailing list