From 076623ddaa806bb7639283f54b1ee611575f058e Mon Sep 17 00:00:00 2001 From: Alicia Thuerk Date: Mon, 29 Dec 2025 17:00:37 -0700 Subject: [PATCH 1/7] updating synthetics template variables --- .../notifications/template_variables.md | 239 ++++++++---------- 1 file changed, 103 insertions(+), 136 deletions(-) diff --git a/content/en/synthetics/notifications/template_variables.md b/content/en/synthetics/notifications/template_variables.md index 613dd103e9f..00c273e3fe1 100644 --- a/content/en/synthetics/notifications/template_variables.md +++ b/content/en/synthetics/notifications/template_variables.md @@ -13,41 +13,15 @@ further_reading: ## Overview -Template variables allow you to insert dynamic values from your test results and configuration into Synthetic Monitoring notification messages. Access these variables using the `synthetics.attributes` prefix. For example: +Template variables allow you to insert dynamic values from your test results and configuration into Synthetic Monitoring notification messages. These variables are accessed using the `synthetics.attributes` prefix. -```text -Test failed at step {{synthetics.failed_step.name}} with error: {{synthetics.failed_step.failure.message}}. -``` - -**Note**: For information about accessing local (config) variables, see the [Variables](#variables) section. - -### Common variable shortcuts - -`{{synthetics.failed_step.name}}` -: The name of the failing step (for example, `Test div #title content`). - -`{{synthetics.failed_step.failure.message}}` -: The error message (for example, `Element's content should match the given regex`). - -`{{synthetics.failed_step.url}}` -: The URL of the failed step (for example, `https://www.datadoghq.com/blog/`). +**Note:** Not all variables are available for every test type. You may need to test different outputs to verify the data returned. You can export the result as a JSON file from the **Actions** tab, then reference the path directly within your monitor configuration. See the [troubleshooting](#troubleshooting) section for more information. -`{{synthetics.attributes.result.response.statusCode}}` -: The HTTP status code (for example, `403`). +## Available variables -`{{synthetics.result.step_count}}` -: Number of steps (for example, `4`). +### Test execution variables -`{{synthetics.result.duration}}` -: Duration of the test run (in milliseconds) (for example, `9096`). - -`{{tags.env}}` -: The environment tag value (for example, `prod`). - -**Note:** Not all variables are available for every test type. You may need to test different outputs to verify the data returned. You can export the result as a JSON file from the **Actions** tab, then reference the path directly within your monitor configuration. - - -### Result attributes +Use these variables to include details about the test, execution location, device, and result status in your notification messages. {{< tabs >}} {{% tab "Test Info" %}} @@ -170,7 +144,9 @@ Applies to browser and mobile tests. {{% /tab %}} {{< /tabs >}} -## Variables +### Result variables + +These variables provide access to local and global variable values used during test execution. Use them to include variable names, types, and values in your notifications. These variables are accessed with the `{{synthetics.attributes.result}}` prefix. {{< tabs >}} {{% tab "Local config variables" %}} @@ -235,15 +211,15 @@ Located at `{{synthetics.attributes.result.variables.extracted}}`: {{% /tab %}} {{% tab "Step extracted variables" %}} -For tests with steps, step data is contained in `{{synthetics.attributes.result.steps}}`. +For tests with steps, step data is contained in `{{synthetics.attributes.result.steps.}}`. For information on how to access the `` see the [step-index](#step-index-0-based) section below. -`.extractedValue.name` +`synthetics.attributes.result.steps..extractedValue.name` : Variable name -`.extractedValue.secure` +`synthetics.attributes.result.steps..extractedValue.secure` : Whether the variable value is obfuscated -`.extractedValue.value` +`synthetics.attributes.result.steps..extractedValue.value` : Variable value (if step was successful) **Examples:** @@ -262,46 +238,46 @@ For tests with steps, step data is contained in `{{synthetics.attributes.result. ### Variables extracted by steps -Similar to standard API tests, the variables are listed in the `variables.extracted` property, but inside steps themselves. These values are available as long as the step is successful. +For multistep API, browser, and mobile tests, extracted variables are available at the step level within the `synthetics.attributes.variables.extracted` property. These values are only available when the step completes successfully. {{< tabs >}} {{% tab "General steps" %}} **For multistep/browser/mobile tests**: -`.steps.allowFailure` +`synthetics.attributes.variables.extracted.steps.allowFailure` : Whether the step is allowed to fail without failing the entire test -`.steps.duration` +`synthetics.attributes.variables.extracted.steps.duration` : Step execution duration in milliseconds -`.steps.failure` +`synthetics.attributes.variables.extracted.steps.failure` : Failure information object containing `.code` and `.message` -`.steps.id` +`synthetics.attributes.variables.extracted.steps.id` : Unique step identifier -`.steps.isCritical` +`synthetics.attributes.variables.extracted.steps.isCritical` : Whether the step is critical to the test -`.steps.status` +`synthetics.attributes.variables.extracted.steps.status` : Step execution status -`.steps.type` +`synthetics.attributes.variables.extracted.steps.type` : Type of step being executed **Subtest information:** -`.steps.subTest.id` +`synthetics.attributes.variables.extracted.steps.subTest.id` : Subtest identifier -`.steps.subStep.parentStep.id` +`synthetics.attributes.variables.extracted.steps.subStep.parentStep.id` : Parent step identifier -`.steps.subStep.parentTest.id` +`synthetics.attributes.variables.extracted.steps.subStep.parentTest.id` : Parent test identifier -`.steps.subStep.level` +`synthetics.attributes.variables.extracted.steps.subStep.level` : Nesting level (1 for subtests, 2 for subtests of subtests) **Examples:** @@ -342,31 +318,31 @@ Similar to standard API tests, the variables are listed in the `variables.extrac **Steps:** -`.apiTest.request` +`synthetics.attributes.variables.extracted.apiTest.request` : API test request configuration (only for "Run API Test" steps where `type` is `runApiTest`) -`.apiTest.result` +`synthetics.attributes.variables.extracted.apiTest.result` : API test result data (similar to `attributes.result` for API tests) -`.assertionResult.expected` +`synthetics.attributes.variables.extracted.assertionResult.expected` : Expected value for assertions -`.assertionResults.checkType` +`synthetics.attributes.variables.extracted.assertionResults.checkType` : Type of assertion check -`.assertionResults.actual` +`synthetics.attributes.variables.extracted.assertionResults.actual` : Actual value found during assertion -`.browserErrors` +`synthetics.attributes.variables.extracted.browserErrors` : List of browser errors encountered -`.timings.firstByte` +`synthetics.attributes.variables.extracted.timings.firstByte` : Time to first byte -`.timings.tcp` +`synthetics.attributes.variables.extracted.timings.tcp` : TCP connection timing -`.description` +`synthetics.attributes.variables.extracted.description` : Step description **Examples:** @@ -427,13 +403,13 @@ Examples for `.browserErrors`: {{% /tab %}} {{% tab "Mobile Tests" %}} -`.application.versionId` +`synthetics.attributes.variables.extracted.application.versionId` : Mobile application version identifier -`.apiTest` +`synthetics.attributes.variables.extracted.apiTest` : API test data (for API test steps within mobile tests) -`.description` +`synthetics.attributes.variables.extracted.description` : Step description **Examples:** @@ -451,59 +427,59 @@ Examples for `.browserErrors`: **Multistep:** -`.name` +`synthetics.attributes.variables.extracted.name` : Step name -`.type` +`synthetics.attributes.variables.extracted.type` : Step type *Note: Follow regular API fields per subType* **Non-Multistep:** -`.assertions.actual` +`synthetics.attributes.variables.extracted.assertions.actual` : Actual value from assertion -`.assertions.expected` +`synthetics.attributes.variables.extracted.assertions.expected` : Expected value for assertion -`.assertions.operator` +`synthetics.attributes.variables.extracted.assertions.operator` : Assertion operator -`.assertions.type` +`synthetics.attributes.variables.extracted.assertions.type` : Assertion type -`.dnsResolution.resolvedIp` +`synthetics.attributes.variables.extracted.dnsResolution.resolvedIp` : Resolved IP address -`.dnsResolution.server` +`synthetics.attributes.variables.extracted.dnsResolution.server` : DNS server used -`.timings.dns` +`synthetics.attributes.variables.extracted.timings.dns` : DNS resolution time -`.timings.tcp` +`synthetics.attributes.variables.extracted.timings.tcp` : TCP connection time -`.request.url` +`synthetics.attributes.variables.extracted.request.url` : Request URL -`.request.host` +`synthetics.attributes.variables.extracted.request.host` : Request host -`.response.body` +`synthetics.attributes.variables.extracted.response.body` : Response body content -`.response.statusCode` +`synthetics.attributes.variables.extracted.response.statusCode` : HTTP status code -`.response.headers` +`synthetics.attributes.variables.extracted.response.headers` : Response headers -`.response.httpVersion` +`synthetics.attributes.variables.extracted.response.httpVersion` : HTTP version -`.response.redirects` +`synthetics.attributes.variables.extracted.response.redirects` : Redirect information **Examples:** @@ -557,28 +533,28 @@ Examples for `.browserErrors`: {{% collapse-content title="Websocket" level="h4" expanded=false %}} -`.timings.open` +`synthetics.attributes.variables.extracted.timings.open` : Time to open connection (in milliseconds) -`.timings.receive` +`synthetics.attributes.variables.extracted.timings.receive` : Time to receive response -`.handshake.request` +`synthetics.attributes.variables.extracted.handshake.request` : Handshake request data -`.handshake.response` +`synthetics.attributes.variables.extracted.handshake.response` : Handshake response data -`.request.message` +`synthetics.attributes.variables.extracted.request.message` : WebSocket request message -`.response.message` +`synthetics.attributes.variables.extracted.response.message` : WebSocket response message -`.close.reason` +`synthetics.attributes.variables.extracted.close.reason` : Connection close reason -`.close.statusCode` +`synthetics.attributes.variables.extracted.close.statusCode` : Connection close status code **Examples:** @@ -616,19 +592,19 @@ Examples for `.browserErrors`: {{% collapse-content title= "gRPC" level="h4" expanded=false %}} -`.callType` +`synthetics.attributes.variables.extracted.callType` : Call type (`unary` or `healthcheck`) -`.timings.rpc` +`synthetics.attributes.variables.extracted.timings.rpc` : RPC call timing -`.response.healthcheck.status` +`synthetics.attributes.variables.extracted.response.healthcheck.status` : Health check status -`.request.message` +`synthetics.attributes.variables.extracted.request.message` : gRPC request message -`.response.message` +`synthetics.attributes.variables.extracted.response.message` : gRPC response message **Examples:** @@ -658,13 +634,13 @@ Examples for `.browserErrors`: {{% collapse-content title= "UDP" level="h4" expanded=false %}} -`.request.message` +`synthetics.attributes.variables.extracted.request.message` : UDP request message -`.response.message` +`synthetics.attributes.variables.extracted.response.message` : UDP response message -`.timings.message` +`synthetics.attributes.variables.extracted.timings.message` : Message timing **Examples:** @@ -688,25 +664,25 @@ Examples for `.browserErrors`: {{% collapse-content title= "TCP" level="h4" expanded=false %}} -`.connectionOutcome` +`synthetics.attributes.variables.extracted.connectionOutcome` : Connection result -`.netpath.routers.ip` +`synthetics.attributes.variables.extracted.netpath.routers.ip` : Router IP addresses -`.traceroute.latency.min` +`synthetics.attributes.variables.extracted.traceroute.latency.min` : Minimum latency -`.traceroute.latency.max` +`synthetics.attributes.variables.extracted.traceroute.latency.max` : Maximum latency -`.traceroute.latency.avg` +`synthetics.attributes.variables.extracted.traceroute.latency.avg` : Average latency -`.traceroute.latency.stddev` +`synthetics.attributes.variables.extracted.traceroute.latency.stddev` : Standard deviation -`.traceroute.latency.values` +`synthetics.attributes.variables.extracted.traceroute.latency.values` : Latency values array **Examples:** @@ -749,16 +725,16 @@ Examples for `.browserErrors`: {{% collapse-content title= "ICMP" level="h4" expanded=false %}} -`.traceroute` +`synthetics.attributes.variables.extracted.traceroute` : Same structure as TCP traceroute -`.request.host` +`synthetics.attributes.variables.extracted.request.host` : Target host -`.ping` +`synthetics.attributes.variables.extracted.ping` : Ping results -`.latency.min`, `.latency.max`, `.latency.avg`, `.latency.stddev`, `.latency.values` +`synthetics.attributes.variables.extracted.latency.min`, `synthetics.attributes.variables.extracted.latency.max`, `synthetics.attributes.variables.extracted.latency.avg`, `synthetics.attributes.variables.extracted.latency.stddev`, `synthetics.attributes.variables.extracted.latency.values` : Latency measurements (same as TCP) **Examples:** @@ -793,28 +769,28 @@ Examples for `.browserErrors`: {{% collapse-content title= "SSL" level="h4" expanded=false %}} -`.cert` +`synthetics.attributes.variables.extracted.cert` : SSL certificate information -`.cipher` +`synthetics.attributes.variables.extracted.cipher` : Cipher suite used -`.issuer` +`synthetics.attributes.variables.extracted.issuer` : Certificate issuer -`.subject` +`synthetics.attributes.variables.extracted.subject` : Certificate subject -`.valid.from` +`synthetics.attributes.variables.extracted.valid.from` : Certificate valid from date -`.valid.to` +`synthetics.attributes.variables.extracted.valid.to` : Certificate valid to date -`.ocsp` +`synthetics.attributes.variables.extracted.ocsp` : OCSP (Online Certificate Status Protocol) information -`.timings.handshake` +`synthetics.attributes.variables.extracted.timings.handshake` : SSL handshake timing **Examples:** @@ -842,10 +818,10 @@ Examples for `.browserErrors`: {{% collapse-content title= "DNS" level="h4" expanded=false %}} -`.response.records.type` +`synthetics.attributes.variables.extracted.response.records.type` : DNS record type -`.response.records.values` +`synthetics.attributes.variables.extracted.response.records.values` : DNS record values **Examples:** @@ -865,15 +841,22 @@ Examples for `.browserErrors`: {{< /collapse-content >}} {{% /tab %}} -{{% tab "Step summary" %}} +{{< /tabs >}} -**Step Summary:** -- `.result.steps.` +### Step summary + +Access step data by index, name, or ID to reference specific steps in your notification messages. This section also includes summary counts for total steps, completed steps, and errors. + +- `synthetics.attributes.result.steps.` - `.id`, `.status`, `.type`, `.duration`, `.description`, `.failure.message`, `.code`, `.url` -The step summary contains the same data as described in [steps](#variables-extracted-by-steps), but you can access it in several ways: + For example: + `synthetics.attributes.result.steps.status` + +The step summary contains the same data as described in [variables extracted by steps](#variables-extracted-by-steps), but you can access it in several ways: + +#### Step index: -By step index (0-based): - `.steps.0` - first step - `.steps.1` - second step - `.steps.-1` - last step @@ -893,24 +876,8 @@ Then you access the data as usual, for example: **Summary Data:** - `.count.steps.{total,completed}`, `.count.errors`, `.count.hops` (for example, `4`) -**Service Tag:** -If `service` tag is set: -- `{{service.name}}` -- `{{service.team}}` -- `{{service.docs}}`, `{{service.links}}` - -**Examples**: -```json -{ - "service.name": "API Server", - "service.team": "Backend team", - "service.docs": "https://docs.datadoghq.com/api/" -} -``` - -{{% /tab %}} -{{< /tabs >}} +## Troubleshooting ## Further Reading From 54a97d1fdf94c0bad4297506ec75eee1a56d7b1e Mon Sep 17 00:00:00 2001 From: Alicia Thuerk Date: Mon, 29 Dec 2025 17:08:30 -0700 Subject: [PATCH 2/7] update step summary --- .../notifications/template_variables.md | 57 ++++++++++++------- 1 file changed, 36 insertions(+), 21 deletions(-) diff --git a/content/en/synthetics/notifications/template_variables.md b/content/en/synthetics/notifications/template_variables.md index 00c273e3fe1..0117b31b38a 100644 --- a/content/en/synthetics/notifications/template_variables.md +++ b/content/en/synthetics/notifications/template_variables.md @@ -211,7 +211,7 @@ Located at `{{synthetics.attributes.result.variables.extracted}}`: {{% /tab %}} {{% tab "Step extracted variables" %}} -For tests with steps, step data is contained in `{{synthetics.attributes.result.steps.}}`. For information on how to access the `` see the [step-index](#step-index-0-based) section below. +For tests with steps, step data is contained in `{{synthetics.attributes.result.steps..extractedValue}}`. For information on how to access the `` see the [step summary](#step-summary) section below. `synthetics.attributes.result.steps..extractedValue.name` : Variable name @@ -847,34 +847,49 @@ Examples for `.browserErrors`: Access step data by index, name, or ID to reference specific steps in your notification messages. This section also includes summary counts for total steps, completed steps, and errors. -- `synthetics.attributes.result.steps.` - - `.id`, `.status`, `.type`, `.duration`, `.description`, `.failure.message`, `.code`, `.url` +Each step exposes the following properties: `.id`, `.status`, `.type`, `.duration`, `.description`, `.failure.message`, `.code`, and `.url`. - For example: - `synthetics.attributes.result.steps.status` +You can reference steps in three ways: -The step summary contains the same data as described in [variables extracted by steps](#variables-extracted-by-steps), but you can access it in several ways: +#### By index (0-based) -#### Step index: +Use positive numbers to count from the beginning, or negative numbers to count from the end: -- `.steps.0` - first step -- `.steps.1` - second step -- `.steps.-1` - last step -- `.steps.-2` - step before last +| Syntax | Description | +|--------|-------------| +| `.steps.0` | First step | +| `.steps.1` | Second step | +| `.steps.-1` | Last step | +| `.steps.-2` | Second to last step | -By step name: -- `.steps[Click button]` +#### By step name -By step id: -- `.steps.abc-def-ghi` +Use the step name in brackets: -Then you access the data as usual, for example: -- `.steps.-1.status` -- `.steps[Click button].status` -- `.steps.abc-def-ghi.status` +`.steps[Click button]` -**Summary Data:** -- `.count.steps.{total,completed}`, `.count.errors`, `.count.hops` (for example, `4`) +#### By step ID + +Use the step's unique identifier: + +`.steps.abc-def-ghi` + +#### Accessing step properties + +Combine any reference method with a property: + +- `{{synthetics.attributes.result.steps.-1.status}}` - Status of the last step +- `{{synthetics.attributes.result.steps[Click button].failure.message}}` - Failure message for a named step +- `{{synthetics.attributes.result.steps.abc-def-ghi.duration}}` - Duration of a specific step + +#### Summary counts + +| Variable | Description | +|----------|-------------| +| `synthetics.attributes.result.steps.count.steps.total` | Total number of steps | +| `synthetics.attributes.result.steps.count.steps.completed` | Number of completed steps | +| `synthetics.attributes.result.steps.count.errors` | Number of errors | +| `synthetics.attributes.result.steps.count.hops` | Number of network hops (network tests only) | ## Troubleshooting From f9b7208bf434dd713d815bb25171df7ef241d2ef Mon Sep 17 00:00:00 2001 From: Alicia Thuerk Date: Tue, 30 Dec 2025 15:13:28 -0700 Subject: [PATCH 3/7] updates from Thang's review --- .../notifications/template_variables.md | 28 ++++++++++-------- .../synthetics/notifications/action_tab.png | Bin 0 -> 118121 bytes 2 files changed, 15 insertions(+), 13 deletions(-) create mode 100644 static/images/synthetics/notifications/action_tab.png diff --git a/content/en/synthetics/notifications/template_variables.md b/content/en/synthetics/notifications/template_variables.md index 6c418835bbc..6ce18fd2c02 100644 --- a/content/en/synthetics/notifications/template_variables.md +++ b/content/en/synthetics/notifications/template_variables.md @@ -15,7 +15,9 @@ further_reading: Template variables allow you to insert dynamic values from your test results and configuration into Synthetic Monitoring notification messages. These variables are accessed using the `synthetics.attributes` prefix. -**Note:** Not all variables are available for every test type. You may need to test different outputs to verify the data returned. You can export the result as a JSON file from the **Actions** tab, then reference the path directly within your monitor configuration. See the [troubleshooting](#troubleshooting) section for more information. +**Note:** Not all variables are available for every test type. You may need to test different outputs to verify the data returned. You can export the result as a JSON file from the **Actions** tab of a test run in the [Results Explorer][1], then reference the path directly within your monitor configuration. + +{{< img src="synthetics/notifications/action_tab.png" alt="Actions tab from the Synthetics Result Explorer with Export Result JSON highlighted" style="width:90%;" >}} ## Available variables @@ -877,10 +879,10 @@ Use positive numbers to count from the beginning, or negative numbers to count f | Syntax | Description | |--------|-------------| -| `.steps.0` | First step | -| `.steps.1` | Second step | -| `.steps.-1` | Last step | -| `.steps.-2` | Second to last step | +| `synthetics.attributes.result.steps.0` | First step | +| `synthetics.attributes.result.steps.1` | Second step | +| `synthetics.attributes.result.steps.-1` | Last step | +| `synthetics.attributes.result.steps.-2` | Second to last step | #### By step name @@ -899,21 +901,21 @@ Use the step's unique identifier: Combine any reference method with a property: - `{{synthetics.attributes.result.steps.-1.status}}` - Status of the last step -- `{{synthetics.attributes.result.steps[Click button].failure.message}}` - Failure message for a named step -- `{{synthetics.attributes.result.steps.abc-def-ghi.duration}}` - Duration of a specific step +- `{synthetics.attributes.result.steps[Click button].status}}` - Status of the step named "Click button" +- `{{synthetics.attributes.result.steps.abc-def-ghi.status}}` - Status of the step with step ID "abc-def-ghi" #### Summary counts | Variable | Description | |----------|-------------| -| `synthetics.attributes.result.steps.count.steps.total` | Total number of steps | -| `synthetics.attributes.result.steps.count.steps.completed` | Number of completed steps | -| `synthetics.attributes.result.steps.count.errors` | Number of errors | -| `synthetics.attributes.result.steps.count.hops` | Number of network hops (network tests only) | - +| `synthetics.attributes.count.steps.total` | Total number of steps | +| `synthetics.attributes.count.steps.completed` | Number of completed steps | +| `synthetics.attributes.count.errors` | Number of errors | +| `synthetics.attributes.count.hops` | Number of network hops (TCP and ICMP tests) | -## Troubleshooting ## Further Reading {{< partial name="whats-next/whats-next.html" >}} + +[1]: /synthetics/explore/results_explorer \ No newline at end of file diff --git a/static/images/synthetics/notifications/action_tab.png b/static/images/synthetics/notifications/action_tab.png new file mode 100644 index 0000000000000000000000000000000000000000..17d48e9f7337a38705296edd19fac5db58a74469 GIT binary patch literal 118121 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 literal 0 HcmV?d00001 From 80a325c51d6beb0e3f53a897d4bdba56e64cf2df Mon Sep 17 00:00:00 2001 From: Alicia Thuerk Date: Wed, 31 Dec 2025 09:03:12 -0700 Subject: [PATCH 4/7] remove examples --- .../notifications/template_variables.md | 381 +----------------- 1 file changed, 1 insertion(+), 380 deletions(-) diff --git a/content/en/synthetics/notifications/template_variables.md b/content/en/synthetics/notifications/template_variables.md index 6ce18fd2c02..1d71b7cadda 100644 --- a/content/en/synthetics/notifications/template_variables.md +++ b/content/en/synthetics/notifications/template_variables.md @@ -23,7 +23,7 @@ Template variables allow you to insert dynamic values from your test results and ### Test execution variables -Use these variables to include details about the test, execution location, device, and result status in your notification messages. +Use these variables to include details about the test, execution location, device, counts, and result status in your notification messages. {{< tabs >}} {{% tab "Test Info" %}} @@ -84,20 +84,6 @@ Applies to browser and mobile tests. `{{synthetics.attributes.device.platform.name}}`, `{{synthetics.attributes.device.platform.version}}` : Platform information (mobile tests only) -**Example values:** -```json -{ - "device": { - "id": "chrome.laptop_large", - "name": "Laptop Large", - "type": "laptop", - "resolution": {"width": 1440, "height": 1100}, - "browser": {"type": "Chrome"}, - "platform": {"name": "Android", "version": "14"} - } -} -``` - {{% /tab %}} {{% tab "Result" %}} @@ -125,24 +111,6 @@ Applies to browser and mobile tests. `{{synthetics.attributes.result.failure.code}}` : The failure code -**Example values:** -```json -{ - "result": { - "id": "3015485096247415772", - "status": "failed", - "duration": 9096, - "testStartedAt": 1743760758904, - "testFinishedAt": 1743760772025, - "testTriggeredAt": 1743760758593, - "failure": { - "message": "Error: Element's content should match the given regex", - "code": "ASSERTION_FAILURE" - } - } -} -``` - {{% /tab %}} {{% tab "Count" %}} @@ -189,16 +157,6 @@ Located at `{{synthetics.attributes.result.variables.config}}`: `{{synthetics.attributes.result.variables.config.value}}` : Variable value (non-obfuscated only) -**Examples:** -```json -{ - "name": "RANDOM_NUMBER", - "type": "text", - "secure": false, - "value": "133245995" -} -``` - {{% /tab %}} {{% tab "Global variables" %}} @@ -220,16 +178,6 @@ Located at `{{synthetics.attributes.result.variables.extracted}}`: `{{synthetics.attributes.result.variables.extracted.val}}` : Variable value (note: uses `.val`, not `.value`) -**Examples:** -```json -{ - "id": "ec734823-536e-4aba-8b5f-55733189d936", - "name": "EXTRACTED_NUMBER", - "secure": false, - "val": "250661" -} -``` - {{% /tab %}} {{% tab "Step extracted variables" %}} @@ -244,17 +192,6 @@ For tests with steps, step data is contained in `{{synthetics.attributes.result. `synthetics.attributes.result.steps..extractedValue.value` : Variable value (if step was successful) -**Examples:** -```json -{ - "extractedValue": { - "name": "EXTRACTED_COUNT", - "secure": false, - "value": "12" - } -} -``` - {{% /tab %}} {{< /tabs >}} @@ -302,34 +239,6 @@ For multistep API, browser, and mobile tests, extracted variables are available `synthetics.attributes.variables.extracted.steps.subStep.level` : Nesting level (1 for subtests, 2 for subtests of subtests) -**Examples:** -```json -{ - "steps": [ - { - "allowFailure": false, - "duration": 10955, - "failure": { - "code": "ASSERTION_FAILURE", - "message": "Element's content should not equal given value." - }, - "id": "g8e-q4a-fix", - "isCritical": true, - "status": "failed", - "type": "assertElementContent", - "subTest": { - "id": "m2i-fcy-eva" - }, - "subStep": { - "parentStep": {"id": "ikj-juk-z2u"}, - "parentTest": {"id": "th5-wic-5mj"}, - "level": 1 - } - } - ] -} -``` - {{% /tab %}} {{% tab "Browser Tests" %}} @@ -367,61 +276,6 @@ For multistep API, browser, and mobile tests, extracted variables are available `synthetics.attributes.variables.extracted.description` : Step description -**Examples:** -```json -{ - "startUrl": "https://datadoghq.com", - "apiTest": { - "request": { - "subType": "http", - "method": "GET", - "url": "https://datadoghq.com" - }, - "result": { - "statusCode": 200 - } - }, - "assertionResults": { - "expected": "100", - "checkType": "equals", - "actual": "200" - }, - "timings": { - "firstByte": 7.1, - "tcp": 5.2 - } -} -``` - -Examples for `.browserErrors`: - -```json -{ - "name": "Console error", - "description": "Failed to load resource: the server responded with a status of 403 ()", - "type": "js" -}, -{ - "name": "[GET] 403 - https://accounts.google.com/v3/signin/identifier?dsh=S688774280%3A1687962864348747&conti", - "description": "https://accounts.google.com/v3/signin/identifier?dsh=S688774280%3A1687962864348747&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fsignin_passive%26feature%3Dpassive&hl=en&ifkv=AeDOFXjMKzxp0wt-b9IzWKz6RS9Kk-VmW5z_fzLP_cjbSWd4hWeP5g53fvdrhX6b2cDVQrNtJ5B7vA&passive=true&service=youtube&uilel=3&flowName=GlifWebSignIn&flowEntry=ServiceLogin\n}} {{% collapse-content title= "gRPC" level="h4" expanded=false %}} @@ -629,29 +396,6 @@ Examples for `.browserErrors`: `synthetics.attributes.variables.extracted.response.message` : gRPC response message -**Examples:** -```json -{ - "callType": "healthcheck", - "timings": { - "total": 55.3, - "rpc": 9.2, - "dns": 46.1 - }, - "response": { - "healthcheck": { - "status": 1 - } - }, - "request": { - "message": "Ping" - }, - "response": { - "message": "Pong" // Responses can be truncated if too big (only the start is available) - } -} -``` - {{< /collapse-content >}} {{% collapse-content title= "UDP" level="h4" expanded=false %}} @@ -665,23 +409,6 @@ Examples for `.browserErrors`: `synthetics.attributes.variables.extracted.timings.message` : Message timing -**Examples:** -```json -{ - "timings": { - "total": 135.3, - "dns": 14.4, - "message": 120.9 - }, - "request": { - "message": "Ping" - }, - "response": { - "message": "Pong" - } -} -``` - {{< /collapse-content >}} {{% collapse-content title= "TCP" level="h4" expanded=false %}} @@ -707,42 +434,6 @@ Examples for `.browserErrors`: `synthetics.attributes.variables.extracted.traceroute.latency.values` : Latency values array -**Examples:** -```json -[ - { - "packetLossPercentage": 1, - "packetsReceived": 0, - "packetsSent": 2, - "routers": [ - { - "ip": "???" - } - ] - }, - { - "packetLossPercentage": 0, - "packetsReceived": 2, - "latency": { - "avg": 0.2375, - "min": 0.189, - "max": 0.286, - "values": [ - 0.189, - 0.286 - ], - "stddev": 0.04849999999999999 - }, - "packetsSent": 2, - "routers": [ - { - "ip": "10.241.134.75" - } - ] - } -] -``` - {{< /collapse-content >}} {{% collapse-content title= "ICMP" level="h4" expanded=false %}} @@ -759,31 +450,6 @@ Examples for `.browserErrors`: `synthetics.attributes.variables.extracted.latency.min`, `synthetics.attributes.variables.extracted.latency.max`, `synthetics.attributes.variables.extracted.latency.avg`, `synthetics.attributes.variables.extracted.latency.stddev`, `synthetics.attributes.variables.extracted.latency.values` : Latency measurements (same as TCP) -**Examples:** -```json -{ - "ping": { - "packetLossPercentage": 0, - "packetsReceived": 4, - "latency": { - "avg": 1.47375, - "min": 1.442, - "max": 1.516, - "values": [ - 1.467, - 1.442, - 1.47, - 1.516 - ], - "stddev": 0.02670557057993708 - }, - "resolvedIp": "18.245.199.70", - "packetsSent": 4, - "packetSize": 56 - } -} -``` - {{< /collapse-content >}} {{% /tab %}} @@ -815,27 +481,6 @@ Examples for `.browserErrors`: `synthetics.attributes.variables.extracted.timings.handshake` : SSL handshake timing -**Examples:** -```json - "cipher": TLS_AES_128_GCM_SHA256, - "issuer": { - "C": "US", - "CN": "DigiCert Global G2 TLS RSA SHA256 2020 CA1", - "O": "DigiCert Inc" - }, -``` -```json -{ - "issuer": { - "C": "US", - "CN": "DigiCert Global G2 TLS RSA SHA256 2020 CA1", - "O": "DigiCert Inc" - }, - "valid.from": 1751414400000, //milliseconds - "valid.to": 1783036799000 //milliseconds -} -``` - {{< /collapse-content >}} {{% collapse-content title= "DNS" level="h4" expanded=false %}} @@ -846,20 +491,6 @@ Examples for `.browserErrors`: `synthetics.attributes.variables.extracted.response.records.values` : DNS record values -**Examples:** -```json -{ - "dns": { - "response": { - "records": { - "type": "A", - "values": ["192.0.2.1", "192.0.2.2"] - } - } - } -} -``` - {{< /collapse-content >}} {{% /tab %}} @@ -904,16 +535,6 @@ Combine any reference method with a property: - `{synthetics.attributes.result.steps[Click button].status}}` - Status of the step named "Click button" - `{{synthetics.attributes.result.steps.abc-def-ghi.status}}` - Status of the step with step ID "abc-def-ghi" -#### Summary counts - -| Variable | Description | -|----------|-------------| -| `synthetics.attributes.count.steps.total` | Total number of steps | -| `synthetics.attributes.count.steps.completed` | Number of completed steps | -| `synthetics.attributes.count.errors` | Number of errors | -| `synthetics.attributes.count.hops` | Number of network hops (TCP and ICMP tests) | - - ## Further Reading {{< partial name="whats-next/whats-next.html" >}} From 9eea6bd29071a0c643aac050c2de186d1d9a88ce Mon Sep 17 00:00:00 2001 From: Alicia Thuerk Date: Wed, 31 Dec 2025 11:29:33 -0700 Subject: [PATCH 5/7] add HTTP --- .../notifications/template_variables.md | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/content/en/synthetics/notifications/template_variables.md b/content/en/synthetics/notifications/template_variables.md index 1d71b7cadda..73db67ca79e 100644 --- a/content/en/synthetics/notifications/template_variables.md +++ b/content/en/synthetics/notifications/template_variables.md @@ -493,6 +493,88 @@ For multistep API, browser, and mobile tests, extracted variables are available {{< /collapse-content >}} +{{% collapse-content title= "HTTP" level="h4" expanded=false %}} + +**Request:** + +`synthetics.attributes.variables.extracted.request` +: Information about the request + +`synthetics.attributes.variables.extracted.request.method` +: The HTTP method + +`synthetics.attributes.variables.extracted.request.body` +: The request body if set + +`synthetics.attributes.variables.extracted.request.headers` +: The request headers + +**Response:** + +`synthetics.attributes.variables.extracted.response` +: Information about the response + +`synthetics.attributes.variables.extracted.response.body` +: The response body as string (truncated if too big) + +`synthetics.attributes.variables.extracted.response.bodySize` +: The size of the full response body + +`synthetics.attributes.variables.extracted.response.cacheHeaders` +: A dictionary of caching-related headers + +`synthetics.attributes.variables.extracted.response.cdn` +: The response CDN info if any + +`synthetics.attributes.variables.extracted.response.cdn.provider` +: The CDN provider name (for example, `akamai`, `cloudflare`) + +`synthetics.attributes.variables.extracted.response.cdn.cache` +: The cache info + +`synthetics.attributes.variables.extracted.response.cdn.cache.cached` +: If the data was cached + +`synthetics.attributes.variables.extracted.response.cdn.cache.status` +: The cache status as provided in associated cache header + +`synthetics.attributes.variables.extracted.response.headers` +: The response headers + +`synthetics.attributes.variables.extracted.response.httpVersion` +: The HTTP version + +`synthetics.attributes.variables.extracted.response.redirects` +: A list of redirections if any + +`synthetics.attributes.variables.extracted.response.redirects.statusCode` +: The HTTP status code for the redirect + +`synthetics.attributes.variables.extracted.response.redirects.location` +: The returned location to redirect to + +`synthetics.attributes.variables.extracted.response.statusCode` +: The response HTTP status code + +**Timings:** + +`synthetics.attributes.variables.extracted.timings.authentication` +: The time spent for the authentication challenge (for example, NTLM) + +`synthetics.attributes.variables.extracted.timings.download` +: The time spent downloading the response + +`synthetics.attributes.variables.extracted.timings.firstByte` +: The time spent waiting for the first byte of response to be received + +`synthetics.attributes.variables.extracted.timings.redirect` +: The time spent in HTTP redirections + +`synthetics.attributes.variables.extracted.timings.ssl` +: The duration of the TLS handshake (only when testing an HTTPS endpoint) + +{{< /collapse-content >}} + {{% /tab %}} {{< /tabs >}} From 50d49d5ed311e6d92e043fd95b365d4c96364843 Mon Sep 17 00:00:00 2001 From: Alicia Thuerk Date: Wed, 31 Dec 2025 11:35:59 -0700 Subject: [PATCH 6/7] remove duplicate variables from API tests --- .../notifications/template_variables.md | 47 ------------------- 1 file changed, 47 deletions(-) diff --git a/content/en/synthetics/notifications/template_variables.md b/content/en/synthetics/notifications/template_variables.md index 73db67ca79e..b669ddac0b6 100644 --- a/content/en/synthetics/notifications/template_variables.md +++ b/content/en/synthetics/notifications/template_variables.md @@ -301,53 +301,6 @@ For multistep API, browser, and mobile tests, extracted variables are available *Note: Follow regular API fields per subType* -**Non-Multistep:** - -`synthetics.attributes.variables.extracted.assertions.actual` -: Actual value from assertion - -`synthetics.attributes.variables.extracted.assertions.expected` -: Expected value for assertion - -`synthetics.attributes.variables.extracted.assertions.operator` -: Assertion operator - -`synthetics.attributes.variables.extracted.assertions.type` -: Assertion type - -`synthetics.attributes.variables.extracted.dnsResolution.resolvedIp` -: Resolved IP address - -`synthetics.attributes.variables.extracted.dnsResolution.server` -: DNS server used - -`synthetics.attributes.variables.extracted.timings.dns` -: DNS resolution time - -`synthetics.attributes.variables.extracted.timings.tcp` -: TCP connection time - -`synthetics.attributes.variables.extracted.request.url` -: Request URL - -`synthetics.attributes.variables.extracted.request.host` -: Request host - -`synthetics.attributes.variables.extracted.response.body` -: Response body content - -`synthetics.attributes.variables.extracted.response.statusCode` -: HTTP status code - -`synthetics.attributes.variables.extracted.response.headers` -: Response headers - -`synthetics.attributes.variables.extracted.response.httpVersion` -: HTTP version - -`synthetics.attributes.variables.extracted.response.redirects` -: Redirect information - {{% /tab %}} {{% tab "Network tests" %}} From f63402ab7044a6c436815aca1c3948d432e50a03 Mon Sep 17 00:00:00 2001 From: Brett Blue <84536271+brett0000FF@users.noreply.github.com> Date: Wed, 31 Dec 2025 14:59:01 -0700 Subject: [PATCH 7/7] Update content/en/synthetics/notifications/template_variables.md --- content/en/synthetics/notifications/template_variables.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/synthetics/notifications/template_variables.md b/content/en/synthetics/notifications/template_variables.md index b669ddac0b6..0a37d38d965 100644 --- a/content/en/synthetics/notifications/template_variables.md +++ b/content/en/synthetics/notifications/template_variables.md @@ -567,7 +567,7 @@ Use the step's unique identifier: Combine any reference method with a property: - `{{synthetics.attributes.result.steps.-1.status}}` - Status of the last step -- `{synthetics.attributes.result.steps[Click button].status}}` - Status of the step named "Click button" +- `{{synthetics.attributes.result.steps[Click button].status}}` - Status of the step named "Click button" - `{{synthetics.attributes.result.steps.abc-def-ghi.status}}` - Status of the step with step ID "abc-def-ghi" ## Further Reading