When a page is slow or misbehaving, you need to see what it actually did — not guess.
debugging/profile-url fires one same-host request to a URL with Query Monitor capturing, and returns the page’s database queries, outbound HTTP calls, PHP errors, template, time and memory.
At a glance
| Ability | debugging/profile-url |
| Toolset | Diagnostics — toolset/diagnostics |
| Group | Diagnostics › Query Monitor |
| Requires | Query Monitor, active on the site |
| Capability | manage_options |
| Safety | Read-only — changes nothing |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Abilities Manager 0.0.43 and later |
How it works
Pass the url to profile, and optionally slowest_limit (how many of the slowest queries to return, 1–50, default 10).
It fires one same-host loopback request to that URL, authenticated as the administrator running it with a single-use, short-lived session, so Query Monitor’s full collector pipeline runs and the profile reflects the logged-in administrator view of the page.
Off-site hosts and non-HTTP(S) schemes are refused. It reads Query Monitor’s data and changes nothing on the site.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
url | string | Yes | Absolute http(s) URL on this site to profile. |
slowest_limit | integer | No | How many of the slowest queries to include (1–50, default 10). |
What comes back
| Name | Type | What it is |
|---|---|---|
profiled_url | string | The URL that was profiled. |
http_status | integer | The HTTP status the loopback request returned. |
viewed_as | string | Which user the page was viewed as. |
profile | object | Generation time and peak memory; the database query count and total time with the slowest and duplicated queries; outbound HTTP calls; PHP errors and doing-it-wrong notices; the template that rendered the page; and enqueued-asset counts. |
success | boolean | Whether the call completed. |
message | string | A one-line summary of what happened, suitable for showing a human. |
error_code | string | Present only on failure — a stable machine-readable reason, such as an off-site URL or Query Monitor not being active. |
Example
Ask your assistant:
Profile the home page and show me its slowest database queries.
It resolves to one call:
{
"ability": "debugging/profile-url",
"parameters": {
"url": "https://example.com/",
"slowest_limit": 10
}
}Worth knowing
- Read-only — it reads Query Monitor’s capture and writes nothing.
- The profile is the logged-in administrator view, captured through a single-use session that is destroyed straight after.
- Needs the Query Monitor plugin active; without it you get a clear “not active” message rather than an error.
Related abilities
- Get Environment — the PHP, MySQL and WordPress snapshot
- Get Object Cache Status — whether a persistent object cache is connected
- Toggle Query Monitor — turn Query Monitor on or off
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category