This help center has been deprecated and moved to a new address, please follow this link to open an active help center.

Thank you and sorry for inconvenience!


Performance testing plugin in PhpStorm

Enable CPU Profiler

There are two ways to enable CPU profiler in the IDE: Help > Diagnostic > Enable CPU Profiler and Help > Diagnostic > Enable persistent profiler.
The first one enables profiler until PhpStorm is restarted. This is a recommended way since it doesn't change your phpstorm.vmoptions file and doesn't increase system start time.
If you need to have the profiler enabled permanently, despite restart of the IDE and/or OS, please choose another "Enable persistent profiler" option.

Provide Performance Summary

"Show Performance Summary" dialog provides a summary of the project and currently opened file that can help developers to identify the root cause of the issue.
The summary doesn't reveal any confidential information.

Analysis of the Indexing Phase

If you experience any issues with indexing performance in the IDE, please enable Help > Diagnostic > Profile indexing and then invoke File > Invalidate caches and restart.
This action will modify your phpstorm.vmoptions file and will capture the CPU snapshot during the phase of indexing on the next run.

Execute Performance Script

"Execute Performance Script" dialog provides a convenient way to collect CPU snapshots that gather the most valuable information about performance issue.
The dialog contains predefined scripts for the common scenarios of IDE slow-downs as well as an ability to write your own scripts.

The first line is created automatically and points to the currently opened file in the editor.
After execution of the first line IDE starts to capture a CPU snapshot and stops collecting it after the very last line.

Please don't use mouse and keyboard during snapshot capturing.

After CPU snapshot is captured the performance summary dialog appears with options to submit support request and open CPU snapshot in file browser.

Available commands

Main available commands are:






Perform completion



Perform "online" inspection run


%goto line column

Place caret at specified line and column


%inspectCode extension

Perform batch inspection on files with specified extension using currently selected profile (but without Spellings)


%openFile file

Open file



Pause internal timer


%startProfile key

Start profiling using key as activity name



Stop profiling and save CPU snapshot



Wait till progress manager has no progress indicator



Reformat the whole project with selected profile


%delayType delay text

Type text with specified delay between key presses

Each command will wait until the corresponding action is finished so there is no need to insert additional waiter.

It's also possible to use all commands from Macros system (com.intellij.openapi.ui.playback.commands but please note that they don't have waiters. Execution of the script will be continued right after the action or command is triggered.


Powered by Zendesk