PhpStorm 2018.2 Help

Analyzing Xdebug Profiling Data

When integration with Xdebug profiler is enabled, PhpStorm provides visual representation of profiler snapshots. PhpStorm opens a separate editor tab with four views where the data are presented based on different criteria.

To have the profiling data collected and analyze it, perform these general steps:

Initiating an Xdebug debugging session

To start an Xdebug session, do one of the following:

  • To start debugging an entire application, create debug configuration of the type PHP Web Page, and launch debugging by clicking Debug icons actions startDebugger svg.

    See Debugging with a PHP Web Page Debug Configuration for details.

  • To debug a specific PHP HTTP request, define a debug configuration of the type PHP HTTP Request, and launch debugging by clicking Debug icons actions startDebugger svg.

    See Debugging a PHP HTTP Request for details.

  • To initiate a zero-configuration debugging session:
    1. Toggle the Start Listen PHP Debug Connections button start_listening_php_debug_connections.png so it changes to stop_listening_php_debug_connections.png. After that PhpStorm starts listening to the port of the debugging engine used in the current project. Ports for debuggers are set at the PhpStorm level in the Debug dialog (File | Settings | PHP | Debug for Windows and Linux or PhpStorm | Preferences | PHP | Debug for macOS).

    2. Open the starting page of your application in the browser, choose the Start debugger bookmark to activate the debugging engine from the browser, re-load the current page (the starting page of the application), and then return to PhpStorm.

Retrieving the data accumulated by the profiler

  1. On the main menu, choose Tools | Analyze Xdebug Profiler Snapshot.

  2. In the Select Xdebug profiler snapshot dialog box, that opens, choose the folder and the file where the profiling data is stored.

    PhpStorm presents the collected profiling data in a separate editor tab with the name of the selected profiler output file.

Examining the profiling data

When you request on the accumulated profiling data, PhpStorm opens its visualized presentation in a separate editor tab. The tab is named after the selected profiler output file and consists of several views. Switch between the views to analyze the profiling data based on various criteria of analysis.

  • In the Execution Statistics view, examine the summary information about execution metrics of every called function.

  • In the Call Tree view, explore the execution paths of all called functions.

  • To explore the execution paths of a specific function, select the function in question in the Call Tree view and view its callees in the Callees view.

  • To explore all the paths that can result in calling a specific function, select the function in question in the Call Tree view and examine its possible callers in the Callers view.

Last modified: 21 November 2018

See Also