diff --git a/detect/synthetic-monitoring/browser-checks/playwright-support.mdx b/detect/synthetic-monitoring/browser-checks/playwright-support.mdx
index 8f37daa3..d326c3b8 100644
--- a/detect/synthetic-monitoring/browser-checks/playwright-support.mdx
+++ b/detect/synthetic-monitoring/browser-checks/playwright-support.mdx
@@ -111,11 +111,14 @@ We currently support the following configuration options. We will update this li
-
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 8b92753e..fbc26cf0 100644
--- a/detect/synthetic-monitoring/playwright-checks/configuration.mdx
+++ b/detect/synthetic-monitoring/playwright-checks/configuration.mdx
@@ -131,6 +131,10 @@ 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.
+
+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.
* `installCommand:` Override the command to install dependencies. `npm install --dev` is used by default.
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:
+## Add trace headers to custom HTTP headers
+
+When `use.extraHTTPHeaders` is not set, Checkly uses default headers that include `traceparent` and `tracestate`. To add these trace headers to custom headers:
+
+```javascript
+test.use({
+ extraHTTPHeaders: {
+ ...existingHeaders,
+ traceparent: process.env.CHECKLY_TRACEPARENT,
+ tracestate: process.env.CHECKLY_TRACESTATE
+ },
+})
+```
+
+See the built-in variables for [Browser checks](/detect/synthetic-monitoring/browser-checks/mac-structure#built-in-runtime-variables) and [Playwright Check Suites](/detect/synthetic-monitoring/playwright-checks/environment-variables#built-in-variables-in-playwright-check-suites).
+
## Works hand-in-hand with Rocky AI
Checkly Traces automatically integrates with Rocky AI, helping you automatically analyze root causes of check failures. [Rocky AI Root Cause Analysis](/resolve/ai-root-cause-analysis/overview) can search, fetch and interpret Open Telemetry (OTeL) traces ingested by Checkly Traces and use it as a piece of "evidence" in determining why and where a check failed.\
@@ -83,4 +99,4 @@ Here's an actual example from Checkly's own backend.
Works with existing OpenTelemetry instrumentation and popular observability platforms without requiring changes to your application logic.
-
\ No newline at end of file
+
diff --git a/snippets/generic-runtime-variables-table.mdx b/snippets/generic-runtime-variables-table.mdx
index 95e039f0..cc09a473 100644
--- a/snippets/generic-runtime-variables-table.mdx
+++ b/snippets/generic-runtime-variables-table.mdx
@@ -6,8 +6,10 @@
| `CHECK_RESULT_ID` | The UUID where the result will be saved. | Only available on scheduled runs. |
| `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_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 checks, Multistep checks, Playwright Check Suites, 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 checks, Multistep checks, Playwright Check Suites, 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 checks, Multistep checks, Playwright Check Suites, 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. |