• EnglishEspañol日本語한국어Português
  • Log inStart now

Transition guide for switching to newer synthetic monitor runtime

If your monitors are on an old runtime, we recommend updating them. The new runtime includes better features, such as improving the backend environment in which your public monitors are running.

Making the switch gives you these features:


On October 22, 2024, we will end of life the containerized private minion (CPM) and legacy synthetics runtime versions. For public locations, use the runtime upgrade UI to update your monitors to the newest runtimes. For private locations, please review our recommended migration steps to avoid monitor degradation.

Private location requirements

Using new runtimes on private locations requires the installation of synthetics job manager.

Convert your monitors to the new runtime

Existing monitors default to the runtime used at their time of creation. We recommend converting your monitors sooner rather than later. This stops them from breaking during future end-of-life processes.

The runtime upgrades UI provides proactive runtime upgrade test results and allows you to make bulk runtime upgrades.

Convert multiple monitors

  1. Go to one.newrelic.com > Synthetic monitoring.

  2. Click Runtime upgrades on the left navigation pane.

  3. Click Upgrade all.

Convert a single monitor

  1. Go to one.newrelic.com > Synthetic monitoring.

  2. Select the monitor you want to want to convert.

  3. Click General on the left navigation pane.

  4. Use the dropdown menu of the Runtime field to switch the current runtime view (use Node.js 16 for scripted API monitors or Chrome 100+ for scripted browser monitors).

  5. Click Validate to check that your monitors function in the new runtime. Make any script modifications if needed.

  6. Click Save monitor.


    See our runtime upgrade troubleshooting guide for common upgrade errors and solutions.

Create a monitor in the new runtime

When you create a new simple browser monitor, scripted browser monitor, or scripted API monitor, the new runtime will be the default. But, if you're creating a monitor for a private location. And, if you're using containerized private minions instead of synthetic job managers, you may need the legacy runtime.

To create a monitor in the new runtime:

  1. Go to one.newrelic.com > Synthetic monitoring.

  2. Click Create monitor.

  3. Select the monitor type you want to create.

  4. Set the fields you consider. Name is a required field.

  5. Use the dropdown menu of the Runtime field to switch between the legacy and new runtime environment.

  6. Click Select locations.

  7. Click Define steps to configure the step builder.

  8. Click Save monitor.

The new runtime is backward compatible with the old one. But, we recommend you switch to the new one as soon as possible.

Use NerdGraph to manage your monitors

You can manage synthetic monitors using our NerdGraph API to get:

  • Management of your certificate check monitors, broken links monitors, and step monitors.
  • Simplified processes for creating scripted monitors.
  • The ability to attach scripts to scripted monitors with only one call (as opposed to two calls).
  • The ability to add tags to your monitors.

NerdGraph also lets you create broken links, step, and certificate check monitors with code.

Get custom timing details with your scripted API monitors

Using the $http object or request module in the legacy runtime allowed some of your scripted API monitors to report timing details. The result details were limited to script logs, a check result (pass or fail), and were unavailable with Node.js modules.

The new synthetic monitoring runtime includes out-of-the-box timing details when using the default $http object. To get custom timing details when using other Node.js modules, you can use the $har library to report to New Relic.

Deprecated features

The new runtime includes syntax changes and other deprecations. We're introducing new language that changes the script syntax in your scripted browser monitors. The new runtime is backwards compatible with legacy runtime syntax in most cases. To avoid breaking monitors during the upgrade process, you may receive a deprecation warning in your script log output.

As of version 2.0.29 or higher of the browser runtime, you will no longer receive deprecation warnings for using the $browser or $driver syntax in the new runtime. You can continue to use this Selenium 3.6 compatible syntax in the Selenium 4.1 runtime. You can also choose to use the $webDriver and $selenium based Selenium 4.1 syntax.


New (if applicable)


white/black list

allow/deny list

You can learn more about New Relic's commitment to inclusivity on our diversity, equity, and inclusion page.

Selenium WebDriver promise manager / control flow

Use async/await or .then to handle promises

Selenium WebDriver promise manager / control flow allowed some functions to execute in order, without manually managing promises / async functions. This was removed in Selenium WebDriver 4.0 and is not available in the new runtime. All async functions and promises need to be managed with await or with .then promise chains. This will ensure script functions execute in the expected order.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.