Skip to content

Releases: hpi-swa-lab/native-image-visualizations

Final project result

03 Apr 13:44
dd92305
Compare
Choose a tag to compare

This release includes artifacts for trying out our visualizations on projects that can be built with GraalVM Native Image.
Therefore we provide a modified GraalVM that is able to produce our additional data output. A build for Ubuntu 22.04 is attached below.

Getting started

Acquiring data during Native Image building

  1. Download the graalvm-ce-javaXX-...-.tar.gz for the java version of your choice.
  2. Unpack it to a location of your choice (e.g. /usr/lib/jvm/)
  3. Set the environment variable JAVA_HOME to the unpacked directory root (e.g. /usr/lib/jvm/graalvm-ce-javaXX-.../)
  4. Build your project: If your build process involves invoking GraalVM Native Image manually, use the one from the unpacked archive (e.g. /usr/lib/jvm/graalvm-ce-javaXX-.../bin/native-image). If you want to visualize the causal relationships in your code and be able to make cutoff hypotheses, add the option -H:+PrintCausalityGraph to Native Image.
    After building has finished the report printed on stdout will refer to additonal files that have been generated:
    <name>.reachability.json and <name>.cg.zip.
    While either can be used as input for our visualizations, the latter should be used whenever possible as it contains strictly more data.

Visualize the data

  1. Download the observatory.zip and unpack it to a location of your choice.
  2. Start a local web-server in this location (e.g. python3 -m http.sever)
  3. Navigate to the local website using your favorite browser.
  4. In the tab called Data Manager, select a build output generated during Native Image building.

Dumps 2023-03-27

27 Mar 16:36
Compare
Choose a tag to compare

This release contains dumps generated from the sample projects.

Changes

  • Causality Data can explain more unknown heap objects
  • Snippet methods tracked
  • Smaller export file sizes

Dumps 2023-03-15

15 Mar 13:24
Compare
Choose a tag to compare
Dumps 2023-03-15 Pre-release
Pre-release

This release contains dumps generated from the sample projects.