Debugging and Profiling in WordPress: What is My Site Doing?
1. Debugging and Profiling in WordPress:
" " " What Is My Site Doing?
Peter Baylies aka
@pbaylies on Twitter
Semper Fi Web Design
2. Methodology
• Troubleshooting - be systematic
• Test against a development server
• Deactivate conflicting plugins
• Test against a default theme
• When all else fails...
3. Getting Started
• Edit your wp-config.php
• define( 'WP_DEBUG', true );
• define( 'WP_DEBUG_DISPLAY', false );
• Other options?
7. Debugging Tools
• Debug Bar - It's like FireBug for WordPress.
• Debug Bar Extender - with even more features.
• Query Monitor - Another take on both and more.
• Collect all three!
• ...yes, there are lots more.
8.
9.
10.
11.
12.
13. What is 'Profiling'?
• extensive performance metrics
• data collection, data analysis
• can track function calls, runtimes, control flow
14.
15. P3 Plugin Profiler
• Made by GoDaddy
• Generates pretty graphs!
• It's ok I guess?
• Be careful interpreting its advice.
• Honestly - this isn't a real profiling tool at all.
16.
17.
18.
19.
20.
21. XHProf
• Made by Facebook
• It's a PHP extension - some assembly required.
• There's a WordPress plugin to help you use it:
WP XHProf Profiler"
• Execution time and memory use of all functions
• Shows a call graph of all functions
22.
23.
24.
25.
26.
27.
28.
29. XDebug
• Full-featured PHP debugging extension.
• Again, some assembly required.
• But once you have it working, it's very handy.
• Can integrate with many code editors.
• In theory can even do breakpoints (!)
• http://xdebug.org/docs/remote
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41. Live Demo!
• This is the fun part.
• Which of these would you like to see more of?
• Where did I confuse you the most?