Log analyser / visualiser for Java HotSpot JIT compiler. Inspect inlining decisions, hot methods, bytecode, and assembly. View results in the JavaFX user interface.
Java Shell Batchfile Scala CSS JavaScript
Switch branches/tags
Clone or download
Latest commit 81422e4 Aug 2, 2018
Permalink
Failed to load latest commit information.
.mvn/wrapper Merge outstanding branch and stash to sync ant and maven Jan 28, 2018
config Initial gradle build setup Aug 10, 2015
core Zing support Aug 2, 2018
gradle Removed tools.jar dep as JavapTask is now loaded via reflection where… Nov 10, 2017
lib Build improvements Apr 26, 2014
ui Zing support Aug 2, 2018
.gitattributes Make all scripts executable when project is built using Gradle Oct 15, 2017
.gitignore Merge outstanding branch and stash to sync ant and maven Jan 28, 2018
CONTRIBUTING.md Create CONTRIBUTING.md Oct 24, 2017
LICENSE-BSD updated copyright year Mar 21, 2017
PRIVACY Removed tools.jar dep as JavapTask is now loaded via reflection where… Nov 10, 2017
QUICKSTART.txt OpenJDK user instructions for JavaFX UI Sep 12, 2017
README.md OpenJDK instructions for JavaFX dependency. Sep 12, 2017
build.gradle Removed tools.jar dep as JavapTask is now loaded via reflection where… Nov 10, 2017
build.properties JIT compiler thread activity visualisations Dec 9, 2017
build.xml Merge outstanding branch and stash to sync ant and maven Jan 28, 2018
gradlew Update Gradle to 4.2.1 and plugins to latest versions Oct 10, 2017
gradlew.bat Update Gradle to 4.2.1 and plugins to latest versions Oct 10, 2017
histoPlotter.bat Removed tools.jar dep as JavapTask is now loaded via reflection where… Nov 10, 2017
histoPlotter.sh Removed tools.jar dep as JavapTask is now loaded via reflection where… Nov 10, 2017
jarScan.bat Removed tools.jar dep as JavapTask is now loaded via reflection where… Nov 10, 2017
jarScan.sh Added --verbose switch to JarScan to show progress Feb 26, 2018
launchHeadless.bat Removed tools.jar dep as JavapTask is now loaded via reflection where… Nov 10, 2017
launchHeadless.sh Removed tools.jar dep as JavapTask is now loaded via reflection where… Nov 10, 2017
launchUI.bat Removed tools.jar dep as JavapTask is now loaded via reflection where… Nov 10, 2017
launchUI.sh Removed tools.jar dep as JavapTask is now loaded via reflection where… Nov 10, 2017
makeDemoLogFile.bat Removed tools.jar dep as JavapTask is now loaded via reflection where… Nov 10, 2017
makeDemoLogFile.sh Make all scripts executable when project is built using Gradle Oct 15, 2017
mvnw Merge outstanding branch and stash to sync ant and maven Jan 28, 2018
mvnw.cmd Merge outstanding branch and stash to sync ant and maven Jan 28, 2018
pom.xml Added activation for JDK10 Apr 12, 2018
settings.gradle Support UI/core split in Gradle build Jul 9, 2016
showLines.sh showLines utility script accepts log filename as parameter Oct 4, 2014

README.md

JITWatch

Log analyser and visualiser for the HotSpot JIT compiler.

  • Video introduction to JITWatch video
  • Slides from my LJC lightning talk on JITWatch slides

For instructions and screenshots see the wiki

https://github.com/AdoptOpenJDK/jitwatch/wiki

The JITWatch user interface is built using JavaFX. This is included in the Oracle JDK. If you are using a JDK that does not include JavaFX (e.g. Azul Zulu, or some flavour of packaged OpenJDK on Linux) then you can download a pre-built OpenJFX jar from https://chriswhocodes.com and put it in your build classpath.

ant

ant clean compile test run

maven

mvn clean compile test exec:java

gradle

gradlew clean build run

Jenkins CI

http://chriswhocodes.com:8080/

Build an example HotSpot log

# Build the code first with ant / maven / IDE
./makeDemoLogFile.sh

Java 8 Compatibility

Find out how you can also use this logo with your F/OSS projects

Compatibility Badge