WordPress.org

Plugin Directory

P3 (Plugin Performance Profiler)

See which plugins are slowing down your site. This plugin creates a performance report for your site.

1.5.3.9

Security update: Escape URLs returned by add_query_arg and remove_query_arg

1.5.3.8

Bugfix for HTML element with space in the id

1.5.3.7

Ensure HTML element names are distinct. Props mogulbuster

1.5.3.6

Internal version bump to ensure new CSS/JS isn't cached

1.5.3.5

  • CSS fix for jQuery UI Dialogs. props cklosows

1.5.3.3

  • Fixes a CSS issue with overlays and soem browsers

1.5.3.2

  • Style Updates for 4.1

1.5.3.1

  • Fixed logic bug in determining debug_backtrace arguements

1.5.3

  • Improved scanner performance (props askapache)
  • Fix a CSS conflict in overlays

1.5.2

  • Fix a race condition in the error detection logic
  • Add a notice about WordPress SEO and Jetpack

1.5.1

  • Fix a bug which broke debug mode and caused scanning to not work properly for some users.

1.5.0

  • Fixed a CSS compatibility issue between WordPress 3.8 / MP6 and jQuery UI (props mintfactory)

1.4.2

  • Fixed a php short tag. Props Dean Taylor
  • Fixed an E_STRICT notice. Props Dean Taylor
  • Fixed an issue with debug_backtrace that broke with php 5.2.4. Props tobbykanin

1.4.1

  • Fixed a logged php notice during uninstall
  • Fixed a php notice when starting scan. props rrhobbs
  • Removed a reference to a missing stylesheet. props zorl-zorl

1.4

  • Added a Turkish translation. Thanks to Hakaner! http://hakanertr.wordpress.com/
  • Updated some UI elements to allow for longer text strings for translations
  • Refreshed UI to be 3.5.x compatible and use standard admin coloring
  • Added a 'p3_automatic_scan_urls' filter

1.3.1

  • Fixed an error when upgrading to 1.3.x from 1.1.x and skipping the 1.2.x upgrade.

1.3.0

  • Internationalized P3
  • Compatibility with WordPress 3.4.0
  • Fixed a bug with European decimalization (0,00 vs. 0.00)
  • Major refactoring for better adherence to best practices, using fewer hooks, and consuming less memory
  • Raised memory limit override to 256M so large backtraces don't kill the site
  • Added a kill switch. If P3 is causing problems, visit yoursite.com/wordpress/index.php?P3_SHUTOFF=1 to turn off P3
  • Added automatic error detection. If a page fails to load during profiling, the next page load will turn off P3 automatically
  • Removed ajax error alerts; they weren't helpful
  • Path to the profiles folder is now determined on the init hook

1.2.0

  • Remove .profiling_enabled file, store profiling flag as a WordPress option
  • Remove code that writes to .htaccess file
  • Removed fix-flag-file page, no longer necessary
  • Added a link to the "no visits recorded" message pointing to the help page
  • Bugfix - with the manual profile "I'm done" button not showing the intended scan
  • On upgrade, remove .htaccess auto_prepend_file code
  • On upgrade, delete .profiling_enabled file
  • Include a data point for all visits for all plugins on the detailed chart (If no data point exists, mark it as 0 to keep the line connected)
  • Add Debug log feature to help diagnose why scans aren't recording properly on some sites
  • Opcode optimizer detection / documentation
  • Opcode optimizer compatibility
  • Update the list of random URLs to scan - use 4 random categories, 4 random tags, 4 random posts, a random search word from the blog description, and the home page
  • Don't include the site's RSS feed in the automated scan, it's causing problems in some browsers which expect the feed to be loaded as a document
  • Support HTTP_X_REAL_IP
  • Remove file locking, it's preventing the profiles from being saved on some hosts
  • Removing calls to filter_var, some 5.2.x builds use --disable-filter so this isn't reliable
  • Bugfix - Pausing a scan and clicking "View results" showed an error message
  • Bugfix - Avoid using "../" for compatibility with open_basedir
  • Upgrade routine was being done in the wrong order

1.1.3

  • Bugfix - regression bug re-introduced in v 1.1.2. Thanks to user adamf for finding this so quickly!

1.1.2

  • Don't show screen options if there is no table
  • Show a "rate us / tweet us" box
  • Add an option to circumvent browser cache
  • Bugfix - Properly work with encrypted plugins (eval based obfuscation)
  • Bugfix - Work with suhosin/safe mode where ini_set / set_time_limit are disabled
  • Bugfix - Remove "Options -Indexes" because it's causing 500 error in some apache setups
  • Bugfix - Fix a warning with theme name detection if the theme is no longer installed

1.1.1

  • Bugfix - Plugin names with apostrophes broke the UI
  • Bugfix - Fix a deprecated warning with callt-ime pass by reference

1.1.0

  • Including plugin usage percentage / seconds in e-mail report
  • Including theme name in e-mail report. Profiles created in older versions will show "unknown"
  • Grammar / wording changes
  • Remembering "disable opcode cache" in options table
  • New option for "use my IP." If this is set, the current user's IP address will be used, if not, the stored IP pattern will be used
  • IP patterns will be stored as an option
  • Fixed: IP patterns were incorrectly escaped
  • Now displaying profile name in the top right
  • If the profile didn't record any visits (e.g. wrong IP pattern) then an error will be displayed
  • Fixing pagination on the history page
  • Made the legends on the charts a bit wider for sites with a lot of plugins and plugins with long names
  • Added the ability to toggle series on/off in the "detailed timeline" chart
  • Removed network wide activation code - each site will be "activated" when the admin logs in
  • Removed "sync all profile folders whenever a blog is added/deleted" code. Profile folders will be added when admins log in, removed when blogs are removed
  • When uninstalling, all profile folders and options will be removed
  • Using get_plugin_data() to get plugin names. If the plugin doesn't exist anymore, or there's a problem getting the plugin name, the old formatting code is used

1.0.5

  • Security - Fixed a path disclosure vulnerability
  • Security - sanitized user input before it gets back to the browser
  • Thanks to Julio Potier from Boiteaweb.fr

1.0.4

  • Bugfix - uninstalling the plugin when it hasn't been activated can result in an error message

1.0.3

  • Enforcing WordPress 3.3 requirement during activation
  • Documented warning about usort() and php bug

1.0.2

  • Fixed an error message when clicking "stop scan" too fast
  • Brought plugin version from php file in line with version from readme.txt and tag

1.0.1

  • readme.txt changes

1.0

  • Automatic site profiling
  • Manual site profiling
  • Profile history
  • Continue a profile session
  • Clear opcode caches (if possible) to improve plugin function detection
  • Limit profiling by IP address (regex pattern)
  • Limit profiling by site URL (for MS compatibility)
  • Rewrite http URLs to https to avoid SSL warnings when using wp-admin over SSL
  • Hide the admin toolbar on the front-end when profiling to prevent extra plugin scripts/styles from loading
  • In-app help / glossary page
  • Activate / deactivate hooks to try different loader methods so the profiler runs as early as possible
  • Uninstall hooks to clean up profiles
  • Hooks add/delete blog to clean up profiles
  • Send profile summary via e-mail

Requires: 3.3 or higher
Compatible up to: 4.1.6
Last Updated: 2015-4-20
Active Installs: 100,000+

Ratings

4.5 out of 5 stars

Support

0 of 7 support threads in the last two months have been resolved.

Got something to say? Need help?

Compatibility

+
=
Not enough data

0 people say it works.
0 people say it's broken.

0,1,0
0,1,0 0,1,0 0,1,0
100,2,2 83,6,5 100,1,1 67,3,2 71,7,5 100,2,2
67,6,4 55,11,6 100,2,2 86,14,12 89,27,24
82,11,9 100,2,2 100,7,7
100,4,4
100,14,14
90,10,9 100,3,3 80,5,4
76,17,13
100,30,30
100,5,5
71,7,5
89,9,8
100,1,1
71,14,10
100,8,8
92,13,12
0,1,0
100,4,4 100,3,3
25,4,1 67,3,2 100,1,1 100,1,1
100,1,1
83,6,5 80,5,4 100,2,2 100,3,3
100,1,1 100,1,1
100,2,2 100,1,1 86,7,6
100,8,8 100,1,1
100,2,2
100,3,3