Skip to main content

GraalVM Dashboard

GraalVM Dashboard is a web-based tool to view aspects of dynamic and static compilations in GraalVM.

Dashboard Data Dump

To use this tool, we need to dump data first during the generation of a native image. There are three categories of command line options of native-image to use.

Options

Dump Path

-H:DashboardDump=<path> specifies the path of the dump file.

Scope of Dump Data

Options to select the scope of data to dump.

OptionDescription
-H:+DashboardAllDump all available data
-H:+DashboardHeapDump the breakdown of the image heap
-H:+DashboardCodeDump the breakdown of the code size per method
-H:+DashboardPointsToDump the points-to analysis information

Dump Format

Options to select the output format of dump data.

OptionDescription
-H:+DashboardBgvDump in BGV format (default)
-H:+DashboardJsonDump in JSON format
-H:+DashboardPrettyDump in JSON pretty print format

Usage

The command below generates all dashboard dump data in BGV format.

native-image -H:DashboardDump=dashboard.dump -H:+DashboardAll

View Dashboard

After the dump file is generated, it can be uploaded to GraalVM Dashboard.

Code Size Breakdown

The Code Size Breakdown displays the breakdown of the code by packages, classes and methods that were included into a native image.

Data is grouped by packages. Clicking on one block drills down into details of selected package.

Code size breakdown

Heap Size Breakdown

The Heap Size Breakdown displays a visual summary of the sizes of the preallocated objects of different classes included into a native image heap.

Heap size breakdown

Points-to Exploration

The Points-to Explorer allows exploring the points-to analysis process of a native image to find out why a certain method was included.

In the Code Size Breakdown, when navigating to a method, Points-to Explorer will be displayed.

Points-to exploration