IntelliJ IDEA 14.1.0 Help

V8 Profiling Tool Window

The tool window is opened automatically when you stop the Node.js application you are profiling. If the window is already opened and shows the profiling data for another session, a new tab is added. Tabs that were opened automatically are named after the run configurations that control execution of the applications and collecting the profiling data.

If you want to open and analyze some previously saved profiling data, choose V8 Profiling - Analyze V8 Profiling Log on the main menu and select the relevant V8 log file isolate-<session number>. IntelliJ IDEA creates a separate tab with the name of the log file.

Based on the collected profiling data, IntelliJ IDEA builds three call trees and displays each of them in a separate pane. Having several call trees provides the possibility to analyze the application execution from two different points of view: on the one hand, which calls were time consuming ("heavy"), and on the other hand, "who called whom".

On this page:

Toolbar

ItemTooltipDescriptionAvailable in
edit.png Jump to source Click this button to navigate to the function definition. Top Calls
Bottom-up
Top-down
filter.png Filter Click this button to filter out light calls and have IntelliJ IDEA display only the calls that indeed cause performance problems. Using the slider, specify the minimum Total% or Parent% value for a call to be displayed and click Done. Top Calls
Bottom-up
Top-down
icon_expand_heavy_calls.png Expand Heavy Traces When a tab for a profiling session is opened, by default the nodes with heaviest calls are expanded. While exploring the trees, you may like to fold some nodes or expand other ones. Click this button to restore the original tree presentation. Top Calls
Bottom-up
Top-down
expandAll.png
collapseAll.png
Expand All/
Collapse All
Click these buttons to expand or collapse all the nodes in the current pane. Top Calls
Bottom-up
Top-down
exportToTextFile.png Export to text file/
Export Timeline Chart
Click this button to save the call tree in the current pane to a text file or the current timeline chart to a .png file. Then specify the target file in the dialog box that opens. All
help.png Help Click this button to navigate to the Help topic for the tool window. All
close.png Close Click this button to close the V8 Profiling tool window. All
find.png Zoom Click this button to open the selected fragment of the timeline chart in a separate tab and have the selected fragment enlarged to fit the tab width so you can examine the fragment with more details. Timeline
icon_image_size.png Image Size Click this button to resize the timeline chart to fit the screen of your device. Timeline

Context Menu

The context menu is available only from items in the Top Calls, Bottom-up, and Top-down panes.

ItemDescription
Copy Call Choose this option to copy the name of the selected function and the name of the file where it is defined to the Clipboard.
Copy Choose this option to copy the name of the selected function, the name of the file where it is defined, and the measurements data. This may be helpful if you want to compare the measurements for a function from two sessions, for example, after you make some improvements to the code.
Compare with Clipboard Choose this option to compare the selected with the contents of the Clipboard in the Difference Viewer that opens.
Expand Node/
Collapse Node
Choose these options to expand or collapse the selected tree node.

Top Calls Pane

The Top Calls pane shows a list of performed activities sorted in the descending order by the Self metrics. For each activity IntelliJ IDEA displays its Total, Total%, and Self% metrics. For each function call, IntelliJ IDEA displays the name of the file, the line, and the column where the function is defined.
v8ProfilerCPUTopCalls.png

Bottom-up Pane

The Bottom-up pane also shows the performed activities sorted in the descending order by the Self metrics. Unlike the Top Calls pane, the Bottom-up pane shows only the activities with the Total% metrics above 2 and the functions that called them. This is helpful if you encounter a heavy function and want to find out where it was called from.

For each activity IntelliJ IDEA displays its execution time in ticks and the Of Parent metrics. For each function call, IntelliJ IDEA displays the name of the file, the line, and the column where the function is defined.

Top-down Pane

The Top-down pane shows the entire call hierarchy with the functions that are execution entry points at the top. For each activity IntelliJ IDEA displays its Total, Total%, Self, and Self% metrics. For each function call, IntelliJ IDEA displays the name of the file, the line, and the column where the function is defined. Some of the functions may have been optimized by V8, see Optimizing for V8 for details.
  • The functions that have been optimized are marked with an asterisk (*) before the function name.
  • The functions that possibly require optimization but still have not been optimized are marked with a tilde (~) character before the function name. Though optimization may be delayed by the engine or skipped if the code is short-running, a tilde (~) points at a place where the code can be rewritten to achieve better performance.
v8ProfilerCPUTrees.png

See Also

Last modified: 14 July 2015