Kinsta’s APM tool helps you identify PHP performance bottlenecks on your WordPress site without having to sign up for third-party monitoring services like New Relic.

Available at no additional charge on all plans, the APM tool can be really useful when it comes to troubleshooting your website. The APM tool is designed to capture timestamped information about your WordPress site’s PHP processes, MySQL database queries, external HTTP calls, and more.

With the APM data, you can dig into specific slow page loads to identify the root cause of the issue.

Keep in mind that Kinsta’s APM tool is specifically designed to help you monitor WordPress sites, so using it to monitor a site running on another CMS or framework may result in inaccurate results. Thus, we only recommend using it for WordPress sites.

APM Tool Terminology

Before we dive into how to use the APM tool, let’s define a few important terms that will be used later on.


APM, short for “Application Performance Monitoring” is a tool that gives you insight into the performance statistics and trends of an application. Kinsta’s APM tool provides you with actionable data about the performance of your WordPress site.


In the context of the APM tool, a request refers to a visit to your WordPress site that requires PHP execution to render. A request URL can include various query string parameters and will trigger a corresponding transaction.

For example, a request to would trigger a /wp-cron.php transaction.


A transaction refers to the backend activity that occurs to serve a request to your WordPress site. For example, the transaction for a request to /wp-login.php contains the individual PHP processes that generate your WordPress site’s login page.


A span refers to an individual process in a transaction. A single transaction may consist of hundreds of spans arranged hierarchically.

For example, a transaction that generates an account page for a WooCommerce customer may consist of a span that breaks down into multiple database query spans.

Transaction Sample

A transaction sample refers to a selected instance out of many requests to a specific transaction endpoint (e.g. /single.php, /wp-cron.php, etc.). In the APM tool, you’ll have three samples to choose from.

For example, the APM tool may record dozens of /wp-cron.php transactions. In this case, the APM tool will pick out the slowest transaction and call it a transaction sample.

Transaction Trace

A transaction trace is a complete timeline of all processes that occurred in a transaction sample. In our APM tool, a transaction trace is represented by a list of spans with its corresponding duration and timestamp information.

Transaction trace timeline for a transaction sample.
Transaction trace timeline for a transaction sample.

Stack Trace

A stack trace is a detailed process breakdown for an individual span. Stack traces are useful for in-depth debugging. They contain very detailed information about the PHP code that was executed, down to a specific PHP file and line of code.

A stack trace for a span.
A stack trace for a span.

How to Enable Kinsta’s APM Tool

Prefer to watch the video version?

By default, the APM tool is disabled. Since the APM tool requires additional server resources, we recommend only enabling it when you’re actively troubleshooting a performance issue on your WordPress site.

To enable the APM tool, log in to MyKinsta, navigate to your site’s Kinsta APM tab, and click the Enable button.

Enable Kinsta APM in MyKinsta.
Enable Kinsta APM in MyKinsta.

Next, select a monitoring duration for Kinsta APM. You can choose between 2 hours, 4 hours, 12 hours, and 24 hours. Since Kinsta APM may reduce the performance of your site, we don’t recommend leaving it enabled for an extended period of time. Once you’ve selected a monitoring duration, click Enable monitoring time to start Kinsta APM. After the monitoring duration has passed, Kinsta APM will be disabled automatically.

Selected Kinsta APM monitoring duration.
Selected Kinsta APM monitoring duration.

How to Select a Monitoring Time Frame

By default, the APM tool provides monitoring data from the past 60 minutes. However, the monitoring time frame is customizable, and you can choose between the options below.

To change this setting, click on the time frame button and select an option in the modal that appears. Click the Apply time frame button to set the new time frame.

Change the APM tool monitoring time frame.
Change the APM tool monitoring time frame.

How to Refresh the Kinsta APM Tool

Kinsta’s APM tool displays performance monitoring data based on the set time frame (e.g. past 30 minutes, past 60 minutes, etc.). To prevent confusion, the APM tool does not automatically refresh data. To refresh the APM tool and display the latest data from the selected time frame, click on the refresh (redo) icon near the top of the page.

Use the refresh (redo) icon to update APM data.
Use the refresh (redo) icon to update APM data.

How to Read APM Tool Insights

Since the data logging does not start until after the APM tool has been enabled, you’ll need to give it some time to gather performance data for your site. We recommend waiting 5-10 minutes before inspecting the monitoring data.

After that, here are some key insights to look at.

APM Tool – Overall Transaction Time

The Overall Transaction Time bar graph gives you a visual representation of transaction time data from the selected timeframe. Each bar consists of a multicolor breakdown of PHP, MySQL, Redis, and External transaction times. The Overall Transaction Time graph also shows the selected timeframe’s average transaction time in the upper right corner.

The Overall Transaction Time bar graph.
The Overall Transaction Time bar graph.

APM Tool – Slowest transactions

The top ten slowest PHP transactions will appear in the Slowest transactions section of the page, which is split into six columns – Transaction, Total Duration (%), Total Duration, Max Duration, Avg. Duration, and Rate Per Min.

  1. Transaction: Displays the transaction endpoint of slow requests that consumed the most PHP time (e.g. /wp-cron.php, /wp-json, etc.).
  2. Total Duration (%): The percentage of time consumed by a transaction endpoint within the selected timeframe. The duration percentage is calculated with the “Duration (Time)” values, so it also does not represent the duration of an individual transaction sample.
  3. Total Duration: The total amount of time consumed by a transaction endpoint within the selected timeframe. Note that the duration refers to the sum of the duration of all requests to a particular endpoint, and does not represent the duration of an individual transaction sample.
  4. Max Duration: The slowest transaction sample duration from the selected timeframe.
  5. Avg. Duration: The average of all transaction sample durations from the selected timeframe.
  6. Rate Per Min: The number of times a transaction has run on average per minute in the selected timeframe.
Slowest transactions in the Kinsta APM tool.
Slowest transactions in the Kinsta APM tool.

APM Tool – Transaction Sample

If you click on a transaction in the Slowest transactions list, you’ll be presented with a modal containing up to three transaction samples from the selected timeframe.

  1. Slowest sample: The slowest transaction sample for a given transaction endpoint.
  2. 95th percentile: A transaction in the 95th percentile (95% of transactions are faster than this transaction sample).
  3. 50th percentile: A transaction in the 50th percentile (50% of transactions are faster than this transaction sample), also referred to as the median. You can think of this as the typical duration as there are exactly the same amount of slower and faster samples than this.
The transaction sample modal in the Kinsta APM tool.
The transaction sample modal in the Kinsta APM tool.

If there is enough monitoring data, the APM tool will display three transaction samples. If there is not enough data, you may see one or two samples. For example, the Slowest sample and 95th percentile samples may refer to the same transaction sample.

The Transaction samples modal/pop-up also shows useful information about each transaction sample including the timestamp, transaction endpoint, request URL, and duration.

If you click on a transaction sample in the modal, you’ll be brought to a dedicated page for the selected sample. This Transaction sample page includes the sample’s timestamp, transaction endpoint, URL, duration, HTTP status code, and a full transaction trace timeline.

Transaction info in the Kinsta APM tool.
Transaction info in the Kinsta APM tool.
  1. Timestamp: The date and time of the transaction sample.
  2. Transaction: The PHP endpoint of the transaction sample (e.g. /wp-cron.php, /single.php, etc.).
  3. URL: The specific URL of the transaction sample.
  4. Duration: The duration of the transaction sample in milliseconds.
  5. Result: The HTTP status code of the transaction. If you see an “HTTP 200” result, it means the transaction was slow but ultimately successful. However, if you see an “HTTP 503” result, it could mean the transaction timed out.

Each transaction sample has its own permalink or unique URL. This makes it easy to reference and share a specific transaction sample with your colleagues or the Kinsta Support team.

Transaction sample permalink.
Transaction sample permalink.

APM Tool – Transaction Trace Timeline

In addition to basic transaction info, the Kinsta APM tool also gives you a more detailed transaction trace timeline. Within the transaction trace timeline, you can see a step-through presentation of spans – PHP processes, MySQL database queries, and external calls for a particular transaction sample.

Each span also has its associated duration and relative timestamp, so you can quickly identify the longest and most problematic part of the request.

Relative to the total duration of the transaction sample, we are showing:

These highlights are always referred to the relative duration of the span in its own sample’s context. So if you’re seeing anything red, always take into account that it’s always compared to that given sample (and your site or web app might not be slow as a whole as you first thought).

Note that for MySQL and Redis queries, we do not include spans shorter than 0.001 ms. For non-database-related spans, the threshold is 1 ms. We purposely exclude short spans because recording a high number of fast elements can impact the performance of your site, and does not provide very useful data.

The transaction trace timeline in the Kinsta APM tool.
The transaction trace timeline in the Kinsta APM tool.

This detailed trace timeline is very useful for troubleshooting performance issues because it helps you pinpoint exactly what the bottleneck is.

For example, you may notice that slowness when /wp-admin/admin-ajax.php is requested is caused by long API requests to social network APIs. Armed with this knowledge, you can then continue testing your site with your social plugin disabled to see if it makes a difference.

Similarly, if you see a slow transaction to /wp-cron.php that contains repetitive HTTP requests initiated by a cache preloading plugin, you can act quickly on that information and disable the cache preloading functionality.

Span Details

If you click on a span in the transaction trace timeline, you’ll be able to see a detailed overview with a complete stack trace and associated information.

For example, if you click on a MySQL query span, you’ll see the database query that was executed along with the stack trace. By inspecting the span details, you can gain a deeper level of insight into PHP transactions on your WordPress site.

Span details in the transaction space timeline.
Span details in the transaction space timeline.

Kinsta APM FAQ

We’ve compiled a few popular questions regarding Kinsta APM, and provided answers to them below.

How Can I Enable Kinsta APM?

Kinsta APM is available at no additional costs with all plans. To enable it, you need to:

  1. Log in to MyKinsta
  2. Click on the website you’d like to debug
  3. Click the Monitoring tab
  4. Click Enable on the top-right corner to start APM

Will Kinsta APM Slow Down my WordPress Site?

As with other APM tools, Kinsta APM’s agent might add additional load to your server’s CPU and RAM resources and could potentially slow down your WordPress site for a limited time.

We strongly recommend only enabling Kinsta APM when you’re actively diagnosing a performance issue on your site.

Does Kinsta still support personal New Relic monitoring for customers with personal New Relic licenses?

Yes, Kinsta sites still support New Relic monitoring for customers with personal licenses.

Is it possible to use Kinsta APM and New Relic at the same time?

We do not recommend using both Kinsta APM and New Relic for monitoring at the same time. However, it’s okay to switch between Kinsta APM and New Relic as long as both tools are not active at the same time.

Is Kinsta APM compatible with other CMS platforms and frameworks?

At this time, Kinsta APM is only fully compatible with WordPress.

What If I See Some Unexpected Behavior on My Site After I Enable Kinsta APM?

We’ve already done extensive testing with different WordPress versions and a long list of plugins, however, there can still be unknown wrinkles to work out, like a plugin version or some custom development being incompatible with our monitoring solution.

For this reason when you enable the feature, always double-check that your site works fine, and if you see anything unintended behavior, disable the feature and make sure to let us know so that we can investigate and work out the issue.


At Kinsta, we are passionate about building tools and features that help you launch, develop, and manage WordPress sites with greater ease.

As we progress through the open beta phase for the Kinsta APM tool, we are looking forward to your valued feedback and ideas. To get in touch with our team, please use this feedback form. We appreciate your help!


Kinsta’s APM tool gives context to performance issues on your WordPress site. Instead of generic HTTP 502 errors or timeouts, the APM tool provides you with detailed breakdowns of slow requests.

With the Kinsta APM tool, you’ll be able to debug performance issues without installing a plugin like Query Monitor or activating a third-party service like New Relic.

If you’re working with a developer to address issues on your WordPress site, the Kinsta APM tool can also help you save time and money by providing you with a place to start.