RFR: Enhancements for Shenandoah's generational mode [v6]

William Kemper wkemper at openjdk.org
Tue Mar 28 19:49:19 UTC 2023


> During the course of the development of the generational mode for Shenandoah, we have found this tool useful to demonstrate progress and changes in behavior. We have also found this tool useful for troubleshooting performance issues and debugging crashes. There are many changes here, but these are the highlights:
> * The age and affiliation of a region are encoded in the border and shape of the region (respectively).
> * Phases are encoded with different colors for different generations and whether they have degenerated.
> * A mechanism to record and replay session has been added (record feature is implemented in hotspot and is not yet upstream).
> * Popup windows can be opened for additional detail on regions, as well as their history.
> * The legend shows the number of regions in the state described by the legend item.
> * Visualizer can now 'find' VMs running Shenandoah with region sampling enabled.
> 
> Many months ago we broke backward compatibility on our branch, but we have recently restored it so the time seems right for a PR. Thank you for looking and sorry for the massive number of changes.

William Kemper has updated the pull request incrementally with 51 additional commits since the last revision:

 - Fix comment formatting
 - Update copyrights
 - WIP: Fix issues for live mode
 - WIP: Use a fixed size buffer for events
 - Show initial logFile argument in toolbar
 - Do not load log files on event loop thread
 - Factor visualizer frame setup out of main function
 - Fix weird 3-space indentation
 - Layout improvements
 - WIP: Fix warnings
 - ... and 41 more: https://git.openjdk.org/shenandoah-visualizer/compare/dadfaff6...06abcd90

-------------

Changes:
  - all: https://git.openjdk.org/shenandoah-visualizer/pull/1/files
  - new: https://git.openjdk.org/shenandoah-visualizer/pull/1/files/dadfaff6..06abcd90

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=shenandoah-visualizer&pr=1&range=05
 - incr: https://webrevs.openjdk.org/?repo=shenandoah-visualizer&pr=1&range=04-05

  Stats: 3912 lines in 36 files changed: 1713 ins; 1796 del; 403 mod
  Patch: https://git.openjdk.org/shenandoah-visualizer/pull/1.diff
  Fetch: git fetch https://git.openjdk.org/shenandoah-visualizer.git pull/1/head:pull/1

PR: https://git.openjdk.org/shenandoah-visualizer/pull/1


More information about the shenandoah-dev mailing list