Port deno-integration-tests suites to span streaming #24004
Copy link
Copy link
Closed
Labels
Description
Split out of #23812, which ported the Deno E2E apps (deno, deno-mysql, deno-pg, deno-redis) to span streaming in #24002 and #24003.
The dev-packages/deno-integration-tests suites still carry the traceLifecycle: 'static' pin from #22590: 25 suites, 51 pins, mostly the orchestrion-* suites plus deno-serve-request-bodies.
Why this is separate
These suites don't go through the event proxy. They assert via a transactionSink() helper wired into beforeSendTransaction in dev-packages/deno-integration-tests/src/index.ts, so porting them is a harness change, not a spec rewrite:
- Replace the
beforeSendTransactionsink with a span sink (e.g.beforeSendSpanor a mock transport capturing span v2 envelopes). - Rewrite the per-suite assertions from
transaction.spans[]/contexts.traceto streamed span shape (span.name,getSpanOp,span.attributes['x'].value,is_segment). - Streamed db/http/gen_ai span names are low cardinality, so every name assertion in the orchestrion suites changes.
What to do
- Add a streamed-span sink to
src/index.tsnext totransactionSink(). - Remove the
traceLifecycle: 'static'pins from everysuites/**/test.ts. - Rewrite the assertions per suite.
Consider keeping one suite on the static pin (or duplicating one) so the static trace lifecycle stays covered for this harness, mirroring the *-static E2E apps.
Reactions are currently unavailable
Activity
linear-code commentedon Sep 3, 2026
JS-3559
test(deno): Port integration tests to span streaming (#24870)
github-actions commentedon Oct 2, 2026
A PR closing this issue has just been released 🚀
This issue was referenced by PR #24870, which was included in the 11.3.0 release.