You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Port node-integration-tests to span streaming #24130
Port dev-packages/node-integration-tests to span streaming. Span streaming is the default, so every suite that still pins traceLifecycle: 'static' covers behaviour we no longer ship.
Part of SDK-1425, one tracking issue per integration test package.
Scope
299 traceLifecycle: 'static' pins across 188 suite directories
111 suite directories assert on transaction envelopes and need a real rewrite
19 suites already have a -streamed twin next to the static original
20 suites use the env-gated traceLifecycle: process.env.STREAMED === 'true' ? 'stream' : 'static' pattern
How to port a suite
Remove the traceLifecycle: 'static' pin from every Sentry.init in the suite.
If a -streamed twin exists, fold it back: delete the static original and rename the twin to the base name. Do not keep both, or the coverage doubles and the two copies drift.
If the suite uses the env-gated STREAMED switch, drop the switch and keep 'stream'.
Rewrite the assertions from transaction envelopes to span v2:
.expect({ transaction }) becomes .expect({ span }), which gives a SerializedStreamedSpanContainer
event.transaction becomes span.name
contexts.trace.op becomes the sentry.op attribute plus span.is_segment
contexts.trace.data['x'] becomes span.attributes['x'], which has the shape { value, type }
transaction_info.source becomes the sentry.segment.name.source attribute
Streamed child spans arrive across several envelopes, so collect across envelopes wherever a test asserts on children of a segment span.
Watch for span names that become low cardinality under streaming: http.server, http.client, db, cache, gen_ai and graphql. Those assertions change, not just the helper.
Activity
linear-code commentedon Sep 7, 2026
JS-3600