The WP Performance Profiler is best run as a must-use plugin. And we have provided comprehensive instructions on how to do this here.
- Once the plugin is activated, navigate to Profiler in your Dashboard.
- To filter the data, enter the required information in the boxes below the tabs and click ‘filter’.
- For a list of installed plugins on the site and general plugin stats, click the ‘plugins’ tab.
- To view in-depth information on a specific request, select it from the ‘requests’ tab and then click the ‘in depth’ tab. Please note, not all requests have detailed information available due to the level of logging.
- Settings can be changed via the ‘settings’ tab.
Frequently Asked Questions
What benefit does this have over server level profiling?
Tools like the xdebug profiler are great, but they add a lot of overhead and are focused on individual requests, and also require setup at the server level, which you may not have access to. The WP Performance Profiler is optimised to work with WordPress with minimal setup. It’s also focused on being lightweight and can help to spot trends in aggregate data.
Why does this plugin need to be installed as a must-use plugin instead of a regular one?
Although it’s possible to run this plugin as a normal one instead of a must-use one, it would capture less data, and the data it does capture would be less accurate. This is because must-use plugins are loaded much earlier than normal ones, allowing the profiler to monitor the load time of all plugins, and not just ones loaded after it (which could be none).
Why does it create its own database tables instead of using the core WordPress tables?
As the plugin captures and stores a lot of information, it creates its own tables for best performance. This also has the benefit of not cluttering up the core WordPress tables, and makes it much easier for the plugin to clean up after itself.
Why is this not logging exactly 10% of requests?
The logging is based on probability, not absolute metrics. Although it would be possible to make the number of requests logged more accurate, this would add overhead to every single request, not just the ones being logged. Therefore, in the interest of performance, it will only log the request if the probably of a random number if less than or equal to your target. This will mean that sometimes you get slightly more or less than the target number of requests.
What’s the difference between basic and advanced logging?
Basic logging is very light weight and will only capture the URL, total duration, amount of memory used, number of database queries, template used and the type of request. Advanced logging will also capture the execution time of each plugin down to the function level, as well as all the database queries.
Basic logging is great to leave running in the background to get an idea of the overall performance of your site and spot trends, such as slow performing requests, templates or types of requests. Advanced logging is then great for drilling down in more detail to find out how the time is spent on those slow requests. In the requests table, advanced requests will have the link to view details in the actions column.
Can this be used on a production website?
Yes, although this plugin is primarily meant as a developer tool – so is most beneficial running on your local development environment and staging servers – it can be used in production. We’ve tried to minimise the overhead as much as possible, but any tool like this will innevitably carry an overhead in terms of performance and also database size.
If you are going to run it in a production environment, it’s recommended to set the advanced logging level to a very low number, and the basic level to a low-medium number. With a large amount of traffic, this will still capture a lot of data with minimal overhead. If you run it with higher values (especially for the advanced logging), you’ll need to periodically purge the database in the maintenance tab.
How do I report a problem?
Best thing to do is head over to the blog and post a comment. We’ll look into all problems reported.
Are there any compatibility issues I should be aware of?
Unfortunately the WP Performance Profiler is not compatible with HHVM or PHP 7. The minimum PHP version required to run the plugin is 5.3 and we have tested the plugin up to 5.6.
What do I do if I’m really stuck?
You can email us at firstname.lastname@example.org with ‘Performance Profiler’ in the subject and the following information:
1. What browser and version is this problem occurring with?
2. What WordPress version are you using?
3. What version of Performance Profiler are you using?
To find out in Chrome and Firefox: it’s ctrl + shift + j
To find out in Internet Explorer: it’s F12 and click on ‘Script’ then ‘Console’)
5. What are the steps you used to produce this problem?