Integrated: 7451: Add heat map view

Alex Ciminian duke at openjdk.java.net
Mon Dec 6 10:31:15 UTC 2021


On Wed, 24 Nov 2021 17:46:13 GMT, Alex Ciminian <duke at openjdk.java.net> wrote:

> This PR adds a new plugin (`flightrecorder.heatmap`) which renders a visualisation similar to the one in [this Observable notebook](https://observablehq.com/@cimi/jfr-heatmap).
> 
> The code is simpler than both the flame view and the graph view, because of less rendering options and less dependencies - the heatmap only requires d3 and currently does not support any user configuration.
> 
> Each cell represents 100 milliseconds from the recording. We decided to automatically adjust the size of the cell so that the entire heatmap fits inside the window. This is different from the observable notebook which ensured each row represented 6s (i.e. it had a fixed number of 60 columns). The auto-sizing seems to work well with both small and large recordings, although we lose consistency when we resize the window and some periodic patterns are no longer visible when we vary the number of columns.
> 
> Feedback welcome, here's how this looks now:
> 
> 
> ![Screenshot 2021-11-30 at 22 29 46](https://user-images.githubusercontent.com/348973/144139450-a6ec9cb9-4a38-4678-82ad-3f0d1c30ad29.png)
> (short recording - 2 min)
> 
> 
> ![Screenshot 2021-11-30 at 22 29 11](https://user-images.githubusercontent.com/348973/144139426-d3dc0d01-5d28-4f29-8199-0b020b5e4fb7.png)
> 
> (long recording - 15 min)

This pull request has now been integrated.

Changeset: ba365fb2
Author:    Alex Ciminian <alexandru.ciminian at datadoghq.com>
Committer: Marcus Hirt <hirt at openjdk.org>
URL:       https://git.openjdk.java.net/jmc/commit/ba365fb282bbb4a90ef21a0962a5f204f011b3e3
Stats:     684 lines in 15 files changed: 671 ins; 0 del; 13 mod

7451: Add heat map view

Reviewed-by: hirt

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

PR: https://git.openjdk.java.net/jmc/pull/337


More information about the jmc-dev mailing list