JavaFX, JVM Flight Recorder and Mission Control
In this exercise, we will explore the Java FX integration with JDK Flight Recorder. Use the GUIMark launcher to launch the GUIMark Bitmap benchmark application. You should see a tower shooting a laser at monsters.
We will use a pre-recorded recording for this exercise, 06_JFR_JavaFX/guimark.jfr , so you starting GUIMark was mostly pointless. But, come on – lasers? Monsters? It had to be seen.
Run GUIMark in Flight Recorder
Note: If you insist on having a locally produced recording, it is better to run the GUIMark Auto Record launcher. If you insist on not using the auto recording launcher, make sure to enable the JavaFX events in the recording wizard, or import the template in the project folder.
JavaFX Performance Profile
Try looking at the recording using the special Java FX page. Can you tell which pulse took the longest time (disregard the weird pulse 0)? What phase was the one that took the longest for that particular pulse? Which was the input event that took the longest?
Here are some additional videos and articles of mine (Cameron McKenzie) about Java Mission Control and Java Flight Recorder:
- Quick Introduction to Java Mission Control
- Java Mission Control 8 Eclipse plugin Install
- Fix Java memory leaks without costly JVM heap dumps
- The performance cost of autoboxing Java primitive types
- How to start Java's JVM Flight Recorder 3 easy ways
- Performance Problems with Synchronized Methods