Port browser-integration-tests to span streaming
@msonnb 已经在做这个了。
开始于 2026年9月7日。
评估
这个 Issue 还没有评估数据。
描述
Port dev-packages/browser-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
- 315
traceLifecycle: 'static'pins across 299 files - 62
test.tsfiles callwaitForTransactionRequestand need a real rewrite - 36 suites already have a
-streamedtwin, and 32 of those still sit next to the static original - The remaining ~226 pinned files never assert on a transaction, so they only need the pin removed
How to port a suite
- Remove the
traceLifecycle: 'static'pin from the suite'sinit.js(and any subtest init). - If a
-streamedtwin 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. - Rewrite the assertions from transaction envelopes to span v2 using
utils/spanUtils.ts:waitForTransactionRequestbecomeswaitForStreamedSpan/waitForStreamedSpanswaitForStreamedSpanEnvelopegives the raw envelope when a test asserts on envelope headersevent.transactionbecomesspan.namecontexts.trace.opbecomes thesentry.opattribute plusspan.is_segmentcontexts.trace.data['x']becomesspan.attributes['x'], which has the shape{ value, type }transaction_info.sourcebecomes thesentry.segment.name.sourceattribute
- 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: pageload, navigation, resource, http.client and web vitals. Those assertions change, not just the helper.
Keep static trace lifecycle coverage
Do not add a -static copy per suite. The profiling/traceLifecycleMode_* suites already exercise both lifecycles. Pick one tracing suite to keep on the static pin as a guard and say so in the PR.
- 主要语言
- TypeScript
- 星标
- 8.7k
- 派生
- 1.9k
- 平均合并
- 1 天 18 小时
- 30 天内合并 PR
- 562
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
getsentry/sentry-javascript 的其他 Issue
-
Browser Waiting for: Product Owner
难度 2/5 1-3 小时 新手友好度 85/100
getsentry/sentry-javascript#24577 · 1 条评论 ·
-
Task
难度 2/5 1-3 小时 新手友好度 78/100
getsentry/sentry-javascript#24558 · 1 条评论 ·
-
Task
难度 1/5 1 小时以内 新手友好度 90/100
getsentry/sentry-javascript#24557 · 1 条评论 ·
-
Task
难度 2/5 1-3 小时 新手友好度 84/100
getsentry/sentry-javascript#24556 · 1 条评论 ·
-
Task
难度 1/5 1-3 小时 新手友好度 90/100
getsentry/sentry-javascript#24555 · 1 条评论 ·
查看 getsentry/sentry-javascript 的全部 Issue
相似的 Issue
-
blocklist removal
难度 2/5 1-3 小时 新手友好度 65/100
MetaMask/eth-phishing-detect#296544 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
pastelsky/bundlephobia#1122 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
-
category/development priority/P2 scope/file-operations scope/testing type/enhancement
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 75/100