From 7b791b2cfccb70f1a74b8eff645ca1458aad30c0 Mon Sep 17 00:00:00 2001 From: Timo Huovinen Date: Thu, 6 Aug 2026 16:41:14 +0300 Subject: [PATCH 1/2] docs(traces): document trace context propagation controls --- .../browser-checks/playwright-support.mdx | 2 ++ .../synthetic-monitoring/playwright-checks/configuration.mdx | 2 ++ snippets/generic-runtime-variables-table.mdx | 4 +++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/detect/synthetic-monitoring/browser-checks/playwright-support.mdx b/detect/synthetic-monitoring/browser-checks/playwright-support.mdx index 8f37daa3..a35de6d8 100644 --- a/detect/synthetic-monitoring/browser-checks/playwright-support.mdx +++ b/detect/synthetic-monitoring/browser-checks/playwright-support.mdx @@ -111,6 +111,8 @@ We currently support the following configuration options. We will update this li +To disable automatic trace header injection for Browser checks that use the Playwright Test Runner, define `use.extraHTTPHeaders` in the Playwright configuration. An empty object also disables injection. Checkly preserves the headers that you define, and the [built-in trace environment variables](/detect/synthetic-monitoring/browser-checks/mac-structure#built-in-runtime-variables) remain available. + A check using [the Playwright Test Runner (`@playwright/test`)](https://playwright.dev/docs/intro) will currently run around 30-50% longer than [a regular Playwright check (`playwright`)](https://playwright.dev/docs/library). This is caused by the automatic creation of trace and video assets. We are aware of this and are investigating solutions. If this is significantly degrading the performance of your check, we recommend to divide longer tests into multiple checks. diff --git a/detect/synthetic-monitoring/playwright-checks/configuration.mdx b/detect/synthetic-monitoring/playwright-checks/configuration.mdx index 8b92753e..df60b1e6 100644 --- a/detect/synthetic-monitoring/playwright-checks/configuration.mdx +++ b/detect/synthetic-monitoring/playwright-checks/configuration.mdx @@ -131,6 +131,8 @@ Checkly enforces these options for every run. User configuration does not overri Checkly supports Playwright's [`globalTimeout`](https://playwright.dev/docs/api/class-testconfig#test-config-global-timeout). Use it to control the maximum duration of the Playwright suite after `npx playwright test` starts. +To disable automatic trace header injection, define `use.extraHTTPHeaders` in your Playwright configuration. A top-level value disables injection for the whole suite. A project-level value disables it only for that project. An empty object also disables injection. Checkly preserves the headers that you define, and the [built-in trace environment variables](/detect/synthetic-monitoring/playwright-checks/environment-variables#built-in-variables-in-playwright-check-suites) remain available. + Playwright Check Suites also provide specific configuration for your Playwright monitoring. * `installCommand:` Override the command to install dependencies. `npm install --dev` is used by default. diff --git a/snippets/generic-runtime-variables-table.mdx b/snippets/generic-runtime-variables-table.mdx index 95e039f0..3d676bd2 100644 --- a/snippets/generic-runtime-variables-table.mdx +++ b/snippets/generic-runtime-variables-table.mdx @@ -7,7 +7,9 @@ | `CHECK_RUN_ID` | The UUID of the check run execution. | Only available on scheduled runs. | | `CHECK_TYPE` | The type of the check, e.g. `BROWSER`. | | | `CHECKLY_TRACE_ID` | The OpenTelemetry trace ID of the check run. Use it to correlate the run with the trace in your own observability backend. | Only in Browser and Multistep checks and API setup & teardown scripts, and only when [Traces](/resolve/traces/overview) is active for the check; unset otherwise. | +| `CHECKLY_TRACEPARENT` | The W3C `traceparent` header value of the check run's trace. Use it to propagate the trace context to your own tooling. | Only in Browser and Multistep checks, and only when [Traces](/resolve/traces/overview) is active for the check; unset otherwise. | +| `CHECKLY_TRACESTATE` | The W3C `tracestate` header value of the check run's trace. Use it with `CHECKLY_TRACEPARENT` to propagate the full trace context. | Only in Browser and Multistep checks, and only when [Traces](/resolve/traces/overview) is active for the check; unset otherwise. | | `PUBLIC_IP_V4` | The IPv4 of the check run execution. | | | `PUBLIC_IP_V6` | The IPv6 of the check run execution. | | | `REGION` | The current region, e.g. `us-west-1`. | | -| `RUNTIME_VERSION` | The version of the runtime, e.g, `2023.09`. | Only in Browser, Multistep, and API setup/teardown scripts. | \ No newline at end of file +| `RUNTIME_VERSION` | The version of the runtime, e.g, `2023.09`. | Only in Browser, Multistep, and API setup/teardown scripts. | From 3a93f43340aa9ba0bdf63d3b259c279d6b4efc74 Mon Sep 17 00:00:00 2001 From: Timo Huovinen Date: Wed, 12 Aug 2026 11:27:05 +0300 Subject: [PATCH 2/2] address review comments --- .../browser-checks/playwright-support.mdx | 7 ++++--- .../playwright-checks/configuration.mdx | 4 +++- resolve/traces/overview.mdx | 18 +++++++++++++++++- snippets/generic-runtime-variables-table.mdx | 6 +++--- 4 files changed, 27 insertions(+), 8 deletions(-) diff --git a/detect/synthetic-monitoring/browser-checks/playwright-support.mdx b/detect/synthetic-monitoring/browser-checks/playwright-support.mdx index a35de6d8..d326c3b8 100644 --- a/detect/synthetic-monitoring/browser-checks/playwright-support.mdx +++ b/detect/synthetic-monitoring/browser-checks/playwright-support.mdx @@ -111,13 +111,14 @@ We currently support the following configuration options. We will update this li -To disable automatic trace header injection for Browser checks that use the Playwright Test Runner, define `use.extraHTTPHeaders` in the Playwright configuration. An empty object also disables injection. Checkly preserves the headers that you define, and the [built-in trace environment variables](/detect/synthetic-monitoring/browser-checks/mac-structure#built-in-runtime-variables) remain available. - - A check using [the Playwright Test Runner (`@playwright/test`)](https://playwright.dev/docs/intro) will currently run around 30-50% longer than [a regular Playwright check (`playwright`)](https://playwright.dev/docs/library). This is caused by the automatic creation of trace and video assets. We are aware of this and are investigating solutions. If this is significantly degrading the performance of your check, we recommend to divide longer tests into multiple checks. + +When `use.extraHTTPHeaders` is missing from the Playwright configuration, Checkly adds its trace headers automatically. See how to [add Checkly's trace headers to your custom HTTP headers](/resolve/traces/overview#add-trace-headers-to-custom-http-headers). + + ## Hooks Playwright Test Runner offers hook functions such as `test.afterEach()` and `test.beforeEach()` that run before or after individual test cases or `test.afterAll()` and `test.beforeAll()` that run before or after all tests have started/finished. diff --git a/detect/synthetic-monitoring/playwright-checks/configuration.mdx b/detect/synthetic-monitoring/playwright-checks/configuration.mdx index df60b1e6..fbc26cf0 100644 --- a/detect/synthetic-monitoring/playwright-checks/configuration.mdx +++ b/detect/synthetic-monitoring/playwright-checks/configuration.mdx @@ -131,7 +131,9 @@ Checkly enforces these options for every run. User configuration does not overri Checkly supports Playwright's [`globalTimeout`](https://playwright.dev/docs/api/class-testconfig#test-config-global-timeout). Use it to control the maximum duration of the Playwright suite after `npx playwright test` starts. -To disable automatic trace header injection, define `use.extraHTTPHeaders` in your Playwright configuration. A top-level value disables injection for the whole suite. A project-level value disables it only for that project. An empty object also disables injection. Checkly preserves the headers that you define, and the [built-in trace environment variables](/detect/synthetic-monitoring/playwright-checks/environment-variables#built-in-variables-in-playwright-check-suites) remain available. + +When `use.extraHTTPHeaders` is missing from the Playwright configuration, Checkly adds its trace headers automatically. See how to [add Checkly's trace headers to your custom HTTP headers](/resolve/traces/overview#add-trace-headers-to-custom-http-headers). + Playwright Check Suites also provide specific configuration for your Playwright monitoring. diff --git a/resolve/traces/overview.mdx b/resolve/traces/overview.mdx index 15f7c194..adba6b4a 100644 --- a/resolve/traces/overview.mdx +++ b/resolve/traces/overview.mdx @@ -49,6 +49,22 @@ See this in action in the video below: