VIP Application Performance Monitoring
VIP Application Performance Monitoring (VIP APM) monitors PHP code performance for WordPress environments on the VIP Platform. It provides sampled request, scheduled job, and command-line activity to help identify slow code, errors, database work, cache activity, WordPress hooks, and outbound HTTP requests. Sampled data appears in a separate diagnostic interface opened from the VIP Dashboard.
Prerequisites
To enable or disable VIP APM, a user must have an Org admin role or an App admin role for the application. Any user with access to the application can view the VIP APM diagnostic interface.
Limitations
- VIP APM supports production and non-production WordPress environments.
- The default sampling rate is 10%.
- Node.js environments are not yet supported.
Enabling VIP APM
- Log in to the VIP Dashboard.
- Open the application view for the application.
- Select a supported environment.
- Select Performance from the application navigation.
- Select VIP APM.
- Select Enable.
- Review the confirmation dialog.
- Select Enable VIP APM.
- Confirm that the service status changes to Enabled.
VIP APM uses a default sampling rate of 10%. Summary counts, charts, and traces represent sampled activity rather than all activity on the environment.
Opening the diagnostic interface
- Open Performance and VIP APM for the environment.
- Confirm that the service status is Enabled.
- Select View in VIP APM.
The diagnostic interface opens in a new browser tab. The access link expires shortly and can only be used once. If the link expires, return to the VIP Dashboard and select View in VIP APM again.

The Trace Explorer provides filters, performance charts, summary metrics, and sampled traces for the selected environment.
Forcing a specific request to be traced
VIP APM samples 10% of application activity. To force a specific request into the sample, append apm-force-trace=1 to any URI that reaches the application origin.
For a URI without existing query parameters:
https://example.com/path-to-test/?apm-force-trace=1
For a URI that already has query parameters:
https://example.com/path-to-test/?existing=value&apm-force-trace=1
The parameter forces only that origin request to be traced. It does not change the environment sampling rate.
After loading the URI, open VIP APM and select a time range that covers the request. Find the matching time and path in the trace table. If the response includes an X-Apm-Trace-Id header, its value is the trace ID.
Investigating application performance
- Select a preset time range or define a custom range.
- Review the summary for request activity, error rate, peak p95 latency, and the latest p99 latency.
- Review the Transaction time, Throughput, and Latency charts.
- Select Errors to show failed activity only.
- Filter by a domain to focus on one domain of the environment.
- Filter by an external host to find traces that include outbound HTTP requests.
- Set a minimum duration to focus on slower activity.
- Filter by transaction type to show only web requests, command-line tasks, or scheduled jobs.
- Filter by a route, scheduled job, or command-line task.
- Use Search by path or Filter by query to find specific transactions.
- Select a row in the trace table to open its trace details.
- Use Flame or Waterfall to inspect the order and duration of spans.
- Select By type to group work by database, cache, HTTP, hook, job, and other activity.
- Select By owner to group work by WordPress core, plugin, theme, or must-use plugin ownership.
- Select Show slow spans to reduce the trace to its slowest work.
- Select a span to review its duration, status, service, and recorded attributes.

The Waterfall view positions each span by start time and duration. Select Flame to view the same trace by call hierarchy.
Use Insights & Metrics for a broader view of application health and usage. The resources for identifying performance issues describe other tools available on the VIP Platform.
Filtering transactions with a query
Filter by query narrows the transaction table with a filter expression. Select Run to apply it. For example:
Path LIKE '/wp-admin/%' AND Duration > 500ms
| Fields | Operators |
|---|---|
| Route, Path | =, !=, LIKE, NOT LIKE, IN, NOT IN |
| Method, service | =, !=, IN, NOT IN |
| Duration | =, !=, >, <, >=, <= |
| Status | With an HTTP status code: >=. With ‘ok’/’error’: =, != only |
| host | = only |
Note: Field names and operators are not case-sensitive.
Durations accept ms or s with no space (e.g., 500ms, 1.5s); a number without a unit is read as milliseconds. Use host to find transactions that called a specific external host, for example host = 'api.example.com'. The host must match exactly. A query that covers too much data returns an error; select a shorter time range or add a filter, then run it again.
Understanding the diagnostic views
| View | What it shows |
|---|---|
| Health summary | Sampled activity, error rate, peak p95 latency, and the latest p99 latency for the selected range. |
| Transaction time | Average execution time grouped by work type or code owner. |
| Throughput | Sampled activity per second over the selected range. |
| Latency | p50, p95, and p99 execution time over the selected range. |
| Trace table | Individual requests, scheduled jobs, and command-line tasks with duration and status. |
| Routes, CLI, and Cron | Sampled activity, errors, and latency grouped by route, command-line task, or scheduled job. |
| Flame | Nested execution spans grouped by call hierarchy. |
| Waterfall | Individual spans positioned by start time and duration. |
| Span details | Recorded attributes for the selected span, including available database, cache, process, and WordPress context. |
| Databases | Query volume and timing grouped by database operation. See Monitoring database performance with VIP APM. |
Disabling VIP APM
- Open Performance and VIP APM for the environment.
- Open the More VIP APM actions menu next to View in VIP APM.
- Select Disable VIP APM.
- Review the confirmation dialog and confirm the change.
Disabling VIP APM stops new performance data from being sampled for the environment.
Troubleshooting
The VIP APM page is not available
Confirm that the selected environment is a WordPress environment. Production and non-production environments are supported. Node.js environments are not yet supported.
The enable action is not available
Confirm that the user has an Org admin or App admin role for the application.
The diagnostic link has expired
Return to the VIP Dashboard, open Performance and VIP APM, then select View in VIP APM again.
The activity count is lower than the environment traffic
VIP APM uses a default sampling rate of 10%. Customers cannot change the sampling rate.
VIP APM shows no data right after enabling
Data usually appears within a couple of minutes of enabling VIP APM. Because VIP APM samples 10% of activity, an environment with little traffic can take longer to show results.
A route is missing from the Routes, CLI, or Cron table
These tables hide routes with fewer than 20 samples in the selected time range, so low-traffic routes may not appear. Select a longer time range, or find the individual requests in the trace table.
Last updated: October 20, 2026