Skip to content

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

  1. Log in to the VIP Dashboard.
  2. Open the application view for the application.
  3. Select a supported environment.
  4. Select Performance from the application navigation.
  5. Select VIP APM.
  6. Select Enable.
  7. Review the confirmation dialog.
  8. Select Enable VIP APM.
  9. 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

  1. Open Performance and VIP APM for the environment.
  2. Confirm that the service status is Enabled.
  3. 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

  1. Select a preset time range or define a custom range.
  2. Review the summary for request activity, error rate, peak p95 latency, and the latest p99 latency.
  3. Review the Transaction time, Throughput, and Latency charts.
  4. Select Errors to show failed activity only.
  5. Filter by a domain to focus on one domain of the environment.
  6. Filter by an external host to find traces that include outbound HTTP requests.
  7. Set a minimum duration to focus on slower activity.
  8. Filter by transaction type to show only web requests, command-line tasks, or scheduled jobs.
  9. Filter by a route, scheduled job, or command-line task.
  10. Use Search by path or Filter by query to find specific transactions.
  11. Select a row in the trace table to open its trace details.
  12. Use Flame or Waterfall to inspect the order and duration of spans.
  13. Select By type to group work by database, cache, HTTP, hook, job, and other activity.
  14. Select By owner to group work by WordPress core, plugin, theme, or must-use plugin ownership.
  15. Select Show slow spans to reduce the trace to its slowest work.
  16. 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
FieldsOperators
Route, Path=, !=, LIKE, NOT LIKE, IN, NOT IN
Method, service=, !=, IN, NOT IN
Duration=, !=, >, <, >=, <=
StatusWith 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

ViewWhat it shows
Health summarySampled activity, error rate, peak p95 latency, and the latest p99 latency for the selected range.
Transaction timeAverage execution time grouped by work type or code owner.
ThroughputSampled activity per second over the selected range.
Latencyp50, p95, and p99 execution time over the selected range.
Trace tableIndividual requests, scheduled jobs, and command-line tasks with duration and status.
Routes, CLI, and CronSampled activity, errors, and latency grouped by route, command-line task, or scheduled job.
FlameNested execution spans grouped by call hierarchy.
WaterfallIndividual spans positioned by start time and duration.
Span detailsRecorded attributes for the selected span, including available database, cache, process, and WordPress context.
DatabasesQuery volume and timing grouped by database operation. See Monitoring database performance with VIP APM.

Disabling VIP APM

  1. Open Performance and VIP APM for the environment.
  2. Open the More VIP APM actions menu next to View in VIP APM.
  3. Select Disable VIP APM.
  4. 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

Relevant to

  • WordPress