Synthetic Testing and Monitoring Settings
Overview
On the Synthetic Monitoring & Continuous Testing Settings page, you can access and control the following topics:
Default settings
On the Usage Attribution page, you can configure up to three tags by which to break down cost and usage attributes. Select Enforce tags for usage attribution on all tests to require that users enter all configured Usage Attribution tags when creating or editing Synthetic tests. With this setting enabled, users cannot save tests without entering all required tags.
Enforce required monitor tag policies on all tests
On the Synthetic Monitoring and Testing settings page, select Enforce required monitor tag policies on all tests to require that user-defined monitor tag policies are enforced on Synthetic tests. With this setting enabled, users cannot save tests without entering all required tags.
- Configure monitor tags on the Monitors > Settings > Policies page:
- Create a Synthetic browser test, and add the required policy tags:
Default locations
Choose the default locations for your API test, multistep API test, or browser test details.
Your options include all of the available managed locations Datadog offers and the private locations you set up for your account.
When you are done selecting locations, click Save Default Locations.
Default browsers and devices
Choose the default browser and device types for your browser test details.
Your options for browsers include Google Chrome, Mozilla Firefox, and Microsoft Edge. Your options for devices include a large laptop, a tablet, and a small mobile device.
When you are done selecting browsers and devices, click Save Default Browsers & Devices.
Choose or add the default tags for your API test, multistep API test, or browser test details.
When you are done selecting related tags, click Save Default Tags.
Default timeout
Add the default timeouts for your API test details.
When you are done entering the new timeouts, click Save Default Timeouts.
Default frequency
Choose or add the default frequencies for your API test, browser test, or mobile test details.
When you are done selecting related tags, click Save Default Frequencies.
Default retries
Choose or add the default number of times you’d like your test to retry on failure for your API test, browser test, or mobile test details.
When you are done entering the default retry values, click Save Default Retries.
Default mobile devices
Choose or add the default mobile devices you want to use in your mobile test details.
When you are done entering the default mobile devices, click Save Default Devices.
Permissions
By default, only users with the Datadog Admin and Datadog Standard roles can access the Synthetic Monitoring Default Settings page. To get access to the Default Settings page, upgrade your user to one of those two default roles.
If you are using the custom role feature, add your user to any custom role that includes synthetics_default_settings_read
and synthetics_default_settings_write
permissions.
Integration settings
APM integration for browser tests
Datadog’s APM integration headers allow Datadog to link browser tests with APM.
Define which endpoints you want to send the APM headers to by adding a URL to the Value list. If the endpoint is being traced and is allowed, your browser test results are automatically tied to its corresponding trace.
Use *
to allow wider domain names. For example, adding https://*.datadoghq.com/*
allows everything on https://datadoghq.com/
. When you are done adding URLs, click Save APM Integration Settings.
For more information, see Connect Synthetics and APM Traces.
Synthetic data collection and RUM applications
To allow Datadog to collect RUM data from your test runs, click Enable Synthetic RUM data collection. If disabled, you cannot edit RUM settings in the browser test recorder. To apply changes, click Save RUM Data Collection.
Select a default application for new browser tests to send data. Use the Default Application dropdown menu to select a RUM application that collects browser test data. To apply changes, click Save RUM Data Applications.
For more information, see Explore RUM & Session Replay.
Private locations
For more information, see Run Synthetic Tests from Private Locations.
Global variables
Global variables are variables that are accessible from all your Synthetic tests. They can be used in all single, multistep API tests, browser tests, and mobile app tests of your test suite.
To create a global variable, navigate to the Global Variables tab on the Synthetic Monitoring & Continuous Testing > Settings page and click + New Global Variable.
Choose the type of variable you want to create:
- Enter a Variable Name. Your variable name can only use uppercase letters, numbers, and underscores. This name should be unique across your global variables.
- Optionally, enter a Description and select Tags to associate with your variable.
- Enter the Value you want to assign to your variable.
- Optionally, use built-ins to assign values to your variable. For example, click on the
{{ alphabetic(n) }}
built-in to populate the Value field with an example of an alphabetic value. - Optionally, enable obfuscation of your variable to hide its value on test results.
The following built-ins are available:
- {{ numeric(n) }}
- Generates a numeric string with
n
digits. - {{ alphabetic(n) }}
- Generates an alphabetic string with
n
letters. - {{ alphanumeric(n) }}
- Generates an alphanumeric string with
n
characters. - {{ date(n unit, format) }}
- Generates a date in one of Datadog’s accepted formats with a value corresponding to the UTC date the test is initiated at, plus or minus
n
units. - {{ timestamp(n, unit) }}
- Generates a timestamp in one of Datadog’s accepted units with a value corresponding to the UTC timestamp the test is initiated at, plus or minus
n
units. - {{ uuid }}
- Generates a version 4 universally unique identifier (UUID).
- {{ public-id }}
- Injects the Public ID of your test.
- {{ result-id }}
- Injects the Result ID of your test run.
You can create variables from your existing HTTP tests by parsing their associated response headers and body or from your existing Multistep API tests by using their extracted variables.
Enter a Variable Name. Your variable name can only use uppercase letters, numbers, and underscores.
Optionally, enter a Description and select Tags to associate with your variable.
Enable obfuscation of your variable to hide its value on test results (optional).
Select the test you want to extract a variable from.
If you are using a multistep API test, extract your local variable from the test. If you are using an HTTP test, choose to extract your variable from the response header or the response body.
- Extract the value from Response Header: Use the full response header for your variable or parse it with a
regex
. - Extract the value from Response Body: Parse the response body of the request with a
regex
, a jsonpath
, an xpath
, or use the full response body. - Extract the value from the Response Status Code.
In addition to extracting a value with a regex, you can also use a regex to parse the following:
- Match not only the first instance of a pattern, but also all instances of the supplied pattern
- Ignore the case of the matching pattern
- Match strings over multiple lines
- Treat the passed regex pattern as unicode
- Allow period symbols to identify new lines
- Match from a given index within a regex pattern
- Substitute the matching pattern with a supplied value
Variable values are updated whenever the test they are extracted from runs.
To generate and use a TOTP in your tests, create a global variable where you enter a secret key or upload a QR code from your authentication provider. Note: Currently, only the SHA1 hashing algorithm is supported for TOTP.
- In Choose variable type, select MFA Token.
- In Define Variable, enter a Variable Name. Your variable name can only use uppercase letters, numbers, and underscores.
- Optionally, enter a Description and select Tags to associate with your variable.
- Enter the Secret Key to your variable or upload a QR code image.
- Click + Generate to create an OTP. You can copy the generated OTP with the Copy icon.
For more information about TOTP-based MFA in a browser test, see TOTPs For Multi-Factor Authentication (MFA) In Browser Tests.
To complete a user journey with a passkey in your Synthetics tests, create a Virtual Authenticator global variable. This global variable is used to generate and store passkeys for all your Synthetics browser tests. For more information, see Using passkeys In Browser Tests.
Navigate to the Global Variables tab in Synthetic Monitoring & Continuous Testing > Settings and click + New Global Variable.
In the Choose variable type section, select Virtual Authenticator.
In the Specify variable details section, enter a Variable Name. Your variable name can only use uppercase letters, numbers, and underscores.
Optionally, enter a Description, and select Tags to associate with your variable. Datadog then creates a virtual authenticator used to generate and store your passkeys.
In the Permissions settings section, restrict access to your variable based on roles in your organization. For more information about roles, see the RBAC documentation.
Once created, global variables can be used in all Synthetic tests. To import your global variables into your test, click + Variables, type {{
in a field you want to add the variable, and select your global variable.
For more information about variables, see the HTTP test, Multistep API test, Browser test, Mobile app test, and Browser Test Steps documentation.
Permissions
By default, only users with the Datadog Admin and Datadog Standard roles can access the Synthetic Monitoring Global Variables page. You can get access to the Global Variables page by having your user upgraded to one of those two default roles.
If you are using the custom role feature, add your user to any custom role that includes synthetics_default_settings_read
and synthetics_default_settings_write
permissions.
Restrict access
Access restriction is available for customers using custom roles on their accounts. If you are using the custom role feature, add your user to any custom role that includes synthetics_global_variable_read
and synthetics_global_variable_write
permissions.
You can restrict access to a global variable based on the roles in your organization. When creating a global variable, choose which roles (in addition to your user) can read and write your global variable in Permissions settings.
Integration settings
APM integration for browser tests
Allow URLs to add APM integration headers to those URLs. Datadog’s APM integration headers allow Datadog to link browser tests with APM.
Define which endpoints you want to send the APM headers to by entering a URL in the Value field. If the endpoint is being traced and is allowed, your browser test results are automatically tied to its corresponding trace.
Use *
to allow wider domain names. For example, adding https://*.datadoghq.com/*
allows everything on https://datadoghq.com/
. When you are done adding URLs, click Save APM Integration Settings.
For more information, see Connect Synthetics and APM Traces.
Synthetic data collection and RUM applications
To allow Datadog to collect RUM data from your test runs, click Enable Synthetic RUM data collection. If disabled, you cannot edit the RUM setting in the browser test recorder. When you are done enabling data collection, click Save RUM Data Collection.
Select a RUM application from the Default Application dropdown menu that collects browser test data. When you are done specifying a default application, click Save RUM Data Applications.
For more information, see Explore RUM & Session Replay.
Further Reading
Additional helpful documentation, links, and articles: