Profile runtime with Xdebug & Webgrind
Note: Xdebug is only for development sites. Use Tideways on live production websites.
Xdebug is a debugger and profiler for PHP. We mainly use it as profiler and it’s installed in the Vagrant box by default.
You can profile any page in Vagrant by visiting them and using the
?XDEBUG_PROFILE paramater in the url.
This will generate a new dbkg dump which you can the analyze in your browser using webgrind.
- Enter the Vagrant box with
vagrant sshand inside it run
wp-xdebug-onto ensure Xdebug is active.
- Visit: http://wordpress.local/wp-admin/?XDEBUG_PROFILE
- Visit http://webgrind.wordpress.local/
- Click update button and wait for webgrind to analyze the dump.
- You can see the profiling of the admin page and look up slow functions which you can then optimize.
Profiling and traces can easily also be triggered using the Xdebug Helper Chrome extension. For optimal operation use the settings:
- IDE key: vagrant
- Trace Trigger Value: XDEBUG_TRACE
- Profile Trigger Value: XDEBUG_PROFILE