Skip to content

test(e2e): Disable span streaming in e2e test applications - #22590

Merged
Lms24 merged 2 commits into
developfrom
test/opt-out-span-streaming-e2e
Jul 24, 2026
Merged

test(e2e): Disable span streaming in e2e test applications#22590
Lms24 merged 2 commits into
developfrom
test/opt-out-span-streaming-e2e

Conversation

@Lms24

@Lms24 Lms24 commented Jul 24, 2026

Copy link
Copy Markdown
Member

Prework for enabling span streaming by default without breaking existing E2E tests.

These test applications explicitly stay on the static trace lifecycle for now. This is the E2E slice of #22577.

Refs #22344

Keep transaction-asserting E2E applications on the static trace lifecycle
while span streaming is enabled by default.

Refs #22344
Co-Authored-By: Cursor <cursoragent@cursor.com>

Co-authored-by: Cursor <cursoragent@cursor.com>
@Lms24
Lms24 force-pushed the test/opt-out-span-streaming-e2e branch from 5c1feff to 23e427a Compare July 24, 2026 11:50

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 23e427a. Configure here.

@Lms24 Lms24 changed the title test(e2e): Disable span streaming in test applications test(e2e): Disable span streaming in e2e test applications Jul 24, 2026
Keep transaction-based E2E suites stable when the default trace lifecycle
changes by explicitly opting indirect SDK initialization paths into static mode.

Co-Authored-By: Cursor <cursoragent@cursor.com>
@Lms24
Lms24 marked this pull request as ready for review July 24, 2026 14:44
@Lms24 Lms24 self-assigned this Jul 24, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

this test changed because the new option init option increments the lineno

@Lms24
Lms24 requested review from a team, logaretm, msonnb, nicohrubec and stephanie-anderson and removed request for a team and stephanie-anderson July 24, 2026 14:48
andreiborza added a commit that referenced this pull request Sep 1, 2026
## What

Ports the three Next.js client-routing E2E apps (`nextjs-15-basepath`,
`nextjs-15-intl`, `nextjs-16-trailing-slash`) to span streaming: the
`traceLifecycle: 'static'` pin from #22590 is removed and the specs now
assert on streamed spans instead of transactions.

## Why

Span streaming is the default, so the default E2E suite should exercise
it. This is the first slice of #23513; these three apps were picked
because they are near-identical and cover pageload and navigation route
parameterization, which is where span naming changed.

Closes: #23816

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
msonnb added a commit that referenced this pull request Sep 3, 2026
Ports `elysia-bun`, `bun-mysql` and `bun-bytecode` to span streaming:
the `traceLifecycle: 'static'` pin from #22590 is removed and the specs
assert on streamed spans instead of transactions. The
`bun-integration-tests` suites `basic`, `fetch` and `hono-sdk` carried
the same pin and are ported in the same pass.

`elysia-bun-static` is added as a verbatim copy of `elysia-bun` before
the port so the static trace lifecycle stays covered for this group.
Only the app name changes, and it's added to the CI Bun setup list.

Decisions taken:
- `Bun.serve` without `routes` has no parameterized route, so its
streamed `http.server` segments are named `GET` only. The `bun-mysql`
and `fetch` specs identify the request via the `url.path` attribute
instead.
- Streamed db spans are named after the query summary (`SELECT` for both
queries in `bun-mysql`), so the specs match queries on `db.query.text`.
- Streamed spans carry no breadcrumbs, so the `fetch` suite's breadcrumb
test now hits a new `/outgoing-fetch-error` route that captures an
exception after the fetch and asserts the breadcrumb on that event.
- With streaming, Elysia handler spans are named after the route rather
than `Handle`/`anonymous`, so the `<unknown>` regression test now
asserts that all handler spans carry the route name.

Fixes #23813

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
msonnb added a commit that referenced this pull request Sep 4, 2026
Ports `deno-mysql`, `deno-pg` and `deno-redis` to span streaming: the
`traceLifecycle: 'static'` pin from #22590 is removed and the specs
assert on streamed spans instead of transactions. Second of two PRs for
#23812, after #24002 which ported `deno` and added `deno-static`.

Decisions taken:
- `Deno.serve` has no route information, so streamed `http.server`
segments are named `GET` only. The specs identify requests via the
`url.path` attribute.
- Streamed mysql and pg spans are named after the query summary
(`SELECT` for both queries), so the specs match queries on
`db.query.text` and additionally assert every db span is a direct child
of the request segment.
- Streamed redis command spans are named `{db.operation.name}
{server.address}:{server.port}` since `db.query.text` carries the key.
The specs derive the expected name from those attributes rather than
hardcoding the host, and match commands on `db.operation.name` instead
of the old `redis-<cmd>` names. `MULTI`/`PIPELINE` batch spans keep
their names.

Fixes #23812

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
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