• English日本語한국어
  • Log inStart now

Transition guide for switching to newer synthetic monitor runtime

If your monitors are on our legacy runtime, we recommend updating those synthetic monitors to take advantage of the newer runtime's features. By updating them, you improve the backend environment in which your public monitors execute.

Making the switch gives you these features:

  • Access to our NerdGraph API to automate the management of your synthetic monitors.

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. To prevent your critical monitors from breaking during future end of life processes, we recommend converting your monitors sooner rather than later.

To convert:

  1. Go to one.newrelic.com > Synthetic monitoring, then select the monitor you want to edit.
  2. Click General.
  3. Use the dropdown menu to switch the current runtime view (use Node.js 16 for scripted API monitors and Chrome 100+ for scripted browser monitors).
  4. Click Validate to check that your monitors function in the new runtime. Make any script modifications if needed.
  5. Save.


Refer to 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. You may need to switch to the legacy runtime if you're creating a monitor for a private location using containerized private minions instead of synthetics job managers.

  1. Go to one.newrelic.com > Synthetic monitoring > Create monitor, then select the monitor type you want to create.
  2. Use the Runtime dropdown menu to switch between the legacy and new runtime environment.
  3. Create your monitor.

While the new runtime is backwards compatible with the legacy runtime, we recommend that you convert to the new environment as soon as possible.

Use NerdGraph to manage your monitors

You can manage synthetic monitors using our NerdGraph API. Compared with our previous REST API functionality, you 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 programatically create broken links, step, and certificate check monitors.

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 /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 newer 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

New Relic is committed to inclusivity, which you can read more about 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.