getsentry / getsentry/sentry-javascript

browser-integration-tests: port trace semantics suites to span streaming

Open
#24,144 1 comment 0 reactions 1 assignee Claimed by @msonnb View on GitHub
javascript Task
Dominant language
TypeScript
Stars
8.7k
Forks
1.8k
Avg merge
1d 17h
Merged PRs (30d)
515

Description

Follow the porting recipe in the parent issue.

Trace lifetime, DSC, sampling and span linking. These assert on envelope headers and trace propagation rather than on instrumentation output, so they are the ones most likely to expose a real product bug rather than a test rewrite.

## Suites

* Trace lifetime: `tracing/trace-lifetime/*`, `tracing/continueTrace/*`, `tracing/bindScopeToEmitter`
* Envelope headers and DSC: `tracing/envelope-header`, `tracing/envelope-header-transaction-name`, `tracing/dsc-txn-name-update`
* Sampling: `tracing/tracesSampler`, `tracing/stringSampleRate`, `tracing/no-parent-span-client-report`
* Span shaping: `tracing/linking-addLink`, `tracing/linking-addLinks`, `tracing/linking-spanOptions`, `tracing/ignoreSpans`, `tracing/maxSpans`, `tracing/setSpanActive`, `tracing/microfrontend-span-attribution`, `tracing/browserTracingIntegrationShim`
* Public API span surface: `public-api/startSpan`, `public-api/beforeSendTransaction`
* `integrations/httpclient`

## Twins to fold back

`tracing/trace-lifetime/pageload-streamed`, `navigation-streamed`, `startNewTrace-streamed`, `tracing/setSpanActive-streamed`, `tracing/linking-addLink-streamed`, `tracing/ignoreSpans-streamed`, `tracing/http-client-span-streamed`, `public-api/startSpan/streamed`, `public-api/beforeSendSpan-streamed`.

## Keep static trace lifecycle coverage

Pick one suite here to stay on the static pin as the guard, and name it in the PR. The `profiling/traceLifecycleMode_*` suites already cover the lifecycle switch itself.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.