Skip to content
Chris Newland edited this page Jun 15, 2016 · 53 revisions

Description

A tool for understanding the behaviour of the Java HotSpot Just-In-Time (JIT) compiler during the execution of your program.

Works by processing the hotspot.log file output by the JVM.

This tool started out as a learning vehicle to gain a better understanding of HotSpot and JavaFX.

I hope you find it useful :)


Why would I use JITWatch?

  • To verify whether methods you believe to be performance-critical were JIT-compiled during the program's execution.
  • To learn at what point in the execution your performance-critical methods were compiled.
  • To understand the effects of tuning JVM compilation thresholds.
  • To gain a better understanding of the HotSpot JIT compiler.
  • To see how your source code is translated into bytecode and assembly.

Features

  • Browse class trees and view which methods were JIT-compiled, when JIT-compilation occurred, and information about the compilation.
  • Mount your source, jars, and class trees to jump to the source, bytecode, and assembly for a method.
  • Plot JIT compilations over time and visualise when a method was JIT-compiled.
  • View toplists of the largest native methods, methods with most bytecodes, longest compilation times, etc.
  • Open sourced under the Simplified BSD licence.

Download from Jenkins CI

Latest JITWatch jars built by CI

Add as a maven dependency

  <dependencies>
    <dependency>
      <groupId>com.chrisnewland</groupId>
      <artifactId>jitwatch</artifactId>
      <version>1.0.0</version>
    </dependency>
  </dependencies>