A log analyzer and visualizer for the Java HotSpot JIT compiler, enabling inspection of inlining, hot methods, bytecode, and assembly.
JITWatch is a log analyzer and visualizer for the Java HotSpot JIT compiler. It parses compiler logs to show inlining decisions, hot methods, bytecode, and generated assembly, helping developers understand runtime optimizations. The tool provides a JavaFX-based interface for interactive exploration of compilation behavior.
Java developers, performance engineers, and JVM researchers who need to analyze and optimize JIT compilation behavior in their applications.
Developers choose JITWatch for its specialized focus on JIT compiler introspection, offering a unique visual interface to debug performance issues and understand optimization decisions that are otherwise opaque in standard profiling tools.
Log analyser / visualiser for Java HotSpot JIT compiler. Inspect inlining decisions, hot methods, bytecode, and assembly. View results in the JavaFX user interface.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
JITWatch parses HotSpot JIT compiler logs to reveal optimization details like inlining decisions and hot methods, providing transparency into runtime behavior as highlighted in the key features.
Offers a JavaFX-based GUI for exploring compilation data interactively, making complex JIT behavior more accessible through visual exploration.
Includes a video introduction and slides from talks, serving as a learning tool for JVM internals, as referenced in the README with direct links.
Displays Java bytecode alongside generated assembly code, aiding performance tuning by showing how code is transformed at runtime, as per the key features.
Specifically designed for the HotSpot JIT compiler, so it cannot analyze logs from other JVM implementations like OpenJ9 or GraalVM, limiting its applicability.
Relies on JavaFX for the user interface, complicating setup for headless environments or older JDK versions, as noted in the README for pre-JDK11 requirements.
Requires Maven to build and package the tool with 'mvn clean package', adding steps compared to pre-packaged binaries or simpler installation methods.
Primarily analyzes saved logs rather than offering live profiling, which restricts use for real-time performance debugging and dynamic monitoring.