getsentry / getsentry/sentry-javascript

Port cloudflare-integration-tests to span streaming

Đang mở
#24,132 1 bình luận 0 reaction 1 người được giao Được @JPeer264 nhận Xem trên GitHub
javascript Task
Ngôn ngữ chính
TypeScript
Star
8.7k
Fork
1.8k
Merge trung bình
1 ngày 17 giờ
Pull request đã merge (30 ngày)
523

Mô tả

Port `dev-packages/cloudflare-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](https://linear.app/getsentry/issue/SDK-1425/port-integration-tests-to-span-streaming), one tracking issue per integration test package.

## Scope

* 102 `traceLifecycle: 'static'` pins across 82 files
* 2 suites already have a `-streamed` twin: `tracing/ignoreSpans-streamed` and `public-api/startSpan-streamed`
* `tracing/d1` uses an env-gated `STREAMED` switch
* This package has no shared span helpers. Every streamed test hand-rolls its own `getSpanContainer`, so the helper work comes first.

## How to port a suite

1. Remove the `traceLifecycle: 'static'` pin from every `Sentry.init` in the suite.
2. If a `-streamed` twin exists, fold it back: delete the static original and rename the twin to the base name.
3. Rewrite the assertions from transaction envelopes to span v2 against the shared helper added in the first sub-issue:
* `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

Watch for span names that become low cardinality under streaming: `http.server`, `http.client`, `db`, `cache` and `gen_ai`.

Reference suite: `suites/public-api/startSpan-streamed`.

## Keep static trace lifecycle coverage

Keep one suite on the static pin as a guard rather than duplicating each one. Name it in the PR.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.