This page describes how to use the Controller UI to configure a synthetic job. You can schedule when, where, and how often a job runs, set timeouts, configure performance thresholds to trigger warning and critical events, and customize connection speeds. Before configuring a job, see Getting Started with Browser Synthetic Monitoring.

Specify your Test

Synthetic Jobs use either a specific URL or webdriver script to test one or more web pages. If your site requires authentication, you must create a script that performs the authentication to log onto your site. See Synthetic Scripts for more information. 

To use a URL:

  1. Select "Measure a URL".
  2. In the URL field, enter a site or page URL.
  3. In the Name field, enter a name for the job. This name appears in the Jobs list in the Controller UI.

To use a webdriver script:

  1. Select "Run a Script".
  2. Select Python 3 or Python 2. 

Choose Locations

You can choose one or more locations in which the job runs. This can also be configured to test all of the locations every time or one location each time the job runs. For a complete list of Synthetic Agent locations, see Synthetic Agent Locations

Hosted Agent Locations and Synthetic Private Locations

If you have deployed a 2022-11-22_17-35-51_Synthetic Private Agent Deployment, you can choose from Hosted Agent Locations or Private Agent Locations. The Hosted Agent Locations are where AppDynamics hosts public synthetic agents. The Private Agent Locations are where you are hosting your synthetic private agents.

Choose Browsers

A job can run on one or more different types of browsers. For Chrome browser, you can select a version on which you want to run the job.

For information about the behavior of Chrome version 86, see Chrome Version 86.

Chrome browser version

For mobile browsers, you can specify a platform, such as the iPhone 7 Plus or Pixel. When a job runs on mobile browsers, it is actually running a Chrome browser emulator with the specified platform properties.

Mobile browser


When you select Mobile > Custom, then the values of the Browser and Device Model columns on the Sessions page are displayed as "unknown".

Chrome version 86 in AWS locations is executed in Linux-based agents. All other browsers are executed in Windows-based agents running either on Windows 2012 or Windows 2012 R2.

Customize Connection Speeds

The connection speed helps keep performance consistent and realistic. If you choose Native Connection, the job will run at the maximum speed available to AppDynamics data centers. The default is Cable (5/1 Mbps 28ms RTT).

Schedule Jobs

When you create or edit your job, you can define the job schedule. The job will run within the specified timezone. When you choose a timezone, the job schedule will not be affected by time changes in any other timezone, such as daylight saving time. The default timezone is GMT.

Set Timeouts

Synthetic jobs consume licenses based on the duration of the job, so you can set a timeout to help limit the license consumption. If the job times out, data will still be collected until the timeout expires. The default suggestion for job timeout is 15 seconds for a URL and 30 seconds for a script. You can adjust the timeout as preferred, but keep in mind that short timeouts might result in unsuccessful sessions, and long timeouts might result in overconsumption of licenses. 

Configure Availability Rules

You can configure the synthetic job to check the availability of pages and resources. For example, you can set the session status for when a page fails to load or when a resource is missing or inaccessible. 

The screenshot below is a configuration to treat the session as Failed if any page fails to load and to treat the session as Warning if any resource fails to load. If the job navigates to a page with an HTTP 4xx or 5xx status code, the session status will be set to FAILED. This will trigger a Critical Event. If a resource fails to load, the session status will be set to WARNING, which will trigger a Warning Event. To set up alerts, see Alerts for Browser Synthetic Monitoring. 

You can use the Trigger an error event for failed sessions option to choose when to trigger the “Error confirmed” event. By default, the “Error confirmed” event is triggered after an immediate retest. You can also choose to trigger the “Error confirmed” event:

  • Immediately when the job fails or
  • After 2, 3, 5, or 10 consecutive failures

This helps you avoid false-positive alerts that may occur because of network failure, intermittent issues, or other issues. 

In the case of the default "After an immediate retest" option, the "Error started" event is generated immediately when the job fails, and the "Error confirmed" event is generated after the immediate retest. In the case of other options, only the "Error confirmed" event gets generated.


Availability rules

See Health Rule Violation Events for more information.

Use the Advanced Options to ignore or only consider selected resources. For example, the screenshot below might be used to ignore the font resource (which browsers may not have) and only consider high-impact resources like CSS, JavaScript, etc. 

Advanced options

Favicons are always ignored when checking the availability of resources.

Configure Performance Thresholds

You can specify the job performance thresholds to send alerting events. For an example of the health rule violation process, see Health Rule Violation Events.

If you check one or both of the "Automatically retest after warning events" or "Automatically retest after critical events" boxes, and the event is generated, then the job will be triggered to re-execute immediately per unconfirmed warning or critical event. For example, if the Critical Events threshold is exceeded, the event Critical Started will be triggered, and the job will rerun until the event Critical Continues is confirmed. Learn more about the synthetic job retest process.



From the Events page shown below, you can see that the results of the first and successive tests exceeded the threshold for synthetic availability and triggered the Error StartedError confirmed after restartError Continues, and Problem Ended events.