Updated on May 5, 2020

Java Flight Recorder

Java Flight Recorder(JFR) is a monitoring tools that collects information about the Java Virtual Machine(JVM) when Hyperledger Besu is running. Use the JFR as a tool to analyse Besu performance.

Enabling Java Flight Recorder

To enable JFR, add the following to the Java runtime arguments:

-XX:StartFlightRecording=disk=true,delay=15s,dumponexit=true, \
filename=/tmp/recording.jfr, maxsize=1024m,maxage=1d, \
settings=profile,path-to-gc-roots=true

Tip

When recording, cleanly exiting Besu results in better data. If not possible to cleanly exit, the file may be missing some information not flushed to disk.

Inspect the file written to /tmp/recording.jfr with tools such as Mission Control.

Important

If providing the output file to PegaSys support, be aware that while JFR files do not contain secrets such as private keys, some details about the user configuration can be inferred from the JFR output.