diff --git a/dev-packages/browser-integration-tests/suites/public-api/startSpan/standalone-mixed-transaction/test.ts b/dev-packages/browser-integration-tests/suites/public-api/startSpan/standalone-mixed-transaction/test.ts index 07d0eb0fc776..e5d8285bbdb0 100644 --- a/dev-packages/browser-integration-tests/suites/public-api/startSpan/standalone-mixed-transaction/test.ts +++ b/dev-packages/browser-integration-tests/suites/public-api/startSpan/standalone-mixed-transaction/test.ts @@ -76,6 +76,7 @@ sentryTest( segment_id: transactionEnvelopeItem.contexts?.trace?.span_id, parent_span_id: parentSpanId, origin: 'manual', + status: 'ok', span_id: expect.stringMatching(/[a-f\d]{16}/), start_timestamp: expect.any(Number), timestamp: expect.any(Number), @@ -91,6 +92,7 @@ sentryTest( 'sentry.source': 'custom', }, origin: 'manual', + status: 'ok', span_id: parentSpanId, trace_id: traceId, }, @@ -110,6 +112,7 @@ sentryTest( }, description: 'inner', origin: 'manual', + status: 'ok', parent_span_id: parentSpanId, span_id: expect.stringMatching(/[a-f\d]{16}/), start_timestamp: expect.any(Number), diff --git a/dev-packages/browser-integration-tests/suites/public-api/startSpan/standalone/test.ts b/dev-packages/browser-integration-tests/suites/public-api/startSpan/standalone/test.ts index 289e907e09b3..6f1509d64bf6 100644 --- a/dev-packages/browser-integration-tests/suites/public-api/startSpan/standalone/test.ts +++ b/dev-packages/browser-integration-tests/suites/public-api/startSpan/standalone/test.ts @@ -48,6 +48,7 @@ sentryTest('sends a segment span envelope', async ({ getLocalTestUrl, page }) => }, description: 'standalone_segment_span', origin: 'manual', + status: 'ok', span_id: expect.stringMatching(/^[\da-f]{16}$/), start_timestamp: expect.any(Number), timestamp: expect.any(Number), diff --git a/dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegration/backgroundtab-custom/test.ts b/dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegration/backgroundtab-custom/test.ts index 924b90d3743e..aefa640c2974 100644 --- a/dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegration/backgroundtab-custom/test.ts +++ b/dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegration/backgroundtab-custom/test.ts @@ -19,7 +19,7 @@ sentryTest('should finish a custom transaction when the page goes background', a const status_before = spanJsonBefore.status; expect(description_before).toBe('test-span'); - expect(status_before).toBeUndefined(); + expect(status_before).toBe('ok'); await page.locator('#go-background').click(); const spanJsonAfter: SpanJSON = await page.evaluate('window.getSpanJson()'); diff --git a/dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegration/navigation-redirect/multiple-redirects/test.ts b/dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegration/navigation-redirect/multiple-redirects/test.ts index 581c2881dbc4..aa6ce06bee8c 100644 --- a/dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegration/navigation-redirect/multiple-redirects/test.ts +++ b/dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegration/navigation-redirect/multiple-redirects/test.ts @@ -64,6 +64,7 @@ sentryTest( description: expect.stringContaining('/sub-page-redirect-'), op: 'navigation.redirect', origin: 'auto.navigation.browser', + status: 'ok', parent_span_id: pageloadRequest.contexts!.trace!.span_id, span_id: expect.any(String), start_timestamp: expect.any(Number), diff --git a/dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegration/navigation-redirect/pageload-redirect/test.ts b/dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegration/navigation-redirect/pageload-redirect/test.ts index b835b0296c14..1b2d8d0b772e 100644 --- a/dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegration/navigation-redirect/pageload-redirect/test.ts +++ b/dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegration/navigation-redirect/pageload-redirect/test.ts @@ -60,6 +60,7 @@ sentryTest('creates a pageload root span with navigation.redirect childspan', as description: '/sub-page', op: 'navigation.redirect', origin: 'auto.navigation.browser', + status: 'ok', parent_span_id: pageloadRequest.contexts!.trace!.span_id, span_id: expect.any(String), start_timestamp: expect.any(Number), diff --git a/dev-packages/browser-integration-tests/suites/tracing/metrics/pageload-resource-spans/test.ts b/dev-packages/browser-integration-tests/suites/tracing/metrics/pageload-resource-spans/test.ts index 128f1ead9a4a..7fccc4585982 100644 --- a/dev-packages/browser-integration-tests/suites/tracing/metrics/pageload-resource-spans/test.ts +++ b/dev-packages/browser-integration-tests/suites/tracing/metrics/pageload-resource-spans/test.ts @@ -110,6 +110,7 @@ sentryTest('adds resource spans to pageload transaction', async ({ getLocalTestU description: 'https://sentry-test-site.example/path/to/image.svg', op: 'resource.img', origin: 'auto.resource.browser.metrics', + status: 'ok', parent_span_id: spanId, span_id: expect.stringMatching(/^[a-f\d]{16}$/), start_timestamp: expect.any(Number), @@ -158,6 +159,7 @@ sentryTest('adds resource spans to pageload transaction', async ({ getLocalTestU description: 'https://sentry-test-site.example/path/to/style.css', op: 'resource.link', origin: 'auto.resource.browser.metrics', + status: 'ok', parent_span_id: spanId, span_id: expect.stringMatching(/^[a-f\d]{16}$/), start_timestamp: expect.any(Number), @@ -200,6 +202,7 @@ sentryTest('adds resource spans to pageload transaction', async ({ getLocalTestU description: 'https://sentry-test-site.example/path/to/script.js', op: 'resource.script', origin: 'auto.resource.browser.metrics', + status: 'ok', parent_span_id: spanId, span_id: expect.stringMatching(/^[a-f\d]{16}$/), start_timestamp: expect.any(Number), diff --git a/dev-packages/browser-integration-tests/suites/tracing/metrics/web-vitals-inp-late/test.ts b/dev-packages/browser-integration-tests/suites/tracing/metrics/web-vitals-inp-late/test.ts index a882c06c1e11..745f757ce5fa 100644 --- a/dev-packages/browser-integration-tests/suites/tracing/metrics/web-vitals-inp-late/test.ts +++ b/dev-packages/browser-integration-tests/suites/tracing/metrics/web-vitals-inp-late/test.ts @@ -79,6 +79,7 @@ sentryTest('should capture an INP click event span after pageload', async ({ bro exclusive_time: inpValue, op: 'ui.interaction.click', origin: 'auto.http.browser.inp', + status: 'ok', is_segment: true, segment_id: spanEnvelopeItem.span_id, span_id: expect.stringMatching(/[a-f\d]{16}/), diff --git a/dev-packages/browser-integration-tests/suites/tracing/metrics/web-vitals-inp-navigate/test.ts b/dev-packages/browser-integration-tests/suites/tracing/metrics/web-vitals-inp-navigate/test.ts index d1cc7cce020d..df80d55b1d6c 100644 --- a/dev-packages/browser-integration-tests/suites/tracing/metrics/web-vitals-inp-navigate/test.ts +++ b/dev-packages/browser-integration-tests/suites/tracing/metrics/web-vitals-inp-navigate/test.ts @@ -82,6 +82,7 @@ sentryTest( exclusive_time: inpValue, op: 'ui.interaction.click', origin: 'auto.http.browser.inp', + status: 'ok', is_segment: true, segment_id: spanEnvelopeItem.span_id, span_id: expect.stringMatching(/[a-f\d]{16}/), @@ -163,6 +164,7 @@ sentryTest( exclusive_time: inpValue, op: 'ui.interaction.click', origin: 'auto.http.browser.inp', + status: 'ok', is_segment: true, segment_id: spanEnvelopeItem.span_id, span_id: expect.stringMatching(/[a-f\d]{16}/), diff --git a/dev-packages/browser-integration-tests/suites/tracing/metrics/web-vitals-inp-parametrized-late/test.ts b/dev-packages/browser-integration-tests/suites/tracing/metrics/web-vitals-inp-parametrized-late/test.ts index d1dea39f0231..566537c72d84 100644 --- a/dev-packages/browser-integration-tests/suites/tracing/metrics/web-vitals-inp-parametrized-late/test.ts +++ b/dev-packages/browser-integration-tests/suites/tracing/metrics/web-vitals-inp-parametrized-late/test.ts @@ -82,6 +82,7 @@ sentryTest( exclusive_time: inpValue, op: 'ui.interaction.click', origin: 'auto.http.browser.inp', + status: 'ok', is_segment: true, segment_id: spanEnvelopeItem.span_id, span_id: expect.stringMatching(/[a-f\d]{16}/), diff --git a/dev-packages/browser-integration-tests/suites/tracing/metrics/web-vitals-inp-parametrized/test.ts b/dev-packages/browser-integration-tests/suites/tracing/metrics/web-vitals-inp-parametrized/test.ts index a7d614147f83..f4bf271d59d5 100644 --- a/dev-packages/browser-integration-tests/suites/tracing/metrics/web-vitals-inp-parametrized/test.ts +++ b/dev-packages/browser-integration-tests/suites/tracing/metrics/web-vitals-inp-parametrized/test.ts @@ -79,6 +79,7 @@ sentryTest( exclusive_time: inpValue, op: 'ui.interaction.click', origin: 'auto.http.browser.inp', + status: 'ok', segment_id: expect.not.stringMatching(spanEnvelopeItem.span_id!), // parent is the pageload span parent_span_id: expect.stringMatching(/[a-f\d]{16}/), diff --git a/dev-packages/browser-integration-tests/suites/tracing/metrics/web-vitals-inp/test.ts b/dev-packages/browser-integration-tests/suites/tracing/metrics/web-vitals-inp/test.ts index ee92b13802ec..cd438de6633c 100644 --- a/dev-packages/browser-integration-tests/suites/tracing/metrics/web-vitals-inp/test.ts +++ b/dev-packages/browser-integration-tests/suites/tracing/metrics/web-vitals-inp/test.ts @@ -78,6 +78,7 @@ sentryTest('should capture an INP click event span during pageload', async ({ br exclusive_time: inpValue, op: 'ui.interaction.click', origin: 'auto.http.browser.inp', + status: 'ok', segment_id: expect.not.stringMatching(spanEnvelopeItem.span_id!), // Parent is the pageload span parent_span_id: expect.stringMatching(/[a-f\d]{16}/), diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/esbuild/telemetry.test.ts b/dev-packages/bundler-plugin-integration-tests/fixtures/esbuild/telemetry.test.ts index 66ca4a8c5e8e..82478066cfb5 100644 --- a/dev-packages/bundler-plugin-integration-tests/fixtures/esbuild/telemetry.test.ts +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/esbuild/telemetry.test.ts @@ -6,7 +6,7 @@ test(import.meta.url, ({ runBundler, readOutputFiles, runFileInNode }) => { expect(readOutputFiles()).toMatchInlineSnapshot(` { "sentry-telemetry.json": "[{"sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"}},[[{"type":"session"},{"sid":"UUID","init":true,"started":"TIMESTAMP","timestamp":"TIMESTAMP","status":"ok","errors":0,"duration":DURATION,"attrs":{"release":"PLUGIN_VERSION","environment":"production"}}]]], - [{"event_id":"UUID","sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"},"trace":{"environment":"production","release":"PLUGIN_VERSION","public_key":"UUID","trace_id":"UUID","org_id":"1","transaction":"Sentry Bundler Plugin execution","sampled":"true","sample_rand":"SAMPLE_RAND","sample_rate":"1"}},[[{"type":"transaction"},{"contexts":{"trace":{"span_id":"SHORT_UUID","trace_id":"UUID","data":{"sentry.origin":"manual","sentry.source":"custom","sentry.sample_rate":1},"origin":"manual"},"runtime":{"name":"node","version":"NODE_VERSION"}},"spans":[],"start_timestamp":START_TIMESTAMP,"timestamp":TIMESTAMP,"transaction":"Sentry Bundler Plugin execution","type":"transaction","transaction_info":{"source":"custom"},"platform":"PLATFORM","event_id":"UUID","environment":"production","release":"PLUGIN_VERSION","tags":{"upload-legacy-sourcemaps":false,"module-metadata":false,"inject-build-information":false,"set-commits":"auto","finalize-release":true,"deploy-options":false,"custom-error-handler":false,"sourcemaps-assets":false,"delete-after-upload":false,"sourcemaps-disabled":false,"react-annotate":false,"node":"NODE_VERSION","platform":"PLATFORM","meta-framework":"none","application-key-set":false,"ci":true,"project":"undefined","bundler":"esbuild","bundler-major-version":"28"},"user":{},"sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION","integrations":[],"packages":[{"name":"npm:@sentry/node","version":"SDK_VERSION"}]}}]]], + [{"event_id":"UUID","sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"},"trace":{"environment":"production","release":"PLUGIN_VERSION","public_key":"UUID","trace_id":"UUID","org_id":"1","transaction":"Sentry Bundler Plugin execution","sampled":"true","sample_rand":"SAMPLE_RAND","sample_rate":"1"}},[[{"type":"transaction"},{"contexts":{"trace":{"span_id":"SHORT_UUID","trace_id":"UUID","data":{"sentry.origin":"manual","sentry.source":"custom","sentry.sample_rate":1},"status":"ok","origin":"manual"},"runtime":{"name":"node","version":"NODE_VERSION"}},"spans":[],"start_timestamp":START_TIMESTAMP,"timestamp":TIMESTAMP,"transaction":"Sentry Bundler Plugin execution","type":"transaction","transaction_info":{"source":"custom"},"platform":"PLATFORM","event_id":"UUID","environment":"production","release":"PLUGIN_VERSION","tags":{"upload-legacy-sourcemaps":false,"module-metadata":false,"inject-build-information":false,"set-commits":"auto","finalize-release":true,"deploy-options":false,"custom-error-handler":false,"sourcemaps-assets":false,"delete-after-upload":false,"sourcemaps-disabled":false,"react-annotate":false,"node":"NODE_VERSION","platform":"PLATFORM","meta-framework":"none","application-key-set":false,"ci":true,"project":"undefined","bundler":"esbuild","bundler-major-version":"28"},"user":{},"sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION","integrations":[],"packages":[{"name":"npm:@sentry/node","version":"SDK_VERSION"}]}}]]], [{"sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"}},[[{"type":"session"},{"sid":"UUID","init":false,"started":"TIMESTAMP","timestamp":"TIMESTAMP","status":"exited","errors":0,"duration":DURATION,"attrs":{"release":"PLUGIN_VERSION","environment":"production"}}]]], ", "telemetry.js": "(() => { diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/rolldown/telemetry.test.ts b/dev-packages/bundler-plugin-integration-tests/fixtures/rolldown/telemetry.test.ts index d47e6b6be9d4..86813c0d033d 100644 --- a/dev-packages/bundler-plugin-integration-tests/fixtures/rolldown/telemetry.test.ts +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/rolldown/telemetry.test.ts @@ -18,7 +18,7 @@ test(import.meta.url, ({ runBundler, readOutputFiles, runFileInNode }) => { //#endregion ", "sentry-telemetry.json": "[{"sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"}},[[{"type":"session"},{"sid":"UUID","init":true,"started":"TIMESTAMP","timestamp":"TIMESTAMP","status":"ok","errors":0,"duration":DURATION,"attrs":{"release":"PLUGIN_VERSION","environment":"production"}}]]], - [{"event_id":"UUID","sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"},"trace":{"environment":"production","release":"PLUGIN_VERSION","public_key":"UUID","trace_id":"UUID","org_id":"1","transaction":"Sentry Bundler Plugin execution","sampled":"true","sample_rand":"SAMPLE_RAND","sample_rate":"1"}},[[{"type":"transaction"},{"contexts":{"trace":{"span_id":"SHORT_UUID","trace_id":"UUID","data":{"sentry.origin":"manual","sentry.source":"custom","sentry.sample_rate":1},"origin":"manual"},"runtime":{"name":"node","version":"NODE_VERSION"}},"spans":[],"start_timestamp":START_TIMESTAMP,"timestamp":TIMESTAMP,"transaction":"Sentry Bundler Plugin execution","type":"transaction","transaction_info":{"source":"custom"},"platform":"PLATFORM","event_id":"UUID","environment":"production","release":"PLUGIN_VERSION","tags":{"upload-legacy-sourcemaps":false,"module-metadata":false,"inject-build-information":false,"set-commits":"auto","finalize-release":true,"deploy-options":false,"custom-error-handler":false,"sourcemaps-assets":false,"delete-after-upload":false,"sourcemaps-disabled":false,"react-annotate":false,"node":"NODE_VERSION","platform":"PLATFORM","meta-framework":"none","application-key-set":false,"ci":true,"project":"undefined","bundler":"rollup","bundler-major-version":"4"},"user":{},"sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION","integrations":[],"packages":[{"name":"npm:@sentry/node","version":"SDK_VERSION"}]}}]]], + [{"event_id":"UUID","sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"},"trace":{"environment":"production","release":"PLUGIN_VERSION","public_key":"UUID","trace_id":"UUID","org_id":"1","transaction":"Sentry Bundler Plugin execution","sampled":"true","sample_rand":"SAMPLE_RAND","sample_rate":"1"}},[[{"type":"transaction"},{"contexts":{"trace":{"span_id":"SHORT_UUID","trace_id":"UUID","data":{"sentry.origin":"manual","sentry.source":"custom","sentry.sample_rate":1},"status":"ok","origin":"manual"},"runtime":{"name":"node","version":"NODE_VERSION"}},"spans":[],"start_timestamp":START_TIMESTAMP,"timestamp":TIMESTAMP,"transaction":"Sentry Bundler Plugin execution","type":"transaction","transaction_info":{"source":"custom"},"platform":"PLATFORM","event_id":"UUID","environment":"production","release":"PLUGIN_VERSION","tags":{"upload-legacy-sourcemaps":false,"module-metadata":false,"inject-build-information":false,"set-commits":"auto","finalize-release":true,"deploy-options":false,"custom-error-handler":false,"sourcemaps-assets":false,"delete-after-upload":false,"sourcemaps-disabled":false,"react-annotate":false,"node":"NODE_VERSION","platform":"PLATFORM","meta-framework":"none","application-key-set":false,"ci":true,"project":"undefined","bundler":"rollup","bundler-major-version":"4"},"user":{},"sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION","integrations":[],"packages":[{"name":"npm:@sentry/node","version":"SDK_VERSION"}]}}]]], [{"sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"}},[[{"type":"session"},{"sid":"UUID","init":false,"started":"TIMESTAMP","timestamp":"TIMESTAMP","status":"exited","errors":0,"duration":DURATION,"attrs":{"release":"PLUGIN_VERSION","environment":"production"}}]]], ", } diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/rollup3/telemetry.test.ts b/dev-packages/bundler-plugin-integration-tests/fixtures/rollup3/telemetry.test.ts index f5c646e60664..3ef9ef952ed1 100644 --- a/dev-packages/bundler-plugin-integration-tests/fixtures/rollup3/telemetry.test.ts +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/rollup3/telemetry.test.ts @@ -9,7 +9,7 @@ test(import.meta.url, ({ runBundler, readOutputFiles, runFileInNode }) => { !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"CURRENT_SHA"};var n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="00000000-0000-0000-0000-000000000000",e._sentryDebugIdIdentifier="sentry-dbid-00000000-0000-0000-0000-000000000000");}catch(e){}}();console.log("hello world"); ", "sentry-telemetry.json": "[{"sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"}},[[{"type":"session"},{"sid":"UUID","init":true,"started":"TIMESTAMP","timestamp":"TIMESTAMP","status":"ok","errors":0,"duration":DURATION,"attrs":{"release":"PLUGIN_VERSION","environment":"production"}}]]], - [{"event_id":"UUID","sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"},"trace":{"environment":"production","release":"PLUGIN_VERSION","public_key":"UUID","trace_id":"UUID","org_id":"1","transaction":"Sentry Bundler Plugin execution","sampled":"true","sample_rand":"SAMPLE_RAND","sample_rate":"1"}},[[{"type":"transaction"},{"contexts":{"trace":{"span_id":"SHORT_UUID","trace_id":"UUID","data":{"sentry.origin":"manual","sentry.source":"custom","sentry.sample_rate":1},"origin":"manual"},"runtime":{"name":"node","version":"NODE_VERSION"}},"spans":[],"start_timestamp":START_TIMESTAMP,"timestamp":TIMESTAMP,"transaction":"Sentry Bundler Plugin execution","type":"transaction","transaction_info":{"source":"custom"},"platform":"PLATFORM","event_id":"UUID","environment":"production","release":"PLUGIN_VERSION","tags":{"upload-legacy-sourcemaps":false,"module-metadata":false,"inject-build-information":false,"set-commits":"auto","finalize-release":true,"deploy-options":false,"custom-error-handler":false,"sourcemaps-assets":false,"delete-after-upload":false,"sourcemaps-disabled":false,"react-annotate":false,"node":"NODE_VERSION","platform":"PLATFORM","meta-framework":"none","application-key-set":false,"ci":true,"project":"undefined","bundler":"rollup","bundler-major-version":"3"},"user":{},"sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION","integrations":[],"packages":[{"name":"npm:@sentry/node","version":"SDK_VERSION"}]}}]]], + [{"event_id":"UUID","sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"},"trace":{"environment":"production","release":"PLUGIN_VERSION","public_key":"UUID","trace_id":"UUID","org_id":"1","transaction":"Sentry Bundler Plugin execution","sampled":"true","sample_rand":"SAMPLE_RAND","sample_rate":"1"}},[[{"type":"transaction"},{"contexts":{"trace":{"span_id":"SHORT_UUID","trace_id":"UUID","data":{"sentry.origin":"manual","sentry.source":"custom","sentry.sample_rate":1},"status":"ok","origin":"manual"},"runtime":{"name":"node","version":"NODE_VERSION"}},"spans":[],"start_timestamp":START_TIMESTAMP,"timestamp":TIMESTAMP,"transaction":"Sentry Bundler Plugin execution","type":"transaction","transaction_info":{"source":"custom"},"platform":"PLATFORM","event_id":"UUID","environment":"production","release":"PLUGIN_VERSION","tags":{"upload-legacy-sourcemaps":false,"module-metadata":false,"inject-build-information":false,"set-commits":"auto","finalize-release":true,"deploy-options":false,"custom-error-handler":false,"sourcemaps-assets":false,"delete-after-upload":false,"sourcemaps-disabled":false,"react-annotate":false,"node":"NODE_VERSION","platform":"PLATFORM","meta-framework":"none","application-key-set":false,"ci":true,"project":"undefined","bundler":"rollup","bundler-major-version":"3"},"user":{},"sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION","integrations":[],"packages":[{"name":"npm:@sentry/node","version":"SDK_VERSION"}]}}]]], [{"sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"}},[[{"type":"session"},{"sid":"UUID","init":false,"started":"TIMESTAMP","timestamp":"TIMESTAMP","status":"exited","errors":0,"duration":DURATION,"attrs":{"release":"PLUGIN_VERSION","environment":"production"}}]]], ", } diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/rollup4/telemetry.test.ts b/dev-packages/bundler-plugin-integration-tests/fixtures/rollup4/telemetry.test.ts index 4e4584e77455..d084d265cc04 100644 --- a/dev-packages/bundler-plugin-integration-tests/fixtures/rollup4/telemetry.test.ts +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/rollup4/telemetry.test.ts @@ -9,7 +9,7 @@ test(import.meta.url, ({ runBundler, readOutputFiles, runFileInNode }) => { !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"CURRENT_SHA"};var n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="00000000-0000-0000-0000-000000000000",e._sentryDebugIdIdentifier="sentry-dbid-00000000-0000-0000-0000-000000000000");}catch(e){}}();console.log("hello world"); ", "sentry-telemetry.json": "[{"sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"}},[[{"type":"session"},{"sid":"UUID","init":true,"started":"TIMESTAMP","timestamp":"TIMESTAMP","status":"ok","errors":0,"duration":DURATION,"attrs":{"release":"PLUGIN_VERSION","environment":"production"}}]]], - [{"event_id":"UUID","sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"},"trace":{"environment":"production","release":"PLUGIN_VERSION","public_key":"UUID","trace_id":"UUID","org_id":"1","transaction":"Sentry Bundler Plugin execution","sampled":"true","sample_rand":"SAMPLE_RAND","sample_rate":"1"}},[[{"type":"transaction"},{"contexts":{"trace":{"span_id":"SHORT_UUID","trace_id":"UUID","data":{"sentry.origin":"manual","sentry.source":"custom","sentry.sample_rate":1},"origin":"manual"},"runtime":{"name":"node","version":"NODE_VERSION"}},"spans":[],"start_timestamp":START_TIMESTAMP,"timestamp":TIMESTAMP,"transaction":"Sentry Bundler Plugin execution","type":"transaction","transaction_info":{"source":"custom"},"platform":"PLATFORM","event_id":"UUID","environment":"production","release":"PLUGIN_VERSION","tags":{"upload-legacy-sourcemaps":false,"module-metadata":false,"inject-build-information":false,"set-commits":"auto","finalize-release":true,"deploy-options":false,"custom-error-handler":false,"sourcemaps-assets":false,"delete-after-upload":false,"sourcemaps-disabled":false,"react-annotate":false,"node":"NODE_VERSION","platform":"PLATFORM","meta-framework":"none","application-key-set":false,"ci":true,"project":"undefined","bundler":"rollup","bundler-major-version":"4"},"user":{},"sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION","integrations":[],"packages":[{"name":"npm:@sentry/node","version":"SDK_VERSION"}]}}]]], + [{"event_id":"UUID","sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"},"trace":{"environment":"production","release":"PLUGIN_VERSION","public_key":"UUID","trace_id":"UUID","org_id":"1","transaction":"Sentry Bundler Plugin execution","sampled":"true","sample_rand":"SAMPLE_RAND","sample_rate":"1"}},[[{"type":"transaction"},{"contexts":{"trace":{"span_id":"SHORT_UUID","trace_id":"UUID","data":{"sentry.origin":"manual","sentry.source":"custom","sentry.sample_rate":1},"status":"ok","origin":"manual"},"runtime":{"name":"node","version":"NODE_VERSION"}},"spans":[],"start_timestamp":START_TIMESTAMP,"timestamp":TIMESTAMP,"transaction":"Sentry Bundler Plugin execution","type":"transaction","transaction_info":{"source":"custom"},"platform":"PLATFORM","event_id":"UUID","environment":"production","release":"PLUGIN_VERSION","tags":{"upload-legacy-sourcemaps":false,"module-metadata":false,"inject-build-information":false,"set-commits":"auto","finalize-release":true,"deploy-options":false,"custom-error-handler":false,"sourcemaps-assets":false,"delete-after-upload":false,"sourcemaps-disabled":false,"react-annotate":false,"node":"NODE_VERSION","platform":"PLATFORM","meta-framework":"none","application-key-set":false,"ci":true,"project":"undefined","bundler":"rollup","bundler-major-version":"4"},"user":{},"sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION","integrations":[],"packages":[{"name":"npm:@sentry/node","version":"SDK_VERSION"}]}}]]], [{"sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"}},[[{"type":"session"},{"sid":"UUID","init":false,"started":"TIMESTAMP","timestamp":"TIMESTAMP","status":"exited","errors":0,"duration":DURATION,"attrs":{"release":"PLUGIN_VERSION","environment":"production"}}]]], ", } diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/vite4/telemetry.test.ts b/dev-packages/bundler-plugin-integration-tests/fixtures/vite4/telemetry.test.ts index 532c76807582..926704d12c89 100644 --- a/dev-packages/bundler-plugin-integration-tests/fixtures/vite4/telemetry.test.ts +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/vite4/telemetry.test.ts @@ -17,7 +17,7 @@ test(import.meta.url, ({ runBundler, readOutputFiles, runFileInNode }) => { console.log("hello world"); ", "sentry-telemetry.json": "[{"sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"}},[[{"type":"session"},{"sid":"UUID","init":true,"started":"TIMESTAMP","timestamp":"TIMESTAMP","status":"ok","errors":0,"duration":DURATION,"attrs":{"release":"PLUGIN_VERSION","environment":"production"}}]]], - [{"event_id":"UUID","sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"},"trace":{"environment":"production","release":"PLUGIN_VERSION","public_key":"UUID","trace_id":"UUID","org_id":"1","transaction":"Sentry Bundler Plugin execution","sampled":"true","sample_rand":"SAMPLE_RAND","sample_rate":"1"}},[[{"type":"transaction"},{"contexts":{"trace":{"span_id":"SHORT_UUID","trace_id":"UUID","data":{"sentry.origin":"manual","sentry.source":"custom","sentry.sample_rate":1},"origin":"manual"},"runtime":{"name":"node","version":"NODE_VERSION"}},"spans":[],"start_timestamp":START_TIMESTAMP,"timestamp":TIMESTAMP,"transaction":"Sentry Bundler Plugin execution","type":"transaction","transaction_info":{"source":"custom"},"platform":"PLATFORM","event_id":"UUID","environment":"production","release":"PLUGIN_VERSION","tags":{"upload-legacy-sourcemaps":false,"module-metadata":false,"inject-build-information":false,"set-commits":"auto","finalize-release":true,"deploy-options":false,"custom-error-handler":false,"sourcemaps-assets":false,"delete-after-upload":false,"sourcemaps-disabled":false,"react-annotate":false,"node":"NODE_VERSION","platform":"PLATFORM","meta-framework":"none","application-key-set":false,"ci":true,"project":"undefined","bundler":"vite","bundler-major-version":"4"},"user":{},"sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION","integrations":[],"packages":[{"name":"npm:@sentry/node","version":"SDK_VERSION"}]}}]]], + [{"event_id":"UUID","sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"},"trace":{"environment":"production","release":"PLUGIN_VERSION","public_key":"UUID","trace_id":"UUID","org_id":"1","transaction":"Sentry Bundler Plugin execution","sampled":"true","sample_rand":"SAMPLE_RAND","sample_rate":"1"}},[[{"type":"transaction"},{"contexts":{"trace":{"span_id":"SHORT_UUID","trace_id":"UUID","data":{"sentry.origin":"manual","sentry.source":"custom","sentry.sample_rate":1},"status":"ok","origin":"manual"},"runtime":{"name":"node","version":"NODE_VERSION"}},"spans":[],"start_timestamp":START_TIMESTAMP,"timestamp":TIMESTAMP,"transaction":"Sentry Bundler Plugin execution","type":"transaction","transaction_info":{"source":"custom"},"platform":"PLATFORM","event_id":"UUID","environment":"production","release":"PLUGIN_VERSION","tags":{"upload-legacy-sourcemaps":false,"module-metadata":false,"inject-build-information":false,"set-commits":"auto","finalize-release":true,"deploy-options":false,"custom-error-handler":false,"sourcemaps-assets":false,"delete-after-upload":false,"sourcemaps-disabled":false,"react-annotate":false,"node":"NODE_VERSION","platform":"PLATFORM","meta-framework":"none","application-key-set":false,"ci":true,"project":"undefined","bundler":"vite","bundler-major-version":"4"},"user":{},"sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION","integrations":[],"packages":[{"name":"npm:@sentry/node","version":"SDK_VERSION"}]}}]]], [{"sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"}},[[{"type":"session"},{"sid":"UUID","init":false,"started":"TIMESTAMP","timestamp":"TIMESTAMP","status":"exited","errors":0,"duration":DURATION,"attrs":{"release":"PLUGIN_VERSION","environment":"production"}}]]], ", } diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/vite7/telemetry.test.ts b/dev-packages/bundler-plugin-integration-tests/fixtures/vite7/telemetry.test.ts index b717a080c63c..2269881b7534 100644 --- a/dev-packages/bundler-plugin-integration-tests/fixtures/vite7/telemetry.test.ts +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/vite7/telemetry.test.ts @@ -17,7 +17,7 @@ test(import.meta.url, ({ runBundler, readOutputFiles, runFileInNode }) => { console.log("hello world"); ", "sentry-telemetry.json": "[{"sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"}},[[{"type":"session"},{"sid":"UUID","init":true,"started":"TIMESTAMP","timestamp":"TIMESTAMP","status":"ok","errors":0,"duration":DURATION,"attrs":{"release":"PLUGIN_VERSION","environment":"production"}}]]], - [{"event_id":"UUID","sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"},"trace":{"environment":"production","release":"PLUGIN_VERSION","public_key":"UUID","trace_id":"UUID","org_id":"1","transaction":"Sentry Bundler Plugin execution","sampled":"true","sample_rand":"SAMPLE_RAND","sample_rate":"1"}},[[{"type":"transaction"},{"contexts":{"trace":{"span_id":"SHORT_UUID","trace_id":"UUID","data":{"sentry.origin":"manual","sentry.source":"custom","sentry.sample_rate":1},"origin":"manual"},"runtime":{"name":"node","version":"NODE_VERSION"}},"spans":[],"start_timestamp":START_TIMESTAMP,"timestamp":TIMESTAMP,"transaction":"Sentry Bundler Plugin execution","type":"transaction","transaction_info":{"source":"custom"},"platform":"PLATFORM","event_id":"UUID","environment":"production","release":"PLUGIN_VERSION","tags":{"upload-legacy-sourcemaps":false,"module-metadata":false,"inject-build-information":false,"set-commits":"auto","finalize-release":true,"deploy-options":false,"custom-error-handler":false,"sourcemaps-assets":false,"delete-after-upload":false,"sourcemaps-disabled":false,"react-annotate":false,"node":"NODE_VERSION","platform":"PLATFORM","meta-framework":"none","application-key-set":false,"ci":true,"project":"undefined","bundler":"vite","bundler-major-version":"7"},"user":{},"sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION","integrations":[],"packages":[{"name":"npm:@sentry/node","version":"SDK_VERSION"}]}}]]], + [{"event_id":"UUID","sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"},"trace":{"environment":"production","release":"PLUGIN_VERSION","public_key":"UUID","trace_id":"UUID","org_id":"1","transaction":"Sentry Bundler Plugin execution","sampled":"true","sample_rand":"SAMPLE_RAND","sample_rate":"1"}},[[{"type":"transaction"},{"contexts":{"trace":{"span_id":"SHORT_UUID","trace_id":"UUID","data":{"sentry.origin":"manual","sentry.source":"custom","sentry.sample_rate":1},"status":"ok","origin":"manual"},"runtime":{"name":"node","version":"NODE_VERSION"}},"spans":[],"start_timestamp":START_TIMESTAMP,"timestamp":TIMESTAMP,"transaction":"Sentry Bundler Plugin execution","type":"transaction","transaction_info":{"source":"custom"},"platform":"PLATFORM","event_id":"UUID","environment":"production","release":"PLUGIN_VERSION","tags":{"upload-legacy-sourcemaps":false,"module-metadata":false,"inject-build-information":false,"set-commits":"auto","finalize-release":true,"deploy-options":false,"custom-error-handler":false,"sourcemaps-assets":false,"delete-after-upload":false,"sourcemaps-disabled":false,"react-annotate":false,"node":"NODE_VERSION","platform":"PLATFORM","meta-framework":"none","application-key-set":false,"ci":true,"project":"undefined","bundler":"vite","bundler-major-version":"7"},"user":{},"sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION","integrations":[],"packages":[{"name":"npm:@sentry/node","version":"SDK_VERSION"}]}}]]], [{"sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"}},[[{"type":"session"},{"sid":"UUID","init":false,"started":"TIMESTAMP","timestamp":"TIMESTAMP","status":"exited","errors":0,"duration":DURATION,"attrs":{"release":"PLUGIN_VERSION","environment":"production"}}]]], ", } diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/vite8/telemetry.test.ts b/dev-packages/bundler-plugin-integration-tests/fixtures/vite8/telemetry.test.ts index e8fcb4636c55..37054076aa14 100644 --- a/dev-packages/bundler-plugin-integration-tests/fixtures/vite8/telemetry.test.ts +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/vite8/telemetry.test.ts @@ -18,7 +18,7 @@ test(import.meta.url, ({ runBundler, readOutputFiles, runFileInNode }) => { //#endregion ", "sentry-telemetry.json": "[{"sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"}},[[{"type":"session"},{"sid":"UUID","init":true,"started":"TIMESTAMP","timestamp":"TIMESTAMP","status":"ok","errors":0,"duration":DURATION,"attrs":{"release":"PLUGIN_VERSION","environment":"production"}}]]], - [{"event_id":"UUID","sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"},"trace":{"environment":"production","release":"PLUGIN_VERSION","public_key":"UUID","trace_id":"UUID","org_id":"1","transaction":"Sentry Bundler Plugin execution","sampled":"true","sample_rand":"SAMPLE_RAND","sample_rate":"1"}},[[{"type":"transaction"},{"contexts":{"trace":{"span_id":"SHORT_UUID","trace_id":"UUID","data":{"sentry.origin":"manual","sentry.source":"custom","sentry.sample_rate":1},"origin":"manual"},"runtime":{"name":"node","version":"NODE_VERSION"}},"spans":[],"start_timestamp":START_TIMESTAMP,"timestamp":TIMESTAMP,"transaction":"Sentry Bundler Plugin execution","type":"transaction","transaction_info":{"source":"custom"},"platform":"PLATFORM","event_id":"UUID","environment":"production","release":"PLUGIN_VERSION","tags":{"upload-legacy-sourcemaps":false,"module-metadata":false,"inject-build-information":false,"set-commits":"auto","finalize-release":true,"deploy-options":false,"custom-error-handler":false,"sourcemaps-assets":false,"delete-after-upload":false,"sourcemaps-disabled":false,"react-annotate":false,"node":"NODE_VERSION","platform":"PLATFORM","meta-framework":"none","application-key-set":false,"ci":true,"project":"undefined","bundler":"vite","bundler-major-version":"8"},"user":{},"sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION","integrations":[],"packages":[{"name":"npm:@sentry/node","version":"SDK_VERSION"}]}}]]], + [{"event_id":"UUID","sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"},"trace":{"environment":"production","release":"PLUGIN_VERSION","public_key":"UUID","trace_id":"UUID","org_id":"1","transaction":"Sentry Bundler Plugin execution","sampled":"true","sample_rand":"SAMPLE_RAND","sample_rate":"1"}},[[{"type":"transaction"},{"contexts":{"trace":{"span_id":"SHORT_UUID","trace_id":"UUID","data":{"sentry.origin":"manual","sentry.source":"custom","sentry.sample_rate":1},"status":"ok","origin":"manual"},"runtime":{"name":"node","version":"NODE_VERSION"}},"spans":[],"start_timestamp":START_TIMESTAMP,"timestamp":TIMESTAMP,"transaction":"Sentry Bundler Plugin execution","type":"transaction","transaction_info":{"source":"custom"},"platform":"PLATFORM","event_id":"UUID","environment":"production","release":"PLUGIN_VERSION","tags":{"upload-legacy-sourcemaps":false,"module-metadata":false,"inject-build-information":false,"set-commits":"auto","finalize-release":true,"deploy-options":false,"custom-error-handler":false,"sourcemaps-assets":false,"delete-after-upload":false,"sourcemaps-disabled":false,"react-annotate":false,"node":"NODE_VERSION","platform":"PLATFORM","meta-framework":"none","application-key-set":false,"ci":true,"project":"undefined","bundler":"vite","bundler-major-version":"8"},"user":{},"sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION","integrations":[],"packages":[{"name":"npm:@sentry/node","version":"SDK_VERSION"}]}}]]], [{"sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"}},[[{"type":"session"},{"sid":"UUID","init":false,"started":"TIMESTAMP","timestamp":"TIMESTAMP","status":"exited","errors":0,"duration":DURATION,"attrs":{"release":"PLUGIN_VERSION","environment":"production"}}]]], ", } diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/webpack5/telemetry.test.ts b/dev-packages/bundler-plugin-integration-tests/fixtures/webpack5/telemetry.test.ts index 51ab4e8832b0..2fd634b64054 100644 --- a/dev-packages/bundler-plugin-integration-tests/fixtures/webpack5/telemetry.test.ts +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/webpack5/telemetry.test.ts @@ -14,7 +14,7 @@ test(import.meta.url, ({ runBundler, readOutputFiles, runFileInNode }) => { /******/ })() ;", "sentry-telemetry.json": "[{"sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"}},[[{"type":"session"},{"sid":"UUID","init":true,"started":"TIMESTAMP","timestamp":"TIMESTAMP","status":"ok","errors":0,"duration":DURATION,"attrs":{"release":"PLUGIN_VERSION","environment":"production"}}]]], - [{"event_id":"UUID","sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"},"trace":{"environment":"production","release":"PLUGIN_VERSION","public_key":"UUID","trace_id":"UUID","org_id":"1","transaction":"Sentry Bundler Plugin execution","sampled":"true","sample_rand":"SAMPLE_RAND","sample_rate":"1"}},[[{"type":"transaction"},{"contexts":{"trace":{"span_id":"SHORT_UUID","trace_id":"UUID","data":{"sentry.origin":"manual","sentry.source":"custom","sentry.sample_rate":1},"origin":"manual"},"runtime":{"name":"node","version":"NODE_VERSION"}},"spans":[],"start_timestamp":START_TIMESTAMP,"timestamp":TIMESTAMP,"transaction":"Sentry Bundler Plugin execution","type":"transaction","transaction_info":{"source":"custom"},"platform":"PLATFORM","event_id":"UUID","environment":"production","release":"PLUGIN_VERSION","tags":{"upload-legacy-sourcemaps":false,"module-metadata":false,"inject-build-information":false,"set-commits":"auto","finalize-release":true,"deploy-options":false,"custom-error-handler":false,"sourcemaps-assets":false,"delete-after-upload":false,"sourcemaps-disabled":false,"react-annotate":false,"node":"NODE_VERSION","platform":"PLATFORM","meta-framework":"none","application-key-set":false,"ci":true,"project":"undefined","bundler":"webpack","bundler-major-version":"5"},"user":{},"sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION","integrations":[],"packages":[{"name":"npm:@sentry/node","version":"SDK_VERSION"}]}}]]], + [{"event_id":"UUID","sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"},"trace":{"environment":"production","release":"PLUGIN_VERSION","public_key":"UUID","trace_id":"UUID","org_id":"1","transaction":"Sentry Bundler Plugin execution","sampled":"true","sample_rand":"SAMPLE_RAND","sample_rate":"1"}},[[{"type":"transaction"},{"contexts":{"trace":{"span_id":"SHORT_UUID","trace_id":"UUID","data":{"sentry.origin":"manual","sentry.source":"custom","sentry.sample_rate":1},"status":"ok","origin":"manual"},"runtime":{"name":"node","version":"NODE_VERSION"}},"spans":[],"start_timestamp":START_TIMESTAMP,"timestamp":TIMESTAMP,"transaction":"Sentry Bundler Plugin execution","type":"transaction","transaction_info":{"source":"custom"},"platform":"PLATFORM","event_id":"UUID","environment":"production","release":"PLUGIN_VERSION","tags":{"upload-legacy-sourcemaps":false,"module-metadata":false,"inject-build-information":false,"set-commits":"auto","finalize-release":true,"deploy-options":false,"custom-error-handler":false,"sourcemaps-assets":false,"delete-after-upload":false,"sourcemaps-disabled":false,"react-annotate":false,"node":"NODE_VERSION","platform":"PLATFORM","meta-framework":"none","application-key-set":false,"ci":true,"project":"undefined","bundler":"webpack","bundler-major-version":"5"},"user":{},"sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION","integrations":[],"packages":[{"name":"npm:@sentry/node","version":"SDK_VERSION"}]}}]]], [{"sent_at":"TIMESTAMP","sdk":{"name":"sentry.javascript.node","version":"SDK_VERSION"}},[[{"type":"session"},{"sid":"UUID","init":false,"started":"TIMESTAMP","timestamp":"TIMESTAMP","status":"exited","errors":0,"duration":DURATION,"attrs":{"release":"PLUGIN_VERSION","environment":"production"}}]]], ", } diff --git a/dev-packages/cloudflare-integration-tests/suites/d1/test.ts b/dev-packages/cloudflare-integration-tests/suites/d1/test.ts index 98338d910b64..1819e1f9cff8 100644 --- a/dev-packages/cloudflare-integration-tests/suites/d1/test.ts +++ b/dev-packages/cloudflare-integration-tests/suites/d1/test.ts @@ -41,6 +41,7 @@ it('instruments D1 prepare().all() automatically via env', async ({ signal }) => description: 'SELECT * FROM users WHERE id = ?', op: 'db.query', origin: 'auto.db.cloudflare.d1', + status: 'ok', parent_span_id: expect.any(String), span_id: expect.any(String), start_timestamp: expect.any(Number), @@ -118,6 +119,7 @@ it('instruments D1 exec() automatically via env', async ({ signal }) => { description: 'CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)', op: 'db.query', origin: 'auto.db.cloudflare.d1', + status: 'ok', parent_span_id: expect.any(String), span_id: expect.any(String), start_timestamp: expect.any(Number), @@ -212,6 +214,7 @@ it('instruments D1 batch() automatically via env', async ({ signal }) => { description: 'D1 batch', op: 'db.query', origin: 'auto.db.cloudflare.d1', + status: 'ok', parent_span_id: expect.any(String), span_id: expect.any(String), start_timestamp: expect.any(Number), diff --git a/dev-packages/cloudflare-integration-tests/suites/ratelimit/test.ts b/dev-packages/cloudflare-integration-tests/suites/ratelimit/test.ts index 30653c6e943d..2e113cd24902 100644 --- a/dev-packages/cloudflare-integration-tests/suites/ratelimit/test.ts +++ b/dev-packages/cloudflare-integration-tests/suites/ratelimit/test.ts @@ -32,6 +32,7 @@ it('instruments an allowed rate limiter call automatically via env', async ({ si }, description: 'rate_limit MY_RATE_LIMITER', origin: 'auto.faas.cloudflare.rate_limit', + status: 'ok', parent_span_id: expect.any(String), span_id: expect.any(String), start_timestamp: expect.any(Number), diff --git a/dev-packages/cloudflare-integration-tests/suites/tracing/d1/test.ts b/dev-packages/cloudflare-integration-tests/suites/tracing/d1/test.ts index 9755b9e4dd9f..76d9b470c7c0 100644 --- a/dev-packages/cloudflare-integration-tests/suites/tracing/d1/test.ts +++ b/dev-packages/cloudflare-integration-tests/suites/tracing/d1/test.ts @@ -22,6 +22,7 @@ it('D1 database queries create spans with correct attributes', async ({ signal } description: 'CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)', op: 'db.query', origin: 'auto.db.cloudflare.d1', + status: 'ok', parent_span_id: expect.any(String), span_id: expect.any(String), start_timestamp: expect.any(Number), @@ -42,6 +43,7 @@ it('D1 database queries create spans with correct attributes', async ({ signal } description: 'INSERT INTO users (name) VALUES (?)', op: 'db.query', origin: 'auto.db.cloudflare.d1', + status: 'ok', parent_span_id: expect.any(String), span_id: expect.any(String), start_timestamp: expect.any(Number), @@ -70,6 +72,7 @@ it('D1 database queries create spans with correct attributes', async ({ signal } description: 'SELECT * FROM users WHERE name = ?', op: 'db.query', origin: 'auto.db.cloudflare.d1', + status: 'ok', parent_span_id: expect.any(String), span_id: expect.any(String), start_timestamp: expect.any(Number), diff --git a/dev-packages/cloudflare-integration-tests/suites/tracing/scheduled/test.ts b/dev-packages/cloudflare-integration-tests/suites/tracing/scheduled/test.ts index 462f4f046b78..b96c4bd0cba3 100644 --- a/dev-packages/cloudflare-integration-tests/suites/tracing/scheduled/test.ts +++ b/dev-packages/cloudflare-integration-tests/suites/tracing/scheduled/test.ts @@ -24,6 +24,7 @@ it('Scheduled handler creates transaction with correct attributes', async ({ sig trace_id: expect.any(String), op: 'faas.cron', origin: 'auto.faas.cloudflare.scheduled', + status: 'ok', data: { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'faas.cron', [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.faas.cloudflare.scheduled', diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-mcp-agent/tests/index.test.ts b/dev-packages/e2e-tests/test-applications/cloudflare-mcp-agent/tests/index.test.ts index cde74a76aa27..d3324d81dee8 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-mcp-agent/tests/index.test.ts +++ b/dev-packages/e2e-tests/test-applications/cloudflare-mcp-agent/tests/index.test.ts @@ -84,6 +84,7 @@ test('sends spans for MCP tool calls via MCPAgent (DurableObject)', async ({ bas span_id: expect.any(String), op: 'mcp.server', origin: 'auto.function.mcp_server', + status: 'ok', data: expect.objectContaining({ 'sentry.origin': 'auto.function.mcp_server', 'sentry.op': 'mcp.server', diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-mcp/tests/index.test.ts b/dev-packages/e2e-tests/test-applications/cloudflare-mcp/tests/index.test.ts index 8ce8b693499e..a7bc516e8dae 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-mcp/tests/index.test.ts +++ b/dev-packages/e2e-tests/test-applications/cloudflare-mcp/tests/index.test.ts @@ -89,6 +89,7 @@ test('sends spans for MCP tool calls', async ({ baseURL }) => { span_id: expect.any(String), op: 'mcp.server', origin: 'auto.function.mcp_server', + status: 'ok', data: { 'sentry.origin': 'auto.function.mcp_server', 'sentry.op': 'mcp.server', diff --git a/dev-packages/e2e-tests/test-applications/ember-classic/tests/performance.test.ts b/dev-packages/e2e-tests/test-applications/ember-classic/tests/performance.test.ts index 4aa00f61b599..11006836751b 100644 --- a/dev-packages/e2e-tests/test-applications/ember-classic/tests/performance.test.ts +++ b/dev-packages/e2e-tests/test-applications/ember-classic/tests/performance.test.ts @@ -191,6 +191,7 @@ test('captures correct spans for navigation', async ({ page }) => { description: 'route:tracing -> route:slow-loading-route.index', op: 'ui.ember.transition', origin: 'auto.ui.ember', + status: 'ok', parent_span_id: spanId, span_id: expect.stringMatching(/[a-f0-9]{16}/), start_timestamp: expect.any(Number), @@ -208,6 +209,7 @@ test('captures correct spans for navigation', async ({ page }) => { description: 'slow-loading-route', op: 'ui.ember.route.before_model', origin: 'auto.ui.ember', + status: 'ok', parent_span_id: spanId, span_id: expect.stringMatching(/[a-f0-9]{16}/), start_timestamp: expect.any(Number), @@ -223,6 +225,7 @@ test('captures correct spans for navigation', async ({ page }) => { description: 'slow-loading-route.index', op: 'ui.ember.route.before_model', origin: 'auto.ui.ember', + status: 'ok', parent_span_id: spanId, span_id: expect.stringMatching(/[a-f0-9]{16}/), start_timestamp: expect.any(Number), @@ -241,6 +244,7 @@ test('captures correct spans for navigation', async ({ page }) => { description: 'slow-loading-route', op: 'ui.ember.route.model', origin: 'auto.ui.ember', + status: 'ok', parent_span_id: spanId, span_id: expect.stringMatching(/[a-f0-9]{16}/), start_timestamp: expect.any(Number), @@ -256,6 +260,7 @@ test('captures correct spans for navigation', async ({ page }) => { description: 'slow-loading-route.index', op: 'ui.ember.route.model', origin: 'auto.ui.ember', + status: 'ok', parent_span_id: spanId, span_id: expect.stringMatching(/[a-f0-9]{16}/), start_timestamp: expect.any(Number), @@ -274,6 +279,7 @@ test('captures correct spans for navigation', async ({ page }) => { description: 'slow-loading-route', op: 'ui.ember.route.after_model', origin: 'auto.ui.ember', + status: 'ok', parent_span_id: spanId, span_id: expect.stringMatching(/[a-f0-9]{16}/), start_timestamp: expect.any(Number), @@ -289,6 +295,7 @@ test('captures correct spans for navigation', async ({ page }) => { description: 'slow-loading-route.index', op: 'ui.ember.route.after_model', origin: 'auto.ui.ember', + status: 'ok', parent_span_id: spanId, span_id: expect.stringMatching(/[a-f0-9]{16}/), start_timestamp: expect.any(Number), @@ -305,6 +312,7 @@ test('captures correct spans for navigation', async ({ page }) => { description: 'runloop', op: 'ui.ember.runloop.render', origin: 'auto.ui.ember', + status: 'ok', parent_span_id: spanId, span_id: expect.stringMatching(/[a-f0-9]{16}/), start_timestamp: expect.any(Number), diff --git a/dev-packages/e2e-tests/test-applications/ember-embroider/tests/performance.test.ts b/dev-packages/e2e-tests/test-applications/ember-embroider/tests/performance.test.ts index 1545409ad3c5..dbdee99717f5 100644 --- a/dev-packages/e2e-tests/test-applications/ember-embroider/tests/performance.test.ts +++ b/dev-packages/e2e-tests/test-applications/ember-embroider/tests/performance.test.ts @@ -191,6 +191,7 @@ test('captures correct spans for navigation', async ({ page }) => { description: 'route:tracing -> route:slow-loading-route.index', op: 'ui.ember.transition', origin: 'auto.ui.ember', + status: 'ok', parent_span_id: spanId, span_id: expect.stringMatching(/[a-f0-9]{16}/), start_timestamp: expect.any(Number), @@ -208,6 +209,7 @@ test('captures correct spans for navigation', async ({ page }) => { description: 'slow-loading-route', op: 'ui.ember.route.before_model', origin: 'auto.ui.ember', + status: 'ok', parent_span_id: spanId, span_id: expect.stringMatching(/[a-f0-9]{16}/), start_timestamp: expect.any(Number), @@ -223,6 +225,7 @@ test('captures correct spans for navigation', async ({ page }) => { description: 'slow-loading-route.index', op: 'ui.ember.route.before_model', origin: 'auto.ui.ember', + status: 'ok', parent_span_id: spanId, span_id: expect.stringMatching(/[a-f0-9]{16}/), start_timestamp: expect.any(Number), @@ -241,6 +244,7 @@ test('captures correct spans for navigation', async ({ page }) => { description: 'slow-loading-route', op: 'ui.ember.route.model', origin: 'auto.ui.ember', + status: 'ok', parent_span_id: spanId, span_id: expect.stringMatching(/[a-f0-9]{16}/), start_timestamp: expect.any(Number), @@ -256,6 +260,7 @@ test('captures correct spans for navigation', async ({ page }) => { description: 'slow-loading-route.index', op: 'ui.ember.route.model', origin: 'auto.ui.ember', + status: 'ok', parent_span_id: spanId, span_id: expect.stringMatching(/[a-f0-9]{16}/), start_timestamp: expect.any(Number), @@ -274,6 +279,7 @@ test('captures correct spans for navigation', async ({ page }) => { description: 'slow-loading-route', op: 'ui.ember.route.after_model', origin: 'auto.ui.ember', + status: 'ok', parent_span_id: spanId, span_id: expect.stringMatching(/[a-f0-9]{16}/), start_timestamp: expect.any(Number), @@ -289,6 +295,7 @@ test('captures correct spans for navigation', async ({ page }) => { description: 'slow-loading-route.index', op: 'ui.ember.route.after_model', origin: 'auto.ui.ember', + status: 'ok', parent_span_id: spanId, span_id: expect.stringMatching(/[a-f0-9]{16}/), start_timestamp: expect.any(Number), @@ -305,6 +312,7 @@ test('captures correct spans for navigation', async ({ page }) => { description: 'runloop', op: 'ui.ember.runloop.render', origin: 'auto.ui.ember', + status: 'ok', parent_span_id: spanId, span_id: expect.stringMatching(/[a-f0-9]{16}/), start_timestamp: expect.any(Number), diff --git a/dev-packages/e2e-tests/test-applications/react-17/tests/transactions.test.ts b/dev-packages/e2e-tests/test-applications/react-17/tests/transactions.test.ts index cd67a97c1cef..e78b1be03f48 100644 --- a/dev-packages/e2e-tests/test-applications/react-17/tests/transactions.test.ts +++ b/dev-packages/e2e-tests/test-applications/react-17/tests/transactions.test.ts @@ -105,6 +105,7 @@ test('sends an INP span', async ({ page }) => { timestamp: expect.any(Number), trace_id: expect.stringMatching(/[a-f0-9]{32}/), origin: 'auto.http.browser.inp', + status: 'ok', exclusive_time: expect.any(Number), measurements: { inp: { unit: 'millisecond', value: expect.any(Number) } }, segment_id: expect.any(String), diff --git a/dev-packages/e2e-tests/test-applications/react-create-hash-router/tests/transactions.test.ts b/dev-packages/e2e-tests/test-applications/react-create-hash-router/tests/transactions.test.ts index e1086eb00959..fd6d56143a0a 100644 --- a/dev-packages/e2e-tests/test-applications/react-create-hash-router/tests/transactions.test.ts +++ b/dev-packages/e2e-tests/test-applications/react-create-hash-router/tests/transactions.test.ts @@ -60,6 +60,7 @@ test('Captures a pageload transaction', async ({ page }) => { timestamp: expect.any(Number), trace_id: expect.stringMatching(/[a-f0-9]{32}/), origin: 'auto.ui.browser.metrics', + status: 'ok', }); expect(transactionEvent.spans).toContainEqual({ data: { @@ -74,6 +75,7 @@ test('Captures a pageload transaction', async ({ page }) => { timestamp: expect.any(Number), trace_id: expect.stringMatching(/[a-f0-9]{32}/), origin: 'auto.ui.browser.metrics', + status: 'ok', }); expect(transactionEvent.spans).toContainEqual({ data: { @@ -88,6 +90,7 @@ test('Captures a pageload transaction', async ({ page }) => { timestamp: expect.any(Number), trace_id: expect.stringMatching(/[a-f0-9]{32}/), origin: 'auto.ui.browser.metrics', + status: 'ok', }); expect(transactionEvent.spans).toContainEqual({ data: { @@ -102,6 +105,7 @@ test('Captures a pageload transaction', async ({ page }) => { timestamp: expect.any(Number), trace_id: expect.stringMatching(/[a-f0-9]{32}/), origin: 'auto.ui.browser.metrics', + status: 'ok', }); }); diff --git a/dev-packages/e2e-tests/test-applications/react-router-6/tests/transactions.test.ts b/dev-packages/e2e-tests/test-applications/react-router-6/tests/transactions.test.ts index ad1f99199ed2..7bdd6048b30f 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-6/tests/transactions.test.ts +++ b/dev-packages/e2e-tests/test-applications/react-router-6/tests/transactions.test.ts @@ -105,6 +105,7 @@ test('sends an INP span', async ({ page }) => { timestamp: expect.any(Number), trace_id: expect.stringMatching(/[a-f0-9]{32}/), origin: 'auto.http.browser.inp', + status: 'ok', exclusive_time: expect.any(Number), measurements: { inp: { unit: 'millisecond', value: expect.any(Number) } }, segment_id: expect.any(String), diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-spa/tests/transactions.test.ts b/dev-packages/e2e-tests/test-applications/react-router-7-spa/tests/transactions.test.ts index 92cf76f5e181..a3d78e800105 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-7-spa/tests/transactions.test.ts +++ b/dev-packages/e2e-tests/test-applications/react-router-7-spa/tests/transactions.test.ts @@ -105,6 +105,7 @@ test('sends an INP span', async ({ page }) => { timestamp: expect.any(Number), trace_id: expect.any(String), origin: 'auto.http.browser.inp', + status: 'ok', exclusive_time: expect.any(Number), measurements: { inp: { unit: 'millisecond', value: expect.any(Number) } }, segment_id: expect.any(String), diff --git a/dev-packages/e2e-tests/test-applications/react-router-8-spa/tests/transactions.test.ts b/dev-packages/e2e-tests/test-applications/react-router-8-spa/tests/transactions.test.ts index 36ab03d87c3e..1f7bf8912207 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-8-spa/tests/transactions.test.ts +++ b/dev-packages/e2e-tests/test-applications/react-router-8-spa/tests/transactions.test.ts @@ -105,6 +105,7 @@ test('sends an INP span', async ({ page }) => { timestamp: expect.any(Number), trace_id: expect.any(String), origin: 'auto.http.browser.inp', + status: 'ok', exclusive_time: expect.any(Number), measurements: { inp: { unit: 'millisecond', value: expect.any(Number) } }, segment_id: expect.any(String), diff --git a/packages/browser/src/tracing/backgroundtab.ts b/packages/browser/src/tracing/backgroundtab.ts index c484bc0e52c2..29d728c75001 100644 --- a/packages/browser/src/tracing/backgroundtab.ts +++ b/packages/browser/src/tracing/backgroundtab.ts @@ -27,7 +27,7 @@ export function registerBackgroundTabDetection(): void { // We should not set status if it is already set, this prevent important statuses like // error or data loss from being overwritten on transaction. - if (!status) { + if (status === 'ok') { rootSpan.setStatus({ code: SPAN_STATUS_ERROR, message: cancelledStatus }); } diff --git a/packages/browser/test/tracing/browserTracingIntegration.test.ts b/packages/browser/test/tracing/browserTracingIntegration.test.ts index 7cfe1f726913..87aa268c2248 100644 --- a/packages/browser/test/tracing/browserTracingIntegration.test.ts +++ b/packages/browser/test/tracing/browserTracingIntegration.test.ts @@ -176,6 +176,7 @@ describe('browserTracingIntegration', () => { description: '/', op: 'pageload', origin: 'auto.pageload.browser', + status: 'ok', data: { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'pageload', [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.pageload.browser', @@ -262,6 +263,7 @@ describe('browserTracingIntegration', () => { description: '/', op: 'pageload', origin: 'auto.pageload.browser', + status: 'ok', data: { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'pageload', [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.pageload.browser', @@ -292,6 +294,7 @@ describe('browserTracingIntegration', () => { description: '/test', op: 'navigation', origin: 'auto.navigation.browser', + status: 'ok', data: { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'navigation', [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.navigation.browser', @@ -333,6 +336,7 @@ describe('browserTracingIntegration', () => { description: '/test2', op: 'navigation', origin: 'auto.navigation.browser', + status: 'ok', data: { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'navigation', [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.navigation.browser', @@ -376,6 +380,7 @@ describe('browserTracingIntegration', () => { description: '/', op: 'pageload', origin: 'auto.pageload.browser', + status: 'ok', data: { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'pageload', [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.pageload.browser', @@ -470,6 +475,7 @@ describe('browserTracingIntegration', () => { description: 'test span', op: 'pageload', origin: 'manual', + status: 'ok', data: { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'pageload', [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'manual', @@ -508,6 +514,7 @@ describe('browserTracingIntegration', () => { description: 'test span', op: 'pageload', origin: 'auto.test', + status: 'ok', data: { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'pageload', [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.test', @@ -750,6 +757,7 @@ describe('browserTracingIntegration', () => { description: 'test span', op: 'navigation', origin: 'manual', + status: 'ok', data: { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'navigation', [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'manual', @@ -805,6 +813,7 @@ describe('browserTracingIntegration', () => { description: 'test span', op: 'navigation', origin: 'auto.test', + status: 'ok', data: { [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'navigation', [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.test', diff --git a/packages/cloudflare/test/instrumentations/worker/instrumentEmail.test.ts b/packages/cloudflare/test/instrumentations/worker/instrumentEmail.test.ts index 5deb79d7d1c1..f282d80bc54d 100644 --- a/packages/cloudflare/test/instrumentations/worker/instrumentEmail.test.ts +++ b/packages/cloudflare/test/instrumentations/worker/instrumentEmail.test.ts @@ -268,6 +268,7 @@ describe('instrumentEmail', () => { }, op: 'faas.email', origin: 'auto.faas.cloudflare.email', + status: 'ok', span_id: expect.stringMatching(/[a-f0-9]{16}/), trace_id: expect.stringMatching(/[a-f0-9]{32}/), }); diff --git a/packages/cloudflare/test/instrumentations/worker/instrumentQueue.test.ts b/packages/cloudflare/test/instrumentations/worker/instrumentQueue.test.ts index 999073012b92..cf60c657bf55 100644 --- a/packages/cloudflare/test/instrumentations/worker/instrumentQueue.test.ts +++ b/packages/cloudflare/test/instrumentations/worker/instrumentQueue.test.ts @@ -287,6 +287,7 @@ describe('instrumentQueue', () => { }, op: 'queue.process', origin: 'auto.faas.cloudflare.queue', + status: 'ok', span_id: expect.stringMatching(/[a-f0-9]{16}/), trace_id: expect.stringMatching(/[a-f0-9]{32}/), }); diff --git a/packages/cloudflare/test/instrumentations/worker/instrumentScheduled.test.ts b/packages/cloudflare/test/instrumentations/worker/instrumentScheduled.test.ts index 6b0107a68aef..6d9f76c408a1 100644 --- a/packages/cloudflare/test/instrumentations/worker/instrumentScheduled.test.ts +++ b/packages/cloudflare/test/instrumentations/worker/instrumentScheduled.test.ts @@ -264,6 +264,7 @@ describe('instrumentScheduled', () => { }, op: 'faas.cron', origin: 'auto.faas.cloudflare.scheduled', + status: 'ok', span_id: expect.stringMatching(/[a-f0-9]{16}/), trace_id: expect.stringMatching(/[a-f0-9]{32}/), }); diff --git a/packages/core/src/tracing/trace.ts b/packages/core/src/tracing/trace.ts index 06f35cd4409c..7505b7889c1d 100644 --- a/packages/core/src/tracing/trace.ts +++ b/packages/core/src/tracing/trace.ts @@ -91,7 +91,7 @@ export function startSpan(options: StartSpanOptions, callback: (span: Span) = () => { // Only update the span status if it hasn't been changed yet, and the span is not yet finished const { status } = spanToJSON(activeSpan); - if (activeSpan.isRecording() && (!status || status === 'ok')) { + if (activeSpan.isRecording() && status === 'ok') { activeSpan.setStatus({ code: SPAN_STATUS_ERROR, message: 'internal_error' }); } }, @@ -157,7 +157,7 @@ export function startSpanManual(options: StartSpanOptions, callback: (span: S () => { // Only update the span status if it hasn't been changed yet, and the span is not yet finished const { status } = spanToJSON(activeSpan); - if (activeSpan.isRecording() && (!status || status === 'ok')) { + if (activeSpan.isRecording() && status === 'ok') { activeSpan.setStatus({ code: SPAN_STATUS_ERROR, message: 'internal_error' }); } }, diff --git a/packages/core/src/types/span.ts b/packages/core/src/types/span.ts index 7a7cddba62fa..bcc8b4506038 100644 --- a/packages/core/src/types/span.ts +++ b/packages/core/src/types/span.ts @@ -85,7 +85,7 @@ export interface SpanJSON { parent_span_id?: string; span_id: string; start_timestamp: number; - status?: string; + status: string; timestamp?: number; trace_id: string; origin?: SpanOrigin; diff --git a/packages/core/src/utils/spanUtils.ts b/packages/core/src/utils/spanUtils.ts index 1e9425567e45..3bcea3e4c64a 100644 --- a/packages/core/src/utils/spanUtils.ts +++ b/packages/core/src/utils/spanUtils.ts @@ -204,6 +204,7 @@ export function spanToJSON(span: Span): SpanJSON { span_id, trace_id, start_timestamp: 0, + status: 'ok', data: {}, }; } @@ -317,9 +318,9 @@ export function spanIsSampled(span: Span): boolean { } /** Get the status message to use for a JSON representation of a span. */ -export function getStatusMessage(status: SpanStatus | undefined): string | undefined { +export function getStatusMessage(status: SpanStatus | undefined): string { if (!status || status.code === SPAN_STATUS_UNSET) { - return undefined; + return 'ok'; } if (status.code === SPAN_STATUS_OK) { diff --git a/packages/core/src/utils/transactionEvent.ts b/packages/core/src/utils/transactionEvent.ts index 3e55b20977a0..0ab07b478786 100644 --- a/packages/core/src/utils/transactionEvent.ts +++ b/packages/core/src/utils/transactionEvent.ts @@ -15,7 +15,7 @@ export function convertTransactionEventToSpanJson(event: TransactionEvent): Span parent_span_id, span_id: span_id ?? '', start_timestamp: event.start_timestamp ?? 0, - status, + status: status ?? 'ok', timestamp: event.timestamp, trace_id: trace_id ?? '', origin, diff --git a/packages/core/test/lib/client.test.ts b/packages/core/test/lib/client.test.ts index e37c32dea309..1f092d6a6433 100644 --- a/packages/core/test/lib/client.test.ts +++ b/packages/core/test/lib/client.test.ts @@ -991,6 +991,7 @@ describe('Client', () => { start_timestamp: 1591603196.637835, trace_id: '86f39e84263a4de99c326acab3bfe3bd', data: {}, + status: 'ok', }, { description: 'first-contentful-paint', @@ -1001,6 +1002,7 @@ describe('Client', () => { start_timestamp: 1591603196.637835, trace_id: '86f39e84263a4de99c326acab3bfe3bd', data: {}, + status: 'ok', }, ], start_timestamp: 1591603196.614865, @@ -1063,6 +1065,7 @@ describe('Client', () => { start_timestamp: 1591603196.637835, trace_id: '86f39e84263a4de99c326acab3bfe3bd', data: {}, + status: 'ok', }, { description: 'second span', @@ -1070,6 +1073,7 @@ describe('Client', () => { start_timestamp: 1591603196.637835, trace_id: '86f39e84263a4de99c326acab3bfe3bd', data: {}, + status: 'ok', }, ], }; @@ -1098,6 +1102,7 @@ describe('Client', () => { start_timestamp: 1591603196.637835, trace_id: '86f39e84263a4de99c326acab3bfe3bd', data: {}, + status: 'ok', }, { description: 'second span', @@ -1105,6 +1110,7 @@ describe('Client', () => { start_timestamp: 1591603196.637835, trace_id: '86f39e84263a4de99c326acab3bfe3bd', data: {}, + status: 'ok', }, ], }; @@ -1139,6 +1145,7 @@ describe('Client', () => { start_timestamp: 1591603196.637835, trace_id: '86f39e84263a4de99c326acab3bfe3bd', data: {}, + status: 'ok', }, { description: 'second span', @@ -1147,6 +1154,7 @@ describe('Client', () => { start_timestamp: 1591603196.637835, trace_id: '86f39e84263a4de99c326acab3bfe3bd', data: {}, + status: 'ok', }, { description: 'third span', @@ -1155,6 +1163,7 @@ describe('Client', () => { start_timestamp: 1591603196.637835, trace_id: '86f39e84263a4de99c326acab3bfe3bd', data: {}, + status: 'ok', }, ], }; @@ -1169,6 +1178,7 @@ describe('Client', () => { start_timestamp: 1591603196.637835, trace_id: '86f39e84263a4de99c326acab3bfe3bd', data: {}, + status: 'ok', }, { description: 'third span', @@ -1177,6 +1187,7 @@ describe('Client', () => { start_timestamp: 1591603196.637835, trace_id: '86f39e84263a4de99c326acab3bfe3bd', data: {}, + status: 'ok', }, ]); expect(recordDroppedEventSpy).toBeCalledWith('before_send', 'span', 1); @@ -1203,6 +1214,7 @@ describe('Client', () => { trace: { span_id: 'root-span-id', trace_id: '86f39e84263a4de99c326acab3bfe3bd', + status: 'ok', }, }, transaction: 'root span', @@ -1215,6 +1227,7 @@ describe('Client', () => { start_timestamp: 1591603196.637835, trace_id: '86f39e84263a4de99c326acab3bfe3bd', data: {}, + status: 'ok', }, { description: 'second span', @@ -1224,6 +1237,7 @@ describe('Client', () => { start_timestamp: 1591603196.637835, trace_id: '86f39e84263a4de99c326acab3bfe3bd', data: {}, + status: 'ok', }, { description: 'third span', @@ -1233,6 +1247,7 @@ describe('Client', () => { start_timestamp: 1591603196.637835, trace_id: '86f39e84263a4de99c326acab3bfe3bd', data: {}, + status: 'ok', }, ], }; @@ -1248,6 +1263,7 @@ describe('Client', () => { start_timestamp: 1591603196.637835, trace_id: '86f39e84263a4de99c326acab3bfe3bd', data: {}, + status: 'ok', }, ]); expect(recordDroppedEventSpy).toBeCalledWith('before_send', 'span', 2); @@ -1276,6 +1292,7 @@ describe('Client', () => { ], contexts: { trace: { + status: 'ok', data: { modified: 'false', dropMe: 'true', @@ -1314,6 +1331,7 @@ describe('Client', () => { }, span_id: '9e15bf99fbe4bc80', trace_id: '86f39e84263a4de99c326acab3bfe3bd', + status: 'ok', }, app: { data: { @@ -1352,9 +1370,9 @@ describe('Client', () => { transaction: '/dogs/are/great', type: 'transaction', spans: [ - { span_id: 'span1', trace_id: 'trace1', start_timestamp: 1234, data: {} }, - { span_id: 'span2', trace_id: 'trace1', start_timestamp: 1234, data: {} }, - { span_id: 'span3', trace_id: 'trace1', start_timestamp: 1234, data: {} }, + { span_id: 'span1', trace_id: 'trace1', start_timestamp: 1234, data: {}, status: 'ok' }, + { span_id: 'span2', trace_id: 'trace1', start_timestamp: 1234, data: {}, status: 'ok' }, + { span_id: 'span3', trace_id: 'trace1', start_timestamp: 1234, data: {}, status: 'ok' }, ], }); @@ -1384,6 +1402,7 @@ describe('Client', () => { start_timestamp: 1591603196.637835, trace_id: '86f39e84263a4de99c326acab3bfe3bd', data: {}, + status: 'ok', }, { description: 'second span', @@ -1391,6 +1410,7 @@ describe('Client', () => { start_timestamp: 1591603196.637835, trace_id: '86f39e84263a4de99c326acab3bfe3bd', data: {}, + status: 'ok', }, ], }; @@ -1461,6 +1481,7 @@ describe('Client', () => { start_timestamp: 1591603196.637835, trace_id: '86f39e84263a4de99c326acab3bfe3bd', data: {}, + status: 'ok', }, { description: 'second span', @@ -1468,6 +1489,7 @@ describe('Client', () => { start_timestamp: 1591603196.637835, trace_id: '86f39e84263a4de99c326acab3bfe3bd', data: {}, + status: 'ok', }, ], }; diff --git a/packages/core/test/lib/envelope.test.ts b/packages/core/test/lib/envelope.test.ts index d933f48b0587..e96132a197ce 100644 --- a/packages/core/test/lib/envelope.test.ts +++ b/packages/core/test/lib/envelope.test.ts @@ -133,6 +133,7 @@ describe('createSpanEnvelope', () => { start_timestamp: 1, timestamp: 2, trace_id: expect.stringMatching(/^[0-9a-f]{32}$/), + status: 'ok', }); }); @@ -223,6 +224,7 @@ describe('createSpanEnvelope', () => { start_timestamp: 1, timestamp: 2, trace_id: expect.stringMatching(/^[0-9a-f]{32}$/), + status: 'ok', }); }); @@ -258,6 +260,7 @@ describe('createSpanEnvelope', () => { start_timestamp: 1, timestamp: 2, trace_id: expect.stringMatching(/^[0-9a-f]{32}$/), + status: 'ok', }); }); }); diff --git a/packages/core/test/lib/tracing/errors.test.ts b/packages/core/test/lib/tracing/errors.test.ts index 025f72574594..82940c48c86f 100644 --- a/packages/core/test/lib/tracing/errors.test.ts +++ b/packages/core/test/lib/tracing/errors.test.ts @@ -43,13 +43,13 @@ describe('registerErrorHandlers()', () => { registerSpanErrorInstrumentation(); const transaction = startInactiveSpan({ name: 'test' })!; - expect(spanToJSON(transaction).status).toBe(undefined); + expect(spanToJSON(transaction).status).toBe('ok'); mockErrorCallback({} as HandlerDataError); - expect(spanToJSON(transaction).status).toBe(undefined); + expect(spanToJSON(transaction).status).toBe('ok'); mockUnhandledRejectionCallback({}); - expect(spanToJSON(transaction).status).toBe(undefined); + expect(spanToJSON(transaction).status).toBe('ok'); transaction.end(); }); diff --git a/packages/core/test/lib/tracing/sentryNonRecordingSpan.test.ts b/packages/core/test/lib/tracing/sentryNonRecordingSpan.test.ts index 1aeec1893908..e328f66b72e5 100644 --- a/packages/core/test/lib/tracing/sentryNonRecordingSpan.test.ts +++ b/packages/core/test/lib/tracing/sentryNonRecordingSpan.test.ts @@ -21,6 +21,7 @@ describe('SentryNonRecordingSpan', () => { trace_id: expect.stringMatching(/[a-f0-9]{32}/), data: {}, start_timestamp: 0, + status: 'ok', }); // Ensure all methods work @@ -37,6 +38,7 @@ describe('SentryNonRecordingSpan', () => { trace_id: expect.stringMatching(/[a-f0-9]{32}/), data: {}, start_timestamp: 0, + status: 'ok', }); }); }); diff --git a/packages/core/test/lib/tracing/sentrySpan.test.ts b/packages/core/test/lib/tracing/sentrySpan.test.ts index 9bf840f12a2f..5f2c57a35988 100644 --- a/packages/core/test/lib/tracing/sentrySpan.test.ts +++ b/packages/core/test/lib/tracing/sentrySpan.test.ts @@ -355,6 +355,7 @@ describe('SentrySpan', () => { origin: 'manual', span_id: expect.stringMatching(/^[a-f0-9]{16}$/), trace_id: expect.stringMatching(/^[a-f0-9]{32}$/), + status: 'ok', }, }, sdkProcessingMetadata: { diff --git a/packages/core/test/lib/tracing/trace.test.ts b/packages/core/test/lib/tracing/trace.test.ts index 47f97425af64..891155652ed8 100644 --- a/packages/core/test/lib/tracing/trace.test.ts +++ b/packages/core/test/lib/tracing/trace.test.ts @@ -105,7 +105,7 @@ describe('startSpan', () => { expect(_span).toBeDefined(); expect(spanToJSON(_span!).description).toEqual('GET users/[id]'); - expect(spanToJSON(_span!).status).toEqual(isError ? 'internal_error' : undefined); + expect(spanToJSON(_span!).status).toEqual(isError ? 'internal_error' : 'ok'); }); it('allows for transaction to be mutated', async () => { @@ -148,7 +148,7 @@ describe('startSpan', () => { expect(spans).toHaveLength(2); expect(spanToJSON(spans[1]!).description).toEqual('SELECT * from users'); expect(spanToJSON(spans[1]!).parent_span_id).toEqual(_span!.spanContext().spanId); - expect(spanToJSON(spans[1]!).status).toEqual(isError ? 'internal_error' : undefined); + expect(spanToJSON(spans[1]!).status).toEqual(isError ? 'internal_error' : 'ok'); }); it('allows for span to be mutated', async () => { @@ -207,7 +207,7 @@ describe('startSpan', () => { description: 'GET users/[id]', span_id: expect.stringMatching(/[a-f0-9]{16}/), start_timestamp: expect.any(Number), - status: isError ? 'internal_error' : undefined, + status: isError ? 'internal_error' : 'ok', timestamp: expect.any(Number), trace_id: expect.stringMatching(/[a-f0-9]{32}/), }); @@ -573,6 +573,7 @@ describe('startSpan', () => { span_id: expect.stringMatching(/[a-f0-9]{16}/), trace_id: expect.stringMatching(/[a-f0-9]{32}/), origin: 'manual', + status: 'ok', }, }); expect(outerTransaction?.spans).toEqual([{ name: 'inner span', id: expect.any(String) }]); @@ -598,6 +599,7 @@ describe('startSpan', () => { span_id: expect.stringMatching(/[a-f0-9]{16}/), trace_id: outerTraceId, origin: 'manual', + status: 'ok', }, }); expect(innerTransaction?.spans).toEqual([{ name: 'inner span 2', id: expect.any(String) }]); @@ -1212,6 +1214,7 @@ describe('startSpanManual', () => { span_id: expect.stringMatching(/[a-f0-9]{16}/), trace_id: expect.stringMatching(/[a-f0-9]{32}/), origin: 'manual', + status: 'ok', }, }); expect(outerTransaction?.spans).toEqual([{ name: 'inner span', id: expect.any(String) }]); @@ -1237,6 +1240,7 @@ describe('startSpanManual', () => { span_id: expect.stringMatching(/[a-f0-9]{16}/), trace_id: outerTraceId, origin: 'manual', + status: 'ok', }, }); expect(innerTransaction?.spans).toEqual([{ name: 'inner span 2', id: expect.any(String) }]); @@ -1639,6 +1643,7 @@ describe('startInactiveSpan', () => { span_id: expect.stringMatching(/[a-f0-9]{16}/), trace_id: expect.stringMatching(/[a-f0-9]{32}/), origin: 'manual', + status: 'ok', }, }); expect(outerTransaction?.spans).toEqual([{ name: 'inner span', id: expect.any(String) }]); @@ -1664,6 +1669,7 @@ describe('startInactiveSpan', () => { span_id: expect.stringMatching(/[a-f0-9]{16}/), trace_id: outerTraceId, origin: 'manual', + status: 'ok', }, }); expect(innerTransaction?.spans).toEqual([]); diff --git a/packages/core/test/lib/utils/spanUtils.test.ts b/packages/core/test/lib/utils/spanUtils.test.ts index d8b0009cffee..c6e1542716f2 100644 --- a/packages/core/test/lib/utils/spanUtils.test.ts +++ b/packages/core/test/lib/utils/spanUtils.test.ts @@ -321,6 +321,7 @@ describe('spanToJSON', () => { trace_id: span.spanContext().traceId, origin: 'manual', start_timestamp: span['_startTime'], + status: 'ok', data: { 'sentry.origin': 'manual', }, @@ -378,6 +379,7 @@ describe('spanToJSON', () => { start_timestamp: 123, description: 'test span', data: {}, + status: 'ok', }); }); @@ -730,6 +732,7 @@ describe('spanToJSON', () => { }; expect(spanToJSON(span as unknown as Span)).toEqual({ + status: 'ok', span_id: 'SPAN-1', trace_id: 'TRACE-1', start_timestamp: 0, diff --git a/packages/core/test/lib/utils/transactionEvent.test.ts b/packages/core/test/lib/utils/transactionEvent.test.ts index 1da8843bc1d5..64a772a9b67a 100644 --- a/packages/core/test/lib/utils/transactionEvent.test.ts +++ b/packages/core/test/lib/utils/transactionEvent.test.ts @@ -27,6 +27,7 @@ describe('convertTransactionEventToSpanJson', () => { timestamp: 1234567890, trace_id: 'abc123', is_segment: true, + status: 'ok', }); }); @@ -92,6 +93,7 @@ describe('convertTransactionEventToSpanJson', () => { start_timestamp: 0, trace_id: '', is_segment: true, + status: 'ok', }); }); }); @@ -105,6 +107,7 @@ describe('convertSpanJsonToTransactionEvent', () => { start_timestamp: 0, timestamp: 1234567890, trace_id: 'abc123', + status: 'ok', }; expect(convertSpanJsonToTransactionEvent(span)).toEqual({ @@ -117,6 +120,7 @@ describe('convertSpanJsonToTransactionEvent', () => { span_id: 'span456', parent_span_id: '', data: {}, + status: 'ok', }, }, }); diff --git a/packages/node/src/integrations/tracing/graphql/vendored/instrumentation.ts b/packages/node/src/integrations/tracing/graphql/vendored/instrumentation.ts index b094275d7716..fd2459cb372c 100644 --- a/packages/node/src/integrations/tracing/graphql/vendored/instrumentation.ts +++ b/packages/node/src/integrations/tracing/graphql/vendored/instrumentation.ts @@ -245,8 +245,8 @@ export class GraphQLInstrumentation extends InstrumentationBase(options: OpenTelemetrySpanContext, callback: (span: Span) return handleCallbackErrors( () => callback(span), () => { - // Only set the span status to ERROR when there wasn't any status set before, in order to avoid stomping useful span statuses - if (spanToJSON(span).status === undefined) { + // Only set the span status to ERROR when there wasn't any error status set before, in order to avoid stomping useful span statuses + if (spanToJSON(span).status === 'ok') { span.setStatus({ code: SpanStatusCode.ERROR }); } }, @@ -94,8 +94,8 @@ function _startSpan(options: OpenTelemetrySpanContext, callback: (span: Span) return handleCallbackErrors( () => callback(span), () => { - // Only set the span status to ERROR when there wasn't any status set before, in order to avoid stomping useful span statuses - if (spanToJSON(span).status === undefined) { + // Only set the span status to ERROR when there wasn't any error status set before, in order to avoid stomping useful span statuses + if (spanToJSON(span).status === 'ok') { span.setStatus({ code: SpanStatusCode.ERROR }); } }, diff --git a/packages/opentelemetry/test/trace.test.ts b/packages/opentelemetry/test/trace.test.ts index 02b67b220b43..aef970a515d8 100644 --- a/packages/opentelemetry/test/trace.test.ts +++ b/packages/opentelemetry/test/trace.test.ts @@ -1960,6 +1960,7 @@ describe('continueTrace', () => { trace_id: '12312012123120121231201212312012', data: {}, start_timestamp: 0, + status: 'ok', }); expect(getSamplingDecision(span.spanContext())).toBe(false); expect(spanIsSampled(span)).toBe(false); @@ -1981,6 +1982,7 @@ describe('continueTrace', () => { trace_id: '12312012123120121231201212312012', data: {}, start_timestamp: 0, + status: 'ok', }); expect(getSamplingDecision(span.spanContext())).toBe(true); expect(spanIsSampled(span)).toBe(true); @@ -2002,6 +2004,7 @@ describe('continueTrace', () => { trace_id: '12312012123120121231201212312012', data: {}, start_timestamp: 0, + status: 'ok', }); expect(getSamplingDecision(span.spanContext())).toBe(true); expect(spanIsSampled(span)).toBe(true); diff --git a/packages/opentelemetry/test/tracerProvider.test.ts b/packages/opentelemetry/test/tracerProvider.test.ts index 1b8b878d305d..c7aa9b928e95 100644 --- a/packages/opentelemetry/test/tracerProvider.test.ts +++ b/packages/opentelemetry/test/tracerProvider.test.ts @@ -55,7 +55,7 @@ describe('SentryTracerProvider', () => { parent_span_id: undefined, span_id: span.spanContext().spanId, start_timestamp: expect.any(Number), - status: undefined, + status: 'ok', timestamp: undefined, trace_id: span.spanContext().traceId, profile_id: undefined, diff --git a/packages/opentelemetry/test/utils/spanToJSON.test.ts b/packages/opentelemetry/test/utils/spanToJSON.test.ts index c1f9fe2a18c7..9c480e04d54c 100644 --- a/packages/opentelemetry/test/utils/spanToJSON.test.ts +++ b/packages/opentelemetry/test/utils/spanToJSON.test.ts @@ -37,6 +37,7 @@ describe('spanToJSON', () => { trace_id: span.spanContext().traceId, start_timestamp: 123, description: 'test span', + status: 'ok', data: { [SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE]: 1, }, diff --git a/packages/server-utils/test/tracing-channel.test.ts b/packages/server-utils/test/tracing-channel.test.ts index 81c67b34e82f..488ece8bb60f 100644 --- a/packages/server-utils/test/tracing-channel.test.ts +++ b/packages/server-utils/test/tracing-channel.test.ts @@ -274,7 +274,7 @@ describe('bindTracingChannelToSpan', () => { expect(endSpy).toHaveBeenCalledTimes(1); expect(spanToJSON(span).timestamp).toBeDefined(); - expect(spanToJSON(span).status).toBeUndefined(); + expect(spanToJSON(span).status).toBe('ok'); expect(captureExceptionSpy).not.toHaveBeenCalled(); }); @@ -338,7 +338,7 @@ describe('bindTracingChannelToSpan', () => { expect(endSpy).toHaveBeenCalledTimes(1); expect(spanToJSON(span).timestamp).toBeDefined(); - expect(spanToJSON(span).status).toBeUndefined(); + expect(spanToJSON(span).status).toBe('ok'); expect(captureExceptionSpy).not.toHaveBeenCalled(); }); @@ -400,7 +400,7 @@ describe('bindTracingChannelToSpan', () => { expect(endSpy).toHaveBeenCalledTimes(1); expect(spanToJSON(span).timestamp).toBeDefined(); - expect(spanToJSON(span).status).toBeUndefined(); + expect(spanToJSON(span).status).toBe('ok'); expect(captureExceptionSpy).not.toHaveBeenCalled(); }); @@ -820,7 +820,7 @@ describe('bindTracingChannelToSpan', () => { end(); expect(endSpy).toHaveBeenCalledTimes(1); expect(spanToJSON(span).timestamp).toBeDefined(); - expect(spanToJSON(span).status).toBeUndefined(); + expect(spanToJSON(span).status).toBe('ok'); }); it('`end(error)` sets error status and the `error.type` attribute, then ends', () => { diff --git a/packages/svelte/test/performance.test.ts b/packages/svelte/test/performance.test.ts index 9d439b6275ba..8bfc6e070a09 100644 --- a/packages/svelte/test/performance.test.ts +++ b/packages/svelte/test/performance.test.ts @@ -63,6 +63,7 @@ describe('Sentry.trackComponent()', () => { start_timestamp: expect.any(Number), timestamp: expect.any(Number), trace_id: expect.stringMatching(/[a-f0-9]{32}/), + status: 'ok', }); }); @@ -103,6 +104,7 @@ describe('Sentry.trackComponent()', () => { start_timestamp: expect.any(Number), timestamp: expect.any(Number), trace_id: expect.stringMatching(/[a-f0-9]{32}/), + status: 'ok', }); expect(transaction.spans![1]).toEqual({ @@ -118,6 +120,7 @@ describe('Sentry.trackComponent()', () => { start_timestamp: expect.any(Number), timestamp: expect.any(Number), trace_id: expect.stringMatching(/[a-f0-9]{32}/), + status: 'ok', }); expect(transaction.spans![2]).toEqual({ @@ -133,6 +136,7 @@ describe('Sentry.trackComponent()', () => { start_timestamp: expect.any(Number), timestamp: expect.any(Number), trace_id: expect.stringMatching(/[a-f0-9]{32}/), + status: 'ok', }); }); diff --git a/packages/sveltekit/test/server-common/load.test.ts b/packages/sveltekit/test/server-common/load.test.ts index 45ec289ed230..4ca7436bb8b2 100644 --- a/packages/sveltekit/test/server-common/load.test.ts +++ b/packages/sveltekit/test/server-common/load.test.ts @@ -266,6 +266,7 @@ describe('wrapServerLoadWithSentry calls `startSpan`', () => { span_id: expect.stringMatching(/[a-f0-9]{16}/), trace_id: expect.stringMatching(/[a-f0-9]{32}/), origin: 'auto.function.sveltekit', + status: 'ok', }); expect(transaction.transaction).toEqual('/users/123'); });