Monitor and analyze your application’s performance right in IntelliJ IDEA.
Profile your application without leaving the IDE.
To start profiling in IntelliJ IDEA, click on three dots in the upper-right corner of the IDE or on a "Play" gutter icon next to a code line and select "Profile with IntelliJ Profiler".
The IntelliJ Profiler has in-editor performance hints, which enhance your profiling experience by providing easy-to-interpret color-coded annotations right in the gutter.
The IDE provides a way to monitor live performance statistics with the following metrics for running applications: CPU, heap memory, threads, and non-heap memory. Live data can help you visualize resource consumption, identify resource-related bottlenecks, and understand how certain events affect your program’s performance.
Read, analyze, and navigate Java application snapshots in the IDE.
This view helps you visualize the call stack for a selected thread and see how it changes over time. The wider a stack frame is, the longer the method takes to execute. The colored blocks display native, library, and user code.
This view shows the percentage of the CPU time used by the methods, the method execution path in your application, and the total sample count. Call tree is useful for a quick overview of application activity and detection of critical execution paths.
This view shows a list of the methods executed while you were profiling your data. All of them are sorted by cumulative sample time. Each selected method has several views that show you either the method’s callers or callees.
This is a visual representation of threads activity over time. It is helpful for detecting unusual GC activity, multithreading issues such as livelocks, and so on.
In IntelliJ IDEA, you can analyze .hprof
snapshots to find memory leaks in your code and locate the objects that consume the most memory.
Thread dumps capture the state of your Java application at a particular instant. This helps you diagnose synchronization issues for any process.
Guides