jitwatch
jitwatch copied to clipboard
Log analyser for Java HotSpot compiler. All development is now on the fork: https://github.com/AdoptOpenJDK/jitwatch
This project has moved to AdoptOpenJDK/jitwatch to benefit the wider Java community.
All further development will take place on the AdoptOpenJDK fork.
JITWatch
Log analyser for the Java HotSpot JIT compiler.
For more information and screenshots see: http://www.chrisnewland.com/jitwatch
Processes a completed hotspot.log or tails a live one.
Easily view which methods are JIT-compiled and plot a timeline of JIT compilations.
Add source trees and jars/class folders to enable opening source / bytecode from a context menu.
To generate the log file used by JITWatch run your program with JVM switches
-XX:+UnlockDiagnosticVMOptions -XX:+TraceClassLoading -XX:+LogCompilation -XX:+PrintAssembly
If you want to use the -XX:+PrintAssembly switch to view the assembly language (disassembled JIT-compiled native code) then you need to use a debug JVM build or have built the hsdis (HotSpot disassembler) binary.
Instructions for building hsdis are here: http://dropzone.nfshost.com/hsdis.htm
Building JITWatch
Build with ant
ant clean ant
If you get compile errors relating to external dependencies (JDK lib/tools.jar and jre/lib/jfxrt.jar) then set your JAVA_HOME environment variable to point to a JDK
export JAVA_HOME=/path/to/jdk ant
Build with maven
mvn package
Running JITWatch
Run with launch scripts
#GUI Version ./launchUI.sh
#Simplifed Text Version ./launchHeadless.sh
If required, edit the launch scripts to set up your JDK_HOME variable by uncommenting and completing the line
#export JDK_HOME=
Run with ant
ant run
Run with maven
mvn exec:java