Summary
The Synthetic Monitor Endpoint is designed to create synthetic monitors and perform instant measurements.
Contents
URL
All requests to this API endpoint should be an HTTP POST to the following URL:
https://api.bluetriangletech.com/synthetic-monitor
Example
This example will create a single page, real browser monitor running against https://www.bluetriangle.com/ every 15 minutes from the Seattle location.
{
"site": "testsite1",
"monitorType": "single-page",
"agentLocations": [
"SEAISL"
],
"monitorName": "example",
"pageName": "www.bluetriangle.com",
"trafficSeg": "example",
"pageGroup": "example",
"url": "www.bluetriangle.com",
"frequency": 15
}
Required Parameters
Key | Type | Description | Options |
monitorTypes
|
---|---|---|---|---|
site
|
string
|
The site in Blue Triangle to run this monitor/instant measurement under. Uses the unique ID associated with your tag. | ||
monitorType
|
string
|
The type of monitor/instant measurement you wish to create. |
"single-page",
"network",
"basepage"
|
|
url*
|
string
|
The URL of the webpage for monitoring.
If using network, url is called host
|
"single-page",
"basepage"
|
|
host**
|
string
|
The URL of the webpage for monitoring.
Required if using network check monitors (network)
|
"network"
|
|
agentLocations
|
array
|
Specifies the location(s) of the server running the
synthetic test
|
"SEAISL","IADAWS",
"ORDRCK","DFWINP", "LHRRCK","LGAINP", "YULINP","FRAAWS",
"SFOAWS","EEMGRQ", "SYDAWS", "BOMGCP",
"GRUGCP","HNDGCP",
"SINGCP","MEXISL",
"CWLAZ","CDGAWS",
"HKGGCP"
|
|
monitorName
|
string
|
Name of the monitor/ instant measurement.
REQUIRED if you are creating synthetic monitors,
but optional if running instant measurement
|
|
"single-page",
"network",
"basepage"
|
* Required if monitor type is "single-page" or "basepage"
** Required if monitor type is "network"
Optional Parameters
Key | Type | Description | Default | Options | monitorTypes |
oneTime
|
boolean |
Determines whether to run an ad hoc instant measurement (unavailable for multi-page monitors)
|
|
|
"single-page",
"network",
"basepage"
|
browser
|
string |
Browser is the browser type
|
chrome
|
|
"single-page",
"network",
"basepage"
|
browserResolution
|
string |
The window size that the browser will be set to when
the measurement happens
|
1920x1080
|
"1920x1080",
"1680x1050",
"1600x900",
"1440x900",
"1366x768",
"1360x768",
"1280x1024",
"1280x800",
"1280x720",
"1152x864",
"1080x720",
"1024x768",
"1024x720",
"640x480",
"480x320"
|
"single-page",
"network",
"basepage"
|
filmStrip
|
boolean
|
Film strip is series of screen captures of a page at regular
intervals over the life of the page loading
|
true
|
"single-page",
"network",
"basepage"
|
|
filmStripPercent
|
integer |
|
25
|
"min": 0,
"max": 100,
|
"single-page",
"network",
"basepage"
|
screenCapture
|
string
|
An image of the page either for a certain percentage
of page hits onceonload is reached or when an error
is detected in the loading of the page
|
on
|
"off", "on", "error"
|
"single-page",
"network",
"basepage"
|
screenCapturePercent
|
integer
|
|
100
|
"min": 1,
"max": 100,
|
"single-page",
"network" "basepage"
|
cookies
|
array
|
Specifies the cookie name(s) and values(s)
of the server running the synthetic test
|
|
|
"single-page",
"network",
"basepage"
|
headers
|
array
|
Specifies the header name(s) and values(s) of the server
running the synthetic test
|
|
|
"single-page",
"network",
"basepage"
|
dns
|
array
|
Specifies the dns IP(s) and hostname(s) of the server running
the synthetic test
|
|
|
"single-page",
"network",
"basepage"
|
blackListFilters
|
array
|
Specifies the blacklist filter(s) of the server
running the synthetic test
|
|
|
"single-page",
"network",
"basepage"
|
agentTestType
|
string
|
A parallel test type will run the measurements
from all locations at the same time. A random sequence
test type will run a single measurement
from a location randomly selected from the list of
selected agent locations.
|
parallel
|
"parallel", "random"
|
"single-page",
"network",
"basepage"
|
httpMethod
|
string
|
|
GET
|
"GET", "POST",
"PUT"
|
|
httpProtocol
|
string
|
http security method that gets appended to url
|
https
|
"https", "http"
|
"single-page",
"network",
"basepage"
|
protocolType
|
string
|
specified protocol type for the Network Health
Checks synthetic test
|
icmp
|
"icmp", "tcp", "udp", "sctp"
|
"network"
|
port
|
string
|
specified port for the Network Health Checks synthetic test.
Will be ignored if protocol type is ICMP
|
8080
|
|
"network"
|
postLoadDelay
|
integer
|
The length of time after the onload event to continue
capturing resources
|
10
|
"min": 5, "max": 30,
|
"single-page",
"network", "basepage"
|
pageTimeout
|
integer
|
The maximum time in seconds before an agent will timeout when
hitting the target URL if the page is unresponsive
|
60
|
"min": 0,
"max": 360
|
"single-page",
"network",
"basepage"
|
mobileEmulation
|
boolean
|
Chrome-supported device emulation
|
false
|
|
"single-page",
"network",
"basepage"
|
mobileDevice
|
string
|
The mobile device used for mobile emulation
|
|
|
|
userAgentString
|
string
|
The User-Agent request header
|
|
|
|
timingWindow
|
integer
|
cannot be used for one time measurements
|
15
|
15, 30, 60, 120, 180, 240, 300, 360, 720, 1440
|
"single-page",
"network",
"basepage"
|
errorMode
|
string
|
cannot be used for one time measurements
|
runs
|
"runs",
"percent"
|
"single-page",
"network",
"basepage"
|
errorLocations
|
integer
|
cannot be used for one time measurements
|
1
|
|
"single-page",
"network",
"basepage"
|
errorThreshold
|
interger
|
number of Runs with errors; cannot be used for
one time measurements
|
1
|
0 or 1
|
"single-page",
"network",
"basepage"
|
consecutive
|
boolean
|
cannot be used for one time measurements
|
false
|
|
"single-page",
"network",
"basepage"
|
notificationGroups
|
array
|
Specifies notification groups for the synthetic test;
cannot be used for one time measurements
|
|
|
"single-page",
"network",
"basepage"
|
enableContentErrors
|
boolean
|
Content Errors occur when elements on a
page fail to load properly. When enabled, synthetic
measurements in the scatter plot will appear yellow; cannot be used for one time measurements
|
|
|
"single-page",
"network",
"basepage"
|
enableReminders
|
boolean
|
Specifies whether or not to enable reminders
for the synthetic test;
cannot be used for one time measurements
|
|
|
"single-page",
"network",
"basepage"
|
reminderDays
|
boolean
|
Specifies the number of days the reminder
will be send out synthetic test
|
7
|
"min": 1,
"max": 14
|
"single-page",
"network",
"basepage"
|
recipients
|
array
|
Specifies recipients for the synthetic test
that will receive email alerts
|
|
|
"single-page",
"network",
"basepage"
|
minFunctionDuration
|
integer
|
Sets the minimum duration in milliseconds for functions
which will be captured by the JavaScript function profiler.
A lower setting means more functions will be captured.
To see only longer running functions, set this value higher.
|
5
|
"min": 0,
"max": 60000
|
"single-page"
|
maxFunctionCount
|
integer
|
Sets the maximum number of functions to
collect from the JavaScript function profile.
The list of functions are ordered by the longest duration,
then the top functions are collected up to the amount specified
|
100
|
"min": 50,
"max": 200
|
"single-page"
|
networkEmulationEnabled |
boolean
|
Enable this to emulate the way users on different connections experience the site by changing the bandwidth at which the monitor operates and allowing for built-in delays in loading. Our synthetic agents use Chrome's built-in network throttling available through DevTools |
false
|
|
"single-page",
"network",
"basepage"
|
bandwidth
|
integer
|
The net bit rate for accessing a web page. Bandwidth
affects page performance by limiting the rate of data
transfer in a browser. Decreased bandwidth will result
in increased page load times
|
1500
|
1500, 4000, 15000, 25000, 50000, 75000, 100000, 1000000
|
"single-page",
"network",
"basepage"
|
latency
|
integer
|
The amount of time delay before a transfer of data begins
|
0
|
0, 5, 50, 100,
150, 200, 250,
300, 350, 400
|
"single-page",
"network",
"basepage"
|
pageTextVerification
|
boolean
|
Enable this to verify whether a page did or
did not load successfully. In addition to 400 and
500 level response codes, text verification
failures appear as red dots in the synthetic scatter plot
|
false
|
|
"single-page",
"network",
"basepage"
|
verifyText
|
string
|
Unique text on a webpage when it loads correctly.
Having this identifier allows a monitor to report when
a page loads successfully by searching for text known
to appear on the page when a successful page load occurs
|
|
|
"single-page",
"network",
"basepage"
|
errorText
|
string
|
Unique text on a webpage when an error
occurred in the loading of a page. Having this identifier allows a monitor to report
when an error occurred by searching for text known
to appear on the page when an error occurs
|
|
"single-page",
"network",
"basepage"
|
|
retryOnError
|
boolean
|
When a failure occurs, run a second identical measurement
immediately afterward. This validates errors and prevents false
negatives or otherwise erroneous tests. This feature is only
available for lower frequencies (every 15 minutes or more).
Failures are categorized as follows:
HTTP 4xx and 5xx, timeout, error/verify text failure, or script error
|
false
|
|
"single-page",
"network",
"basepage"
|
measureCached
|
string
|
Allows the browser to reload the page
without clearing its cache after running
the initial measurement when enabled.
Both measurements are stored,
the second containing '-cached' at the end
of the page name. Therefore, this doubles
the amount of page views this synthetic monitor will use
|
"no"
|
"yes", "no"
|
|
frequency
|
integer
|
How often the monitor runs (in minutes)
|
15
|
1, 2, 5, 10, 15, 30, 60, 120, 180, 240, 300, 360, 720, 1440
|
"single-page",
"network",
"basepage"
|
getCertInfo
|
boolean
|
When enabled, this feature retrieves information
about the domain's SSL Certificate, and is required
to be enabled for alerting on SSL Expiry. (basepage only)
|
true
|
|
"basepage"
|
followRedirects
|
boolean
|
When enabled the test follows all redirects, otherwise the initial
request and response are all that are recorded
|
true
|
|
"basepage"
|
retrieveResponseBody
|
boolean
|
Whether or not to download the body of the response
|
true
|
|
"basepage"
|
httpReferrer
|
string
|
The address of the webpage the request originated from.
With an API Checks Monitor, this can be custom for
testing purposes
|
|
|
"basepage"
|
packetLossThreshold
|
integer
|
Percentage of loss on the packet that was sent (Network Health Check specific)
|
|
"min": 0,
"max": 100
|
"network"
|
packetSizeBytes
|
integer
|
Specifies the packet size for the synthetic test in bytes
|
|
"min": 1,
"max": 30
|
"network"
|
maxHops
|
integer
|
Maximum number of hops
|
|
"min": 1,
"max": 30
|
"network"
|
jitterThreshold
|
integer
|
The tolerance in milliseconds for the amount of jitter in the connection to the domain/host.
(Network Health Check specific) |
20
|
"min": 1,
"max": 100
|
"network"
|
kickoffTime
|
integer
|
Start time for monitor in epoch seconds
|
Current time
|
|
|
endTime
|
integer
|
End time for monitor in epoch seconds
|
Indefinite
|
|
|
pageName
|
string
|
Specifies the page name for the monitor
|
same as the URL
|
|
"single-page"
|
pageGroup
|
string
|
Specifies the page group for the monitor
|
BTT_Synth
|
|
"single-page"
|
trafficSeg
|
string
|
Specifies the traffic segment for the monitor
|
BTT_Synth
|
|
"single-page"
|