Posts

Showing posts with the label troubleshooting

Profiling Java Applications with Async Profiler

My first Hackernoon story was published today. The story is " Profiling Java Applications with Async Profiler " With " Async Profiler ", both system code paths and Java code paths can be profiled with the help of AsyncGetCallTrace (an internal HotSpot JVM API) and perf_events . Async profiler supports several types of profiling. For example, CPU profiling Allocation profiling Wall-clock profiling Lock profiling The Hackernoon story demonstrates few examples of using Async Profiler and generating Flame Graphs as the output.

Stack Depth in Java Flight Recorder

Have you seen " ~ UNCLASSIFIABLE ~.() " in the Call Tree Tab when analyzing a Flight Recording in Java Mission Control? That means, you have stack traces with more than 64 frames. The default stack depth in Java Flight Recorder is 64 and it can be changed with stackdepth option in -XX:FlightRecorderOptions flag. Please read my Medium story for more details on the Stack Depth in Java Flight Recorder .

Java Flight Recorder Cheat Sheet

I created a cheat sheet for using Java Flight Recorder. It has steps to start Fight Recordings using JVM flags or using Diagnostic Commands in jcmd command. See: Java Flight Recorder Cheat Sheet