async-profiler Arguments Explained: A Practical Guide to Collecting the Right JFR Data

Choosing the correct arguments for asynchronous profiling with Java Flight Recorder (JFR) is crucial for obtaining relevant performance data. The guide highlights various profiling dimensions (CPU, memory allocation, lock contention) and explains how async-profiler effectively captures data without bias. Detailed command options, including event types and profiling duration, provide practical insights for effective usage and analysis.

Analyzing & Troubleshooting CPU Spike Using JFR

Java Flight Recorder (JFR) enables low-overhead profiling to diagnose CPU spikes, which occur when threads excessively consume CPU resources, often due to infinite loops or inefficient code. This blog outlines causes, simulates the issue, captures JFR data, and analyzes it to identify performance bottlenecks, specifically within the CPUSpikerThread class.

How to Capture Java Flight Recorder (JFR)

JFR recordings, available in JDK 11 and later, are crucial for diagnosing performance issues in JVM applications. They can be captured using JVM startup flags or the jcmd tool for running applications. This article provides a guide on methods to generate, analyze, and utilize JFR data effectively, emphasizing proactive data collection for troubleshooting.

Java Mission Control (JMC) vs. yCrash JFR Player

The document compares Java Mission Control (JMC) and yCrash's JFR Player for diagnosing JVM issues. JMC provides raw telemetry analysis manually, while JFR Player automates diagnostics via AI and offers collaborative cloud-based features. Key differences include proactive data capture, enhanced security, and capabilities for parsing fragmented logs and heap dumps, boosting efficiency in performance troubleshooting.