Linux 软件免费装
Banner图

Scrutoscope – WordPress Performance Profiler

开发者 kurtpayne
更新时间 2026年7月15日 14:20
PHP版本: 7.4 及以上
WordPress版本: 7.0
版权: GPLv2 or later
版权网址: 版权信息

标签

speed debug performance development slow database queries monitoring benchmark profiler diagnostics profiling

下载

1.3.4 1.4.0

详情介绍:

From the author of P3 (Plugin Performance Profiler) — Scrutoscope is the spiritual successor, rebuilt from scratch for modern WordPress. Your site is slow. Scrutoscope tells you why. It profiles every hook callback during a page request and attributes the time to its source — plugin, theme, core, mu-plugin, or drop-in. You see which plugin costs the most, which queries are heavy, and which HTTP calls block the response. Everything is included. No premium tier, no feature gates, no upsells. 100% open source. Live Demo See a real report from a WooCommerce cart page with 12 active plugins — 544 ms of server time, broken down to the callback. The report is encrypted and decrypted entirely in your browser. The relay server never sees the contents. Open live report → What It Measures Key Features Design Philosophy

安装:

  1. In your WordPress admin, go to Plugins → Add New and search for Scrutoscope
  2. Click Install Now, then Activate
  3. Go to Tools → Scrutoscope
Or install manually: download from GitHub, upload to wp-content/plugins/, and activate. Background measurement is optional and off by default. To capture a profile, open Tools → Scrutoscope and start a profiling session, or enable background measurement with a sample rate you choose.

屏幕截图:

  • Request Timeline showing phase markers, HTTP wait lane, query density, and memory curve
  • Sources tab ranking each plugin and theme by exclusive callback time
  • Queries tab with grouped SQL patterns, duplicate detection, and source attribution
  • HTTP Calls tab listing external requests with status, duration, and caller
  • Trace tab with 11,883 callbacks, search, filter presets, and sortable columns
  • Routes view with trend sparkline, regression detection, and profile history
  • Cron tab with scheduled hooks, source pills, cost from last run, and overdue alerts
  • Share Report dialog with expiry, burn-after-read, passphrase, and section checkboxes
  • Shared report opened in the zero-knowledge relay viewer (decrypted in the browser)
  • API tab: Send to Agent with one-click prompt generation for AI coding agents
  • API tab: Shared Reports ledger and Access Log showing endpoint usage by IP
  • Settings: background measurement, capture rate presets, user/path filters
  • Settings: profile retention and proxy header trust for CDN/load-balancer setups
  • AI agent terminal output diagnosing a blocking HTTP call as the top performance issue

升级注意事项:

1.4.0 On-demand cron profiling with per-hook segmentation and cross-tab filtering. WP-CLI support. 1.3.4 WP_Filesystem compliance fix for mu-plugin migration. 1.3.3 WP_Filesystem for all file writes, tighter export path validation. 1.3.2 Anonymous profiling restored, wp.org review compliance fixes. 1.3.1 Path-only URLs, raw IPs in access log, updated screenshots. 1.3.0 Product rename: Scrutinizer is now Scrutoscope. All database tables, options, and settings migrate automatically on upgrade. No action required. 1.2.6 Dashboard enhancements: route sparklines, trace memory column, and tab-switch fix. 1.2.5 Plugin Check compatibility fixes for wp.org submission. 1.2.4 Breakdown bar fix and DB prefix stripping in shared reports. No default changes. 1.2.3 Internal refactor and polish. Minified assets load by default (39% smaller). No behavior changes. 1.2.2 Cron tab reorganized with collapsible sections and profile history. Shared report timeline/trace rendering fixed. Routes view paginates. No default changes. 1.2.1 Adds a capture feedback banner so users know profiling is active while browsing. No default changes. 1.2.0 Adds opt-in Lightweight Mode (production-safe, ~95% smaller profiles) and opt-in Cron profiling (per-hook cost). No default changes. 1.1.0 Two default changes: early-boot timing is now opt-in, and query profiling (SAVEQUERIES) defaults off. Also: redesigned Request Timeline, core-developer attribution, and security hardening. 1.0.3 Security hardening (IP hashing, token binding, proxy spoofing fix), background profiling filters, full-page settings view. 1.0.2 Auto-installs the early boot timer. Bootstrap timing now works out of the box. 1.0.1 Bug fixes and polish. Adds shared reports ledger and profile TTL controls. 1.0.0 Initial release.

常见问题:

Does Scrutoscope slow down my site?

TL;DR: Negligible overhead on non-profiled requests (a few ms). During active profiling, roughly 100–200 ms per request depending on your setup. There are two kinds of overhead. An always-on check on every request — a few milliseconds — decides whether the request is being profiled; this is what every visitor pays, and it's negligible. When a request is being profiled (an admin session, or the sampled fraction of background traffic), instrumenting the hooks and timing every callback adds roughly 100-200ms in our benchmarks (closer to 100ms in Lightweight Mode, closer to 200ms with the full trace). Both vary a lot with your environment — number of active plugins, OPcache, whether MySQL is local or remote, your hardware, and current load — so we report what we measured rather than promising a number. Background measurement is off by default; when you turn it on you choose the sample rate, and at a low rate most requests only pay the few-ms check. Query detail is a separate opt-in: enabling Query Profiling turns on WordPress SAVEQUERIES, which makes WordPress keep query text, timing, and caller in memory for the request — extra overhead you only pay when you ask for query detail, so leave it off when you just need request and source timing. And you're always one click from zero: deactivating Scrutoscope removes all overhead and keeps your captured profiles (only deleting the plugin removes the data).

What data leaves my server?

Nothing, unless you choose to share a report. The "Send to Support" feature encrypts your report in the browser before upload. The relay server never sees your data. No telemetry, no analytics, no phone-home.

Does it work with WooCommerce?

Yes. Scrutoscope profiles any WordPress request, including WooCommerce pages, AJAX calls, and REST API endpoints.

Can I use it on a production site?

Yes, with a low sample rate (0.1% or 1%). Scrutoscope is designed for background capture at scale. Use higher rates for focused debugging.

更新日志:

1.4.0 1.4.0 On-demand cron profiling with per-hook segmentation and cross-tab filtering. WP-CLI support. 1.3.4 1.3.3 1.3.2 1.3.1 1.3.0 1.2.7 1.2.6 1.2.5 1.2.3 1.2.2 Cron visibility, sharing fixes, and wp.org polish. 1.2.1 Capture experience polish. 1.2.0 Production-safe capture and cron visibility. 1.1.0 This release focuses on trust — opt-in defaults and honest disclosure — alongside a redesigned timeline and deeper attribution. 1.0.3 1.0.2 1.0.1 1.0.0