performwp / performwp/perform

Add admin diagnostic safe mode for isolating slow plugin behavior

Open
#145 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area: admin-ui area: compatibility area: performance enhancement priority: low risk: backward-compatibility status: needs-spec
Dominant language
PHP
Stars
5
Forks
2
PR merge metrics
No merged PRs in 30d

Description

Summary

Add a guarded admin diagnostic safe mode that helps administrators isolate whether specific plugin or theme behavior is contributing to slow wp-admin requests.

This should be treated as a 2.0.0 design-first feature because the risk of breaking admin behavior is higher than ordinary diagnostics.

Why this matters

When an admin area is slow or intermittently timing out, site owners often need a way to identify the source without permanently deactivating plugins on a live site. A current-user, temporary diagnostic mode could help isolate slow behavior while reducing the risk of disrupting visitors or other administrators.

Proposed scope

  • Design a signed, current-user-only diagnostic session for administrators.
  • Allow a temporary admin request/session to suppress selected diagnostic targets where safe.
  • Keep the first version limited to observation and isolation, not permanent configuration changes.
  • Show clear warnings before enabling any temporary suppression.
  • Record timing/memory comparison for normal versus diagnostic requests when possible.
  • Provide a safe exit/reset path.

Safety requirements

  • Do not affect frontend visitors.
  • Do not affect other users by default.
  • Do not persistently deactivate plugins or themes.
  • Do not bypass WordPress authentication, authorization, nonces, or security checks.
  • Avoid suppressing behavior on screens where it could corrupt data, break purchases/orders, or bypass security-critical logic.
  • Any implementation must be feature-detected, reversible, and heavily guarded by capability checks.

Acceptance criteria

  • A technical design explains exactly what can and cannot be suppressed.
  • The feature is current-user-only and time-limited.
  • The UI explains risk clearly before activation.
  • The diagnostic mode has an obvious reset/exit path.
  • No persistent plugin/theme activation state is changed.
  • Tests or runtime validation cover permission denial, expired tokens, multisite behavior, data-changing admin screens, and safe cleanup.

Implementation notes

This should build on the admin performance monitor rather than ship first. It may be better as a later extension once Perform has enough admin diagnostics to identify candidate bottlenecks safely.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing admin performance monitor, which this issue identifies as the foundation for the feature. Produce a technical design covering suppression boundaries, capability and nonce checks, current-user and time limits, multisite behavior, data-changing screens, and cleanup. Done means the design and validation plan address every listed acceptance and safety requirement without changing persistent plugin or theme state.

Written by the indexing model from the issue text.

Assessment

Tech stack
php, wordpress
Domain
backend, performance, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.