When integration with XDebug profiler is enabled, IntelliJ IDEA provides visual representation of profiler snapshots. IntelliJ IDEA 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:
- Initiate an XDebug debugging session
- Retrieve the data accumulated by the profiler
- Examine the profiling data
- To start debugging an entire application with a configuration, create debug configuration of the type PHP Web Application, and launch debugging by clicking the Debug toolbar button .
- To debug a specific PHP HTTP request, define a debug configuration of the type PHP HTTP Request, and launch debugging by clicking the Debug toolbar button .
- Enable control over the debugger from the browser.
- Generate bookmarklets to toggle the debugger through.
- Open the starting page of your application in the browser.
- To activate XDebug from the browser, choose the XDebug Start Profiler bookmark.
- Refresh the page.
- Return to IntelliJ IDEA and continue the session.
- On the main menu, choose .
In the Select XDebug profiler snapshot dialog box, that opens,
choose the folder and the file where the profiling data is stored.
IntelliJ IDEA presents the collected profiling data in a separate editor tab with the name of the selected profiler output file.
When you request on the accumulated profiling data, IntelliJ IDEA 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.