Skip to content

docs(traces): document trace context propagation controls - #473

Open
timohuovinen wants to merge 1 commit into
mainfrom
timohuovinen/docs-trace-header-injection-controls
Open

docs(traces): document trace context propagation controls#473
timohuovinen wants to merge 1 commit into
mainfrom
timohuovinen/docs-trace-header-injection-controls

Conversation

@timohuovinen

@timohuovinen timohuovinen commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

This depends on https://github.com/checkly/monorepo/pull/3524 going in first.

Summary

Document how checks can access and control Checkly's W3C trace context:

  • Add CHECKLY_TRACEPARENT and CHECKLY_TRACESTATE to the Browser and Multistep runtime variable reference.
  • Explain that defining use.extraHTTPHeaders, including an empty object, disables automatic trace header injection for Browser checks that use the Playwright Test Runner.
  • Document the equivalent suite-level and project-level behavior for Playwright Check Suites.

Affected Components

  • Content & Marketing
  • Pricing
  • Test
  • Docs
  • Learn
  • Other

Test plan

  • python3 .github/scripts/check_frontmatter.py
  • npx mint broken-links
  • git diff --check

Notes for the Reviewer

  • The Browser and Multistep behavior corresponds to checkly/monorepo#3524.
  • The Playwright Check Suite behavior corresponds to checkly/monorepo#3523.
  • This change extends existing configuration and runtime-variable references. It does not add pages or change navigation.

New Dependency Submission

Not applicable.

Screenshots

Not applicable. This change only updates reference text.

@mintlify

mintlify Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
checkly-422f444a 🟢 Ready View Preview Aug 6, 2026, 1:43 PM

@thebiglabasky thebiglabasky left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple of nits, mostly one question to clarify things really well

| `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. |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't we also support that on PWCS after your recent PR merged? Or did I hallucinate that?

</Tab>
</Tabs>

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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd put that in a callout and move the warning callout that's below above the tabs to ensure both get eyes attention, but that's a nit

</Tab>
</Tabs>

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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we elaborate on the specific case when you set traceparent and tracestate in your own extraHTTPHeaders? Are those overriden by us or kept? I think that's worth clarifying too

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants