diff --git a/.size-limit.js b/.size-limit.js
index 5e94a923e656..739c3f62aae1 100644
--- a/.size-limit.js
+++ b/.size-limit.js
@@ -3,28 +3,28 @@ module.exports = [
{
name: '@sentry/browser (incl. Tracing, Replay, Feedback) - Webpack (gzipped)',
path: 'packages/browser/build/npm/esm/index.js',
- import: '{ init, Replay, BrowserTracing, Feedback }',
+ import: '{ init, Replay, browserTracingIntegration, Feedback }',
gzip: true,
limit: '90 KB',
},
{
name: '@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped)',
path: 'packages/browser/build/npm/esm/index.js',
- import: '{ init, Replay, BrowserTracing }',
+ import: '{ init, Replay, browserTracingIntegration }',
gzip: true,
limit: '75 KB',
},
{
name: '@sentry/browser (incl. Tracing, Replay with Canvas) - Webpack (gzipped)',
path: 'packages/browser/build/npm/esm/index.js',
- import: '{ init, Replay, BrowserTracing, ReplayCanvas }',
+ import: '{ init, Replay, browserTracingIntegration, ReplayCanvas }',
gzip: true,
limit: '90 KB',
},
{
name: '@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped)',
path: 'packages/browser/build/npm/esm/index.js',
- import: '{ init, Replay, BrowserTracing }',
+ import: '{ init, Replay, browserTracingIntegration }',
gzip: true,
limit: '75 KB',
modifyWebpackConfig: function (config) {
@@ -43,7 +43,7 @@ module.exports = [
{
name: '@sentry/browser (incl. Tracing) - Webpack (gzipped)',
path: 'packages/browser/build/npm/esm/index.js',
- import: '{ init, BrowserTracing }',
+ import: '{ init, browserTracingIntegration }',
gzip: true,
limit: '35 KB',
},
@@ -138,7 +138,7 @@ module.exports = [
{
name: '@sentry/react (incl. Tracing, Replay) - Webpack (gzipped)',
path: 'packages/react/build/esm/index.js',
- import: '{ init, BrowserTracing, Replay }',
+ import: '{ init, browserTracingIntegration, Replay }',
gzip: true,
limit: '75 KB',
},
@@ -154,7 +154,7 @@ module.exports = [
{
name: '@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped)',
path: 'packages/nextjs/build/esm/client/index.js',
- import: '{ init, BrowserTracing, Replay }',
+ import: '{ init, browserTracingIntegration, Replay }',
gzip: true,
limit: '110 KB',
},
diff --git a/dev-packages/browser-integration-tests/loader-suites/loader/onLoad/customBrowserTracing/test.ts b/dev-packages/browser-integration-tests/loader-suites/loader/onLoad/customBrowserTracing/test.ts
index 64b7fb800533..12cf305fab7d 100644
--- a/dev-packages/browser-integration-tests/loader-suites/loader/onLoad/customBrowserTracing/test.ts
+++ b/dev-packages/browser-integration-tests/loader-suites/loader/onLoad/customBrowserTracing/test.ts
@@ -7,7 +7,7 @@ import {
waitForTransactionRequestOnUrl,
} from '../../../../utils/helpers';
-sentryTest('should handle custom added BrowserTracing integration', async ({ getLocalTestUrl, page }) => {
+sentryTest('should handle custom added browserTracingIntegration instances', async ({ getLocalTestUrl, page }) => {
if (shouldSkipTracingTest()) {
sentryTest.skip();
}
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegrationHashShim/init.js b/dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegrationHashShim/init.js
deleted file mode 100644
index cd05f29615bb..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegrationHashShim/init.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import * as Sentry from '@sentry/browser';
-
-window.Sentry = Sentry;
-
-Sentry.init({
- dsn: 'https://public@dsn.ingest.sentry.io/1337',
- sampleRate: 1,
- integrations: [new Sentry.Integrations.BrowserTracing()],
-});
-
-// This should not fail
-Sentry.addTracingExtensions();
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegrationHashShim/template.html b/dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegrationHashShim/template.html
deleted file mode 100644
index 2b3e2f0b27b4..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegrationHashShim/template.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegrationHashShim/test.ts b/dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegrationHashShim/test.ts
deleted file mode 100644
index e37181ee815b..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browserTracingIntegrationHashShim/test.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { expect } from '@playwright/test';
-
-import { sentryTest } from '../../../utils/fixtures';
-import { shouldSkipTracingTest } from '../../../utils/helpers';
-
-sentryTest(
- 'exports a shim Integrations.BrowserTracing integration for non-tracing bundles',
- async ({ getLocalTestPath, page }) => {
- // Skip in tracing tests
- if (!shouldSkipTracingTest()) {
- sentryTest.skip();
- }
-
- const consoleMessages: string[] = [];
- page.on('console', msg => consoleMessages.push(msg.text()));
-
- let requestCount = 0;
- await page.route('https://dsn.ingest.sentry.io/**/*', route => {
- requestCount++;
- return route.fulfill({
- status: 200,
- contentType: 'application/json',
- body: JSON.stringify({ id: 'test-id' }),
- });
- });
-
- const url = await getLocalTestPath({ testDir: __dirname });
-
- await page.goto(url);
-
- expect(requestCount).toBe(0);
- expect(consoleMessages).toEqual([
- 'You are using new BrowserTracing() even though this bundle does not include tracing.',
- ]);
- },
-);
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browserTracingShim/init.js b/dev-packages/browser-integration-tests/suites/tracing/browserTracingShim/init.js
deleted file mode 100644
index 95f654dd4428..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browserTracingShim/init.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import * as Sentry from '@sentry/browser';
-
-window.Sentry = Sentry;
-
-Sentry.init({
- dsn: 'https://public@dsn.ingest.sentry.io/1337',
- sampleRate: 1,
- integrations: [new Sentry.BrowserTracing()],
-});
-
-// This should not fail
-Sentry.addTracingExtensions();
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browserTracingShim/template.html b/dev-packages/browser-integration-tests/suites/tracing/browserTracingShim/template.html
deleted file mode 100644
index 2b3e2f0b27b4..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browserTracingShim/template.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browserTracingShim/test.ts b/dev-packages/browser-integration-tests/suites/tracing/browserTracingShim/test.ts
deleted file mode 100644
index 7b6027694734..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browserTracingShim/test.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { expect } from '@playwright/test';
-
-import { sentryTest } from '../../../utils/fixtures';
-import { shouldSkipTracingTest } from '../../../utils/helpers';
-
-sentryTest('exports a shim BrowserTracing integration for non-tracing bundles', async ({ getLocalTestPath, page }) => {
- // Skip in tracing tests
- if (!shouldSkipTracingTest()) {
- sentryTest.skip();
- }
-
- const consoleMessages: string[] = [];
- page.on('console', msg => consoleMessages.push(msg.text()));
-
- let requestCount = 0;
- await page.route('https://dsn.ingest.sentry.io/**/*', route => {
- requestCount++;
- return route.fulfill({
- status: 200,
- contentType: 'application/json',
- body: JSON.stringify({ id: 'test-id' }),
- });
- });
-
- const url = await getLocalTestPath({ testDir: __dirname });
-
- await page.goto(url);
-
- expect(requestCount).toBe(0);
- expect(consoleMessages).toEqual([
- 'You are using new BrowserTracing() even though this bundle does not include tracing.',
- ]);
-});
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/backgroundtab-custom/init.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/backgroundtab-custom/init.js
deleted file mode 100644
index 62685d4b6d18..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/backgroundtab-custom/init.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import * as Sentry from '@sentry/browser';
-
-window.Sentry = Sentry;
-
-Sentry.init({
- dsn: 'https://public@dsn.ingest.sentry.io/1337',
- integrations: [new Sentry.BrowserTracing({ idleTimeout: 9000, startTransactionOnPageLoad: false })],
- tracesSampleRate: 1,
-});
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/backgroundtab-custom/subject.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/backgroundtab-custom/subject.js
deleted file mode 100644
index e40426fdbe26..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/backgroundtab-custom/subject.js
+++ /dev/null
@@ -1,16 +0,0 @@
-document.getElementById('go-background').addEventListener('click', () => {
- Object.defineProperty(document, 'hidden', { value: true, writable: true });
- const ev = document.createEvent('Event');
- ev.initEvent('visibilitychange');
- document.dispatchEvent(ev);
-});
-
-document.getElementById('start-span').addEventListener('click', () => {
- const span = Sentry.startInactiveSpan({ name: 'test-span' });
- window.span = span;
- Sentry.getCurrentScope().setSpan(span);
-});
-
-window.getSpanJson = () => {
- return Sentry.spanToJSON(window.span);
-};
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/backgroundtab-custom/template.html b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/backgroundtab-custom/template.html
deleted file mode 100644
index 772158d31f51..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/backgroundtab-custom/template.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/backgroundtab-custom/test.ts b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/backgroundtab-custom/test.ts
deleted file mode 100644
index fad37e85d6b4..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/backgroundtab-custom/test.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import { expect } from '@playwright/test';
-import type { SpanJSON } from '@sentry/types';
-
-import { sentryTest } from '../../../../utils/fixtures';
-import { shouldSkipTracingTest } from '../../../../utils/helpers';
-
-sentryTest('should finish a custom transaction when the page goes background', async ({ getLocalTestPath, page }) => {
- if (shouldSkipTracingTest()) {
- sentryTest.skip();
- }
-
- const url = await getLocalTestPath({ testDir: __dirname });
- page.goto(url);
-
- await page.locator('#start-span').click();
- const spanJsonBefore: SpanJSON = await page.evaluate('window.getSpanJson()');
-
- const id_before = spanJsonBefore.span_id;
- const description_before = spanJsonBefore.description;
- const status_before = spanJsonBefore.status;
-
- expect(description_before).toBe('test-span');
- expect(status_before).toBeUndefined();
-
- await page.locator('#go-background').click();
- const spanJsonAfter: SpanJSON = await page.evaluate('window.getSpanJson()');
-
- const id_after = spanJsonAfter.span_id;
- const description_after = spanJsonAfter.description;
- const status_after = spanJsonAfter.status;
- const data_after = spanJsonAfter.data;
-
- expect(id_before).toBe(id_after);
- expect(description_after).toBe(description_before);
- expect(status_after).toBe('cancelled');
- expect(data_after?.['sentry.cancellation_reason']).toBe('document.hidden');
-});
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/backgroundtab-pageload/subject.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/backgroundtab-pageload/subject.js
deleted file mode 100644
index b657f38ac009..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/backgroundtab-pageload/subject.js
+++ /dev/null
@@ -1,8 +0,0 @@
-document.getElementById('go-background').addEventListener('click', () => {
- setTimeout(() => {
- Object.defineProperty(document, 'hidden', { value: true, writable: true });
- const ev = document.createEvent('Event');
- ev.initEvent('visibilitychange');
- document.dispatchEvent(ev);
- }, 250);
-});
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/backgroundtab-pageload/template.html b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/backgroundtab-pageload/template.html
deleted file mode 100644
index 31cfc73ec3c3..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/backgroundtab-pageload/template.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/backgroundtab-pageload/test.ts b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/backgroundtab-pageload/test.ts
deleted file mode 100644
index 1feda2e850e5..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/backgroundtab-pageload/test.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-import { expect } from '@playwright/test';
-import type { Event } from '@sentry/types';
-
-import { sentryTest } from '../../../../utils/fixtures';
-import { getFirstSentryEnvelopeRequest, shouldSkipTracingTest } from '../../../../utils/helpers';
-
-sentryTest('should finish pageload transaction when the page goes background', async ({ getLocalTestPath, page }) => {
- if (shouldSkipTracingTest()) {
- sentryTest.skip();
- }
- const url = await getLocalTestPath({ testDir: __dirname });
-
- await page.goto(url);
- await page.locator('#go-background').click();
-
- const pageloadTransaction = await getFirstSentryEnvelopeRequest(page);
-
- expect(pageloadTransaction.contexts?.trace?.op).toBe('pageload');
- expect(pageloadTransaction.contexts?.trace?.status).toBe('cancelled');
- expect(pageloadTransaction.contexts?.trace?.data?.['sentry.cancellation_reason']).toBe('document.hidden');
-});
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/http-timings/init.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/http-timings/init.js
deleted file mode 100644
index ec8b0cb08034..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/http-timings/init.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import * as Sentry from '@sentry/browser';
-
-window.Sentry = Sentry;
-
-Sentry.init({
- dsn: 'https://public@dsn.ingest.sentry.io/1337',
- integrations: [
- new Sentry.BrowserTracing({
- idleTimeout: 1000,
- _experiments: {
- enableHTTPTimings: true,
- },
- }),
- ],
- tracesSampleRate: 1,
-});
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/http-timings/subject.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/http-timings/subject.js
deleted file mode 100644
index f62499b1e9c5..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/http-timings/subject.js
+++ /dev/null
@@ -1 +0,0 @@
-fetch('http://example.com/0').then(fetch('http://example.com/1').then(fetch('http://example.com/2')));
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/http-timings/test.ts b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/http-timings/test.ts
deleted file mode 100644
index b6da7522d82c..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/http-timings/test.ts
+++ /dev/null
@@ -1,58 +0,0 @@
-import { expect } from '@playwright/test';
-import type { SerializedEvent } from '@sentry/types';
-
-import { sentryTest } from '../../../../utils/fixtures';
-import { getMultipleSentryEnvelopeRequests, shouldSkipTracingTest } from '../../../../utils/helpers';
-
-sentryTest('should create fetch spans with http timing @firefox', async ({ browserName, getLocalTestPath, page }) => {
- const supportedBrowsers = ['chromium', 'firefox'];
-
- if (shouldSkipTracingTest() || !supportedBrowsers.includes(browserName)) {
- sentryTest.skip();
- }
- await page.route('http://example.com/*', async route => {
- const request = route.request();
- const postData = await request.postDataJSON();
-
- await route.fulfill({
- status: 200,
- contentType: 'application/json',
- body: JSON.stringify(Object.assign({ id: 1 }, postData)),
- });
- });
-
- const url = await getLocalTestPath({ testDir: __dirname });
-
- const envelopes = await getMultipleSentryEnvelopeRequests(page, 2, { url, timeout: 10000 });
- const tracingEvent = envelopes[envelopes.length - 1]; // last envelope contains tracing data on all browsers
-
- // eslint-disable-next-line deprecation/deprecation
- const requestSpans = tracingEvent.spans?.filter(({ op }) => op === 'http.client');
-
- expect(requestSpans).toHaveLength(3);
-
- await page.pause();
- requestSpans?.forEach((span, index) =>
- expect(span).toMatchObject({
- description: `GET http://example.com/${index}`,
- parent_span_id: tracingEvent.contexts?.trace?.span_id,
- span_id: expect.any(String),
- start_timestamp: expect.any(Number),
- timestamp: expect.any(Number),
- trace_id: tracingEvent.contexts?.trace?.trace_id,
- data: expect.objectContaining({
- 'http.request.redirect_start': expect.any(Number),
- 'http.request.fetch_start': expect.any(Number),
- 'http.request.domain_lookup_start': expect.any(Number),
- 'http.request.domain_lookup_end': expect.any(Number),
- 'http.request.connect_start': expect.any(Number),
- 'http.request.secure_connection_start': expect.any(Number),
- 'http.request.connection_end': expect.any(Number),
- 'http.request.request_start': expect.any(Number),
- 'http.request.response_start': expect.any(Number),
- 'http.request.response_end': expect.any(Number),
- 'network.protocol.version': expect.any(String),
- }),
- }),
- );
-});
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/init.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/init.js
deleted file mode 100644
index 14e743361fd7..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/init.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import * as Sentry from '@sentry/browser';
-
-window.Sentry = Sentry;
-
-Sentry.init({
- dsn: 'https://public@dsn.ingest.sentry.io/1337',
- integrations: [new Sentry.BrowserTracing()],
- tracesSampleRate: 1,
-});
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/interactions/assets/script.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/interactions/assets/script.js
deleted file mode 100644
index a37a2c70ad27..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/interactions/assets/script.js
+++ /dev/null
@@ -1,17 +0,0 @@
-const delay = e => {
- const startTime = Date.now();
-
- function getElasped() {
- const time = Date.now();
- return time - startTime;
- }
-
- while (getElasped() < 70) {
- //
- }
-
- e.target.classList.add('clicked');
-};
-
-document.querySelector('[data-test-id=interaction-button]').addEventListener('click', delay);
-document.querySelector('[data-test-id=annotated-button]').addEventListener('click', delay);
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/interactions/init.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/interactions/init.js
deleted file mode 100644
index f8f8cf526a6b..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/interactions/init.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import * as Sentry from '@sentry/browser';
-
-window.Sentry = Sentry;
-
-Sentry.init({
- dsn: 'https://public@dsn.ingest.sentry.io/1337',
- integrations: [
- new Sentry.BrowserTracing({
- idleTimeout: 1000,
- _experiments: {
- enableInteractions: true,
- enableLongTask: false,
- },
- }),
- ],
- tracesSampleRate: 1,
-});
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/interactions/template.html b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/interactions/template.html
deleted file mode 100644
index 3357fb20a94e..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/interactions/template.html
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
- Rendered Before Long Task
-
-
-
-
-
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/interactions/test.ts b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/interactions/test.ts
deleted file mode 100644
index fa9d2889bae3..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/interactions/test.ts
+++ /dev/null
@@ -1,114 +0,0 @@
-import type { Route } from '@playwright/test';
-import { expect } from '@playwright/test';
-import type { SerializedEvent, Span, SpanContext, Transaction } from '@sentry/types';
-
-import { sentryTest } from '../../../../utils/fixtures';
-import {
- getFirstSentryEnvelopeRequest,
- getMultipleSentryEnvelopeRequests,
- shouldSkipTracingTest,
-} from '../../../../utils/helpers';
-
-type TransactionJSON = ReturnType & {
- spans: ReturnType[];
- contexts: SpanContext;
- platform: string;
- type: string;
-};
-
-const wait = (time: number) => new Promise(res => setTimeout(res, time));
-
-sentryTest('should capture interaction transaction. @firefox', async ({ browserName, getLocalTestPath, page }) => {
- const supportedBrowsers = ['chromium', 'firefox'];
-
- if (shouldSkipTracingTest() || !supportedBrowsers.includes(browserName)) {
- sentryTest.skip();
- }
-
- await page.route('**/path/to/script.js', (route: Route) => route.fulfill({ path: `${__dirname}/assets/script.js` }));
-
- const url = await getLocalTestPath({ testDir: __dirname });
-
- await page.goto(url);
- await getFirstSentryEnvelopeRequest(page);
-
- await page.locator('[data-test-id=interaction-button]').click();
- await page.locator('.clicked[data-test-id=interaction-button]').isVisible();
-
- const envelopes = await getMultipleSentryEnvelopeRequests(page, 1);
- expect(envelopes).toHaveLength(1);
-
- const eventData = envelopes[0];
-
- expect(eventData.contexts).toMatchObject({ trace: { op: 'ui.action.click' } });
- expect(eventData.platform).toBe('javascript');
- expect(eventData.type).toBe('transaction');
- expect(eventData.spans).toHaveLength(1);
-
- const interactionSpan = eventData.spans![0];
- expect(interactionSpan.op).toBe('ui.interaction.click');
- expect(interactionSpan.description).toBe('body > button.clicked');
- expect(interactionSpan.timestamp).toBeDefined();
-
- const interactionSpanDuration = (interactionSpan.timestamp! - interactionSpan.start_timestamp) * 1000;
- expect(interactionSpanDuration).toBeGreaterThan(65);
- expect(interactionSpanDuration).toBeLessThan(200);
-});
-
-sentryTest(
- 'should create only one transaction per interaction @firefox',
- async ({ browserName, getLocalTestPath, page }) => {
- const supportedBrowsers = ['chromium', 'firefox'];
-
- if (shouldSkipTracingTest() || !supportedBrowsers.includes(browserName)) {
- sentryTest.skip();
- }
-
- await page.route('**/path/to/script.js', (route: Route) =>
- route.fulfill({ path: `${__dirname}/assets/script.js` }),
- );
-
- const url = await getLocalTestPath({ testDir: __dirname });
- await page.goto(url);
- await getFirstSentryEnvelopeRequest(page);
-
- for (let i = 0; i < 4; i++) {
- await wait(100);
- await page.locator('[data-test-id=interaction-button]').click();
- const envelope = await getMultipleSentryEnvelopeRequests(page, 1);
- expect(envelope[0].spans).toHaveLength(1);
- }
- },
-);
-
-sentryTest(
- 'should use the component name for a clicked element when it is available',
- async ({ browserName, getLocalTestPath, page }) => {
- const supportedBrowsers = ['chromium', 'firefox'];
-
- if (shouldSkipTracingTest() || !supportedBrowsers.includes(browserName)) {
- sentryTest.skip();
- }
-
- await page.route('**/path/to/script.js', (route: Route) =>
- route.fulfill({ path: `${__dirname}/assets/script.js` }),
- );
-
- const url = await getLocalTestPath({ testDir: __dirname });
-
- await page.goto(url);
- await getFirstSentryEnvelopeRequest(page);
-
- await page.locator('[data-test-id=annotated-button]').click();
-
- const envelopes = await getMultipleSentryEnvelopeRequests(page, 1);
- expect(envelopes).toHaveLength(1);
- const eventData = envelopes[0];
-
- expect(eventData.spans).toHaveLength(1);
-
- const interactionSpan = eventData.spans![0];
- expect(interactionSpan.op).toBe('ui.interaction.click');
- expect(interactionSpan.description).toBe('body > AnnotatedButton');
- },
-);
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-disabled/assets/script.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-disabled/assets/script.js
deleted file mode 100644
index 9ac3d6fb33d2..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-disabled/assets/script.js
+++ /dev/null
@@ -1,12 +0,0 @@
-(() => {
- const startTime = Date.now();
-
- function getElasped() {
- const time = Date.now();
- return time - startTime;
- }
-
- while (getElasped() < 101) {
- //
- }
-})();
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-disabled/init.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-disabled/init.js
deleted file mode 100644
index 8dba00211a01..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-disabled/init.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import * as Sentry from '@sentry/browser';
-
-window.Sentry = Sentry;
-
-Sentry.init({
- dsn: 'https://public@dsn.ingest.sentry.io/1337',
- integrations: [new Sentry.BrowserTracing({ enableLongTask: false, idleTimeout: 9000 })],
- tracesSampleRate: 1,
-});
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-disabled/template.html b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-disabled/template.html
deleted file mode 100644
index 5c3a14114991..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-disabled/template.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
- Rendered Before Long Task
-
-
-
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-disabled/test.ts b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-disabled/test.ts
deleted file mode 100644
index d460d2883afd..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-disabled/test.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import type { Route } from '@playwright/test';
-import { expect } from '@playwright/test';
-import type { SerializedEvent } from '@sentry/types';
-
-import { sentryTest } from '../../../../utils/fixtures';
-import { getFirstSentryEnvelopeRequest, shouldSkipTracingTest } from '../../../../utils/helpers';
-
-sentryTest('should not capture long task when flag is disabled.', async ({ browserName, getLocalTestPath, page }) => {
- // Long tasks only work on chrome
- if (shouldSkipTracingTest() || browserName !== 'chromium') {
- sentryTest.skip();
- }
-
- await page.route('**/path/to/script.js', (route: Route) => route.fulfill({ path: `${__dirname}/assets/script.js` }));
-
- const url = await getLocalTestPath({ testDir: __dirname });
-
- const eventData = await getFirstSentryEnvelopeRequest(page, url);
- const uiSpans = eventData.spans?.filter(({ op }) => op?.startsWith('ui'));
-
- expect(uiSpans?.length).toBe(0);
-});
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-enabled/assets/script.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-enabled/assets/script.js
deleted file mode 100644
index 5a2aef02028d..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-enabled/assets/script.js
+++ /dev/null
@@ -1,12 +0,0 @@
-(() => {
- const startTime = Date.now();
-
- function getElasped() {
- const time = Date.now();
- return time - startTime;
- }
-
- while (getElasped() < 105) {
- //
- }
-})();
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-enabled/init.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-enabled/init.js
deleted file mode 100644
index 155966847b1c..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-enabled/init.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import * as Sentry from '@sentry/browser';
-
-window.Sentry = Sentry;
-
-Sentry.init({
- dsn: 'https://public@dsn.ingest.sentry.io/1337',
- integrations: [
- new Sentry.BrowserTracing({
- idleTimeout: 9000,
- }),
- ],
- tracesSampleRate: 1,
-});
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-enabled/template.html b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-enabled/template.html
deleted file mode 100644
index 5c3a14114991..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-enabled/template.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
- Rendered Before Long Task
-
-
-
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-enabled/test.ts b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-enabled/test.ts
deleted file mode 100644
index 1ed0bcda2a89..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/long-tasks-enabled/test.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import type { Route } from '@playwright/test';
-import { expect } from '@playwright/test';
-import type { SerializedEvent } from '@sentry/types';
-
-import { sentryTest } from '../../../../utils/fixtures';
-import { getFirstSentryEnvelopeRequest, shouldSkipTracingTest } from '../../../../utils/helpers';
-
-sentryTest('should capture long task.', async ({ browserName, getLocalTestPath, page }) => {
- // Long tasks only work on chrome
- if (shouldSkipTracingTest() || browserName !== 'chromium') {
- sentryTest.skip();
- }
-
- await page.route('**/path/to/script.js', (route: Route) => route.fulfill({ path: `${__dirname}/assets/script.js` }));
-
- const url = await getLocalTestPath({ testDir: __dirname });
-
- const eventData = await getFirstSentryEnvelopeRequest(page, url);
- const uiSpans = eventData.spans?.filter(({ op }) => op?.startsWith('ui'));
-
- expect(uiSpans?.length).toBeGreaterThan(0);
-
- const [firstUISpan] = uiSpans || [];
- expect(firstUISpan).toEqual(
- expect.objectContaining({
- op: 'ui.long-task',
- description: 'Main UI thread blocked',
- parent_span_id: eventData.contexts?.trace?.span_id,
- }),
- );
- const start = firstUISpan.start_timestamp ?? 0;
- const end = firstUISpan.timestamp ?? 0;
- const duration = end - start;
-
- expect(duration).toBeGreaterThanOrEqual(0.1);
- expect(duration).toBeLessThanOrEqual(0.15);
-});
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/meta/init.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/meta/init.js
deleted file mode 100644
index e6f49fa89562..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/meta/init.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import * as Sentry from '@sentry/browser';
-
-window.Sentry = Sentry;
-
-Sentry.init({
- dsn: 'https://public@dsn.ingest.sentry.io/1337',
- integrations: [new Sentry.BrowserTracing()],
- tracesSampleRate: 1,
- environment: 'staging',
-});
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/meta/template.html b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/meta/template.html
deleted file mode 100644
index 09984cb0c488..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/meta/template.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/meta/test.ts b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/meta/test.ts
deleted file mode 100644
index ae89fd383cbb..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/meta/test.ts
+++ /dev/null
@@ -1,96 +0,0 @@
-import { expect } from '@playwright/test';
-import type { Event, EventEnvelopeHeaders } from '@sentry/types';
-
-import { sentryTest } from '../../../../utils/fixtures';
-import {
- envelopeHeaderRequestParser,
- getFirstSentryEnvelopeRequest,
- shouldSkipTracingTest,
-} from '../../../../utils/helpers';
-
-sentryTest(
- 'should create a pageload transaction based on `sentry-trace` ',
- async ({ getLocalTestPath, page }) => {
- if (shouldSkipTracingTest()) {
- sentryTest.skip();
- }
-
- const url = await getLocalTestPath({ testDir: __dirname });
-
- const eventData = await getFirstSentryEnvelopeRequest(page, url);
-
- expect(eventData.contexts?.trace).toMatchObject({
- op: 'pageload',
- parent_span_id: '1121201211212012',
- trace_id: '12312012123120121231201212312012',
- });
-
- expect(eventData.spans?.length).toBeGreaterThan(0);
- },
-);
-
-sentryTest(
- 'should pick up `baggage` tag, propagate the content in transaction and not add own data',
- async ({ getLocalTestPath, page }) => {
- if (shouldSkipTracingTest()) {
- sentryTest.skip();
- }
-
- const url = await getLocalTestPath({ testDir: __dirname });
-
- const envHeader = await getFirstSentryEnvelopeRequest(page, url, envelopeHeaderRequestParser);
-
- expect(envHeader.trace).toBeDefined();
- expect(envHeader.trace).toEqual({
- release: '2.1.12',
- sample_rate: '0.3232',
- trace_id: '123',
- public_key: 'public',
- });
- },
-);
-
-sentryTest(
- "should create a navigation that's not influenced by `sentry-trace` ",
- async ({ getLocalTestPath, page }) => {
- if (shouldSkipTracingTest()) {
- sentryTest.skip();
- }
-
- const url = await getLocalTestPath({ testDir: __dirname });
-
- const pageloadRequest = await getFirstSentryEnvelopeRequest(page, url);
- const navigationRequest = await getFirstSentryEnvelopeRequest(page, `${url}#foo`);
-
- expect(pageloadRequest.contexts?.trace).toMatchObject({
- op: 'pageload',
- parent_span_id: '1121201211212012',
- trace_id: '12312012123120121231201212312012',
- });
-
- expect(navigationRequest.contexts?.trace?.op).toBe('navigation');
- expect(navigationRequest.contexts?.trace?.trace_id).toBeDefined();
- expect(navigationRequest.contexts?.trace?.trace_id).not.toBe(pageloadRequest.contexts?.trace?.trace_id);
-
- const pageloadSpans = pageloadRequest.spans;
- const navigationSpans = navigationRequest.spans;
-
- const pageloadSpanId = pageloadRequest.contexts?.trace?.span_id;
- const navigationSpanId = navigationRequest.contexts?.trace?.span_id;
-
- expect(pageloadSpanId).toBeDefined();
- expect(navigationSpanId).toBeDefined();
-
- pageloadSpans?.forEach(span =>
- expect(span).toMatchObject({
- parent_span_id: pageloadSpanId,
- }),
- );
-
- navigationSpans?.forEach(span =>
- expect(span).toMatchObject({
- parent_span_id: navigationSpanId,
- }),
- );
- },
-);
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/navigation/test.ts b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/navigation/test.ts
deleted file mode 100644
index 5a46a65a4392..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/navigation/test.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-import { expect } from '@playwright/test';
-import type { Event } from '@sentry/types';
-
-import { sentryTest } from '../../../../utils/fixtures';
-import { getFirstSentryEnvelopeRequest, shouldSkipTracingTest } from '../../../../utils/helpers';
-
-sentryTest('should create a navigation transaction on page navigation', async ({ getLocalTestPath, page }) => {
- if (shouldSkipTracingTest()) {
- sentryTest.skip();
- }
-
- const url = await getLocalTestPath({ testDir: __dirname });
-
- const pageloadRequest = await getFirstSentryEnvelopeRequest(page, url);
- const navigationRequest = await getFirstSentryEnvelopeRequest(page, `${url}#foo`);
-
- expect(pageloadRequest.contexts?.trace?.op).toBe('pageload');
- expect(navigationRequest.contexts?.trace?.op).toBe('navigation');
-
- expect(navigationRequest.transaction_info?.source).toEqual('url');
-
- const pageloadTraceId = pageloadRequest.contexts?.trace?.trace_id;
- const navigationTraceId = navigationRequest.contexts?.trace?.trace_id;
-
- expect(pageloadTraceId).toBeDefined();
- expect(navigationTraceId).toBeDefined();
- expect(pageloadTraceId).not.toEqual(navigationTraceId);
-
- const pageloadSpans = pageloadRequest.spans;
- const navigationSpans = navigationRequest.spans;
-
- const pageloadSpanId = pageloadRequest.contexts?.trace?.span_id;
- const navigationSpanId = navigationRequest.contexts?.trace?.span_id;
-
- expect(pageloadSpanId).toBeDefined();
- expect(navigationSpanId).toBeDefined();
-
- pageloadSpans?.forEach(span =>
- expect(span).toMatchObject({
- parent_span_id: pageloadSpanId,
- }),
- );
-
- navigationSpans?.forEach(span =>
- expect(span).toMatchObject({
- parent_span_id: navigationSpanId,
- }),
- );
-
- expect(pageloadSpanId).not.toEqual(navigationSpanId);
-});
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/pageload/init.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/pageload/init.js
deleted file mode 100644
index a1e77dae58c2..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/pageload/init.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import * as Sentry from '@sentry/browser';
-
-window.Sentry = Sentry;
-window._testBaseTimestamp = performance.timeOrigin / 1000;
-
-Sentry.init({
- dsn: 'https://public@dsn.ingest.sentry.io/1337',
- integrations: [new Sentry.BrowserTracing()],
- tracesSampleRate: 1,
-});
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/pageload/test.ts b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/pageload/test.ts
deleted file mode 100644
index 6a186b63b02a..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/pageload/test.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { expect } from '@playwright/test';
-import type { Event } from '@sentry/types';
-
-import { sentryTest } from '../../../../utils/fixtures';
-import { getFirstSentryEnvelopeRequest, shouldSkipTracingTest } from '../../../../utils/helpers';
-
-sentryTest('should create a pageload transaction', async ({ getLocalTestPath, page }) => {
- if (shouldSkipTracingTest()) {
- sentryTest.skip();
- }
-
- const url = await getLocalTestPath({ testDir: __dirname });
-
- const eventData = await getFirstSentryEnvelopeRequest(page, url);
- const timeOrigin = await page.evaluate('window._testBaseTimestamp');
-
- const { start_timestamp: startTimestamp } = eventData;
-
- expect(startTimestamp).toBeCloseTo(timeOrigin, 1);
-
- expect(eventData.contexts?.trace?.op).toBe('pageload');
- expect(eventData.spans?.length).toBeGreaterThan(0);
- expect(eventData.transaction_info?.source).toEqual('url');
-});
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/pageloadDelayed/init.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/pageloadDelayed/init.js
deleted file mode 100644
index 6e4774650261..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/pageloadDelayed/init.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import * as Sentry from '@sentry/browser';
-
-window.Sentry = Sentry;
-window._testBaseTimestamp = performance.timeOrigin / 1000;
-
-setTimeout(() => {
- window._testTimeoutTimestamp = (performance.timeOrigin + performance.now()) / 1000;
- Sentry.init({
- dsn: 'https://public@dsn.ingest.sentry.io/1337',
- integrations: [new Sentry.BrowserTracing()],
- tracesSampleRate: 1,
- });
-}, 250);
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/pageloadDelayed/test.ts b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/pageloadDelayed/test.ts
deleted file mode 100644
index 882c08d23c5e..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/pageloadDelayed/test.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { expect } from '@playwright/test';
-import type { Event } from '@sentry/types';
-
-import { sentryTest } from '../../../../utils/fixtures';
-import { getFirstSentryEnvelopeRequest, shouldSkipTracingTest } from '../../../../utils/helpers';
-
-sentryTest('should create a pageload transaction when initialized delayed', async ({ getLocalTestPath, page }) => {
- if (shouldSkipTracingTest()) {
- sentryTest.skip();
- }
-
- const url = await getLocalTestPath({ testDir: __dirname });
-
- const eventData = await getFirstSentryEnvelopeRequest(page, url);
- const timeOrigin = await page.evaluate('window._testBaseTimestamp');
- const timeoutTimestamp = await page.evaluate('window._testTimeoutTimestamp');
-
- const { start_timestamp: startTimestamp } = eventData;
-
- expect(startTimestamp).toBeCloseTo(timeOrigin, 1);
- expect(startTimestamp).toBeLessThan(timeoutTimestamp);
-
- expect(eventData.contexts?.trace?.op).toBe('pageload');
- expect(eventData.spans?.length).toBeGreaterThan(0);
- expect(eventData.transaction_info?.source).toEqual('url');
-});
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/pageloadWithHeartbeatTimeout/init.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/pageloadWithHeartbeatTimeout/init.js
deleted file mode 100644
index 2a4797a74a15..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/pageloadWithHeartbeatTimeout/init.js
+++ /dev/null
@@ -1,14 +0,0 @@
-import * as Sentry from '@sentry/browser';
-import { startSpanManual } from '@sentry/browser';
-
-window.Sentry = Sentry;
-
-Sentry.init({
- dsn: 'https://public@dsn.ingest.sentry.io/1337',
- integrations: [new Sentry.BrowserTracing()],
- tracesSampleRate: 1,
-});
-
-setTimeout(() => {
- startSpanManual({ name: 'pageload-child-span' }, () => {});
-}, 200);
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/pageloadWithHeartbeatTimeout/test.ts b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/pageloadWithHeartbeatTimeout/test.ts
deleted file mode 100644
index ead37d6f8662..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/pageloadWithHeartbeatTimeout/test.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { expect } from '@playwright/test';
-import type { SerializedEvent } from '@sentry/types';
-
-import { sentryTest } from '../../../../utils/fixtures';
-import { getFirstSentryEnvelopeRequest, shouldSkipTracingTest } from '../../../../utils/helpers';
-
-// This tests asserts that the pageload transaction will finish itself after about 15 seconds (3x5s of heartbeats) if it
-// has a child span without adding any additional ones or finishing any of them finishing. All of the child spans that
-// are still running should have the status "cancelled".
-sentryTest(
- 'should send a pageload transaction terminated via heartbeat timeout',
- async ({ getLocalTestPath, page }) => {
- if (shouldSkipTracingTest()) {
- sentryTest.skip();
- }
-
- const url = await getLocalTestPath({ testDir: __dirname });
-
- const eventData = await getFirstSentryEnvelopeRequest(page, url);
-
- expect(eventData.contexts?.trace?.op).toBe('pageload');
- expect(
- eventData.spans?.find(span => span.description === 'pageload-child-span' && span.status === 'cancelled'),
- ).toBeDefined();
- },
-);
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/customTargets/init.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/customTargets/init.js
deleted file mode 100644
index 7cd076a052e5..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/customTargets/init.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import * as Sentry from '@sentry/browser';
-
-window.Sentry = Sentry;
-
-Sentry.init({
- dsn: 'https://public@dsn.ingest.sentry.io/1337',
- integrations: [Sentry.browserTracingIntegration()],
- tracePropagationTargets: ['http://example.com'],
- tracesSampleRate: 1,
-});
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/customTargets/subject.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/customTargets/subject.js
deleted file mode 100644
index f62499b1e9c5..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/customTargets/subject.js
+++ /dev/null
@@ -1 +0,0 @@
-fetch('http://example.com/0').then(fetch('http://example.com/1').then(fetch('http://example.com/2')));
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/customTargets/test.ts b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/customTargets/test.ts
deleted file mode 100644
index fb6e9e540c46..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/customTargets/test.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { expect } from '@playwright/test';
-
-import { sentryTest } from '../../../../../utils/fixtures';
-import { shouldSkipTracingTest } from '../../../../../utils/helpers';
-
-sentryTest(
- 'should attach `sentry-trace` and `baggage` header to request matching tracePropagationTargets',
- async ({ getLocalTestPath, page }) => {
- if (shouldSkipTracingTest()) {
- sentryTest.skip();
- }
-
- const url = await getLocalTestPath({ testDir: __dirname });
-
- const requests = (
- await Promise.all([
- page.goto(url),
- Promise.all([0, 1, 2].map(idx => page.waitForRequest(`http://example.com/${idx}`))),
- ])
- )[1];
-
- expect(requests).toHaveLength(3);
-
- for (const request of requests) {
- const requestHeaders = request.headers();
-
- expect(requestHeaders).toMatchObject({
- 'sentry-trace': expect.any(String),
- baggage: expect.any(String),
- });
- }
- },
-);
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/defaultTargetsMatch/init.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/defaultTargetsMatch/init.js
deleted file mode 100644
index 83076460599f..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/defaultTargetsMatch/init.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import * as Sentry from '@sentry/browser';
-
-window.Sentry = Sentry;
-
-Sentry.init({
- dsn: 'https://public@dsn.ingest.sentry.io/1337',
- integrations: [Sentry.browserTracingIntegration()],
- tracesSampleRate: 1,
-});
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/defaultTargetsMatch/subject.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/defaultTargetsMatch/subject.js
deleted file mode 100644
index 7e662b55c333..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/defaultTargetsMatch/subject.js
+++ /dev/null
@@ -1 +0,0 @@
-fetch('/0').then(fetch('/1').then(fetch('/2')));
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/defaultTargetsMatch/test.ts b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/defaultTargetsMatch/test.ts
deleted file mode 100644
index f9f9af3ddb47..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/defaultTargetsMatch/test.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { expect } from '@playwright/test';
-
-import { sentryTest } from '../../../../../utils/fixtures';
-import { shouldSkipTracingTest } from '../../../../../utils/helpers';
-
-sentryTest(
- 'should attach `sentry-trace` and `baggage` header to same-origin requests when no tracePropagationTargets are defined',
- async ({ getLocalTestUrl, page }) => {
- if (shouldSkipTracingTest()) {
- sentryTest.skip();
- }
-
- const url = await getLocalTestUrl({ testDir: __dirname });
-
- const requests = (
- await Promise.all([page.goto(url), Promise.all([0, 1, 2].map(idx => page.waitForRequest(`**/${idx}`)))])
- )[1];
-
- expect(requests).toHaveLength(3);
-
- for (const request of requests) {
- const requestHeaders = request.headers();
- expect(requestHeaders).toMatchObject({
- 'sentry-trace': expect.any(String),
- baggage: expect.any(String),
- });
- }
- },
-);
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/defaultTargetsNoMatch/init.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/defaultTargetsNoMatch/init.js
deleted file mode 100644
index 83076460599f..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/defaultTargetsNoMatch/init.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import * as Sentry from '@sentry/browser';
-
-window.Sentry = Sentry;
-
-Sentry.init({
- dsn: 'https://public@dsn.ingest.sentry.io/1337',
- integrations: [Sentry.browserTracingIntegration()],
- tracesSampleRate: 1,
-});
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/defaultTargetsNoMatch/subject.js b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/defaultTargetsNoMatch/subject.js
deleted file mode 100644
index f62499b1e9c5..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/defaultTargetsNoMatch/subject.js
+++ /dev/null
@@ -1 +0,0 @@
-fetch('http://example.com/0').then(fetch('http://example.com/1').then(fetch('http://example.com/2')));
diff --git a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/defaultTargetsNoMatch/test.ts b/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/defaultTargetsNoMatch/test.ts
deleted file mode 100644
index 6739b7ce3621..000000000000
--- a/dev-packages/browser-integration-tests/suites/tracing/browsertracing/tracePropagationTargets/defaultTargetsNoMatch/test.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { expect } from '@playwright/test';
-
-import { sentryTest } from '../../../../../utils/fixtures';
-import { shouldSkipTracingTest } from '../../../../../utils/helpers';
-
-sentryTest(
- 'should not attach `sentry-trace` and `baggage` header to cross-origin requests when no tracePropagationTargets are defined',
- async ({ getLocalTestUrl, page }) => {
- if (shouldSkipTracingTest()) {
- sentryTest.skip();
- }
-
- const url = await getLocalTestUrl({ testDir: __dirname });
-
- const requests = (
- await Promise.all([page.goto(url), Promise.all([0, 1, 2].map(idx => page.waitForRequest(`**/${idx}`)))])
- )[1];
-
- expect(requests).toHaveLength(3);
-
- for (const request of requests) {
- const requestHeaders = request.headers();
- expect(requestHeaders).not.toMatchObject({
- 'sentry-trace': expect.any(String),
- baggage: expect.any(String),
- });
- }
- },
-);
diff --git a/dev-packages/browser-integration-tests/suites/tracing/envelope-header-transaction-name/init.js b/dev-packages/browser-integration-tests/suites/tracing/envelope-header-transaction-name/init.js
index 647e6af5e963..8ac3d814b2bd 100644
--- a/dev-packages/browser-integration-tests/suites/tracing/envelope-header-transaction-name/init.js
+++ b/dev-packages/browser-integration-tests/suites/tracing/envelope-header-transaction-name/init.js
@@ -5,16 +5,17 @@ window.Sentry = Sentry;
Sentry.init({
dsn: 'https://public@dsn.ingest.sentry.io/1337',
- integrations: [new Sentry.BrowserTracing({ tracingOrigins: [/.*/] })],
+ integrations: [Sentry.browserTracingIntegration()],
environment: 'production',
tracesSampleRate: 1,
debug: true,
});
-const scope = Sentry.getCurrentScope();
-scope.setUser({ id: 'user123' });
-scope.addEventProcessor(event => {
+Sentry.setUser({ id: 'user123' });
+
+Sentry.addEventProcessor(event => {
event.transaction = 'testTransactionDSC';
return event;
});
-scope.getTransaction().setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, 'custom');
+
+Sentry.getActiveSpan().setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, 'custom');
diff --git a/dev-packages/browser-integration-tests/suites/tracing/envelope-header/test.ts b/dev-packages/browser-integration-tests/suites/tracing/envelope-header/test.ts
index 0d7e2b793553..6df352af5fc0 100644
--- a/dev-packages/browser-integration-tests/suites/tracing/envelope-header/test.ts
+++ b/dev-packages/browser-integration-tests/suites/tracing/envelope-header/test.ts
@@ -21,7 +21,7 @@ sentryTest(
// In this test, we don't expect trace.transaction to be present because without a custom routing instrumentation
// we for now don't have parameterization. This might change in the future but for now the only way of having
- // transaction in DSC with the default BrowserTracing integration is when the transaction name is set manually.
+ // transaction in DSC with the default browserTracingIntegration is when the transaction name is set manually.
// This scenario is covered in another integration test (envelope-header-transaction-name).
expect(envHeader.trace).toBeDefined();
expect(envHeader.trace).toEqual({
diff --git a/dev-packages/browser-integration-tests/suites/tracing/metrics/init.js b/dev-packages/browser-integration-tests/suites/tracing/metrics/init.js
index 155966847b1c..ad1d8832b228 100644
--- a/dev-packages/browser-integration-tests/suites/tracing/metrics/init.js
+++ b/dev-packages/browser-integration-tests/suites/tracing/metrics/init.js
@@ -5,7 +5,7 @@ window.Sentry = Sentry;
Sentry.init({
dsn: 'https://public@dsn.ingest.sentry.io/1337',
integrations: [
- new Sentry.BrowserTracing({
+ Sentry.browserTracingIntegration({
idleTimeout: 9000,
}),
],
diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-v2/app/entry.client.tsx b/dev-packages/e2e-tests/test-applications/create-remix-app-v2/app/entry.client.tsx
index a56d13dddadc..1f1a48d28fbd 100644
--- a/dev-packages/e2e-tests/test-applications/create-remix-app-v2/app/entry.client.tsx
+++ b/dev-packages/e2e-tests/test-applications/create-remix-app-v2/app/entry.client.tsx
@@ -13,8 +13,10 @@ Sentry.init({
environment: 'qa', // dynamic sampling bias to keep transactions
dsn: window.ENV.SENTRY_DSN,
integrations: [
- new Sentry.BrowserTracing({
- routingInstrumentation: Sentry.remixRouterInstrumentation(useEffect, useLocation, useMatches),
+ Sentry.browserTracingIntegration({
+ useEffect,
+ useLocation,
+ useMatches,
}),
new Sentry.Replay(),
],
diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app/app/entry.client.tsx b/dev-packages/e2e-tests/test-applications/create-remix-app/app/entry.client.tsx
index a56d13dddadc..d5a8978376a4 100644
--- a/dev-packages/e2e-tests/test-applications/create-remix-app/app/entry.client.tsx
+++ b/dev-packages/e2e-tests/test-applications/create-remix-app/app/entry.client.tsx
@@ -12,12 +12,7 @@ import { hydrateRoot } from 'react-dom/client';
Sentry.init({
environment: 'qa', // dynamic sampling bias to keep transactions
dsn: window.ENV.SENTRY_DSN,
- integrations: [
- new Sentry.BrowserTracing({
- routingInstrumentation: Sentry.remixRouterInstrumentation(useEffect, useLocation, useMatches),
- }),
- new Sentry.Replay(),
- ],
+ integrations: [Sentry.browserTracingIntegration({ useEffect, useMatches, useLocation }), new Sentry.Replay()],
// Performance Monitoring
tracesSampleRate: 1.0, // Capture 100% of the transactions, reduce in production!
// Session Replay
diff --git a/dev-packages/overhead-metrics/test-apps/booking-app/with-replay.html b/dev-packages/overhead-metrics/test-apps/booking-app/with-replay.html
index 7f471cc12c94..21f19f6260be 100644
--- a/dev-packages/overhead-metrics/test-apps/booking-app/with-replay.html
+++ b/dev-packages/overhead-metrics/test-apps/booking-app/with-replay.html
@@ -223,7 +223,7 @@ This is a test app.
replaysOnErrorSampleRate: 1.0,
enableTracing: true,
integrations: [
- new Sentry.Integrations.BrowserTracing(),
+ Sentry.browserTracingIntegration(),
new Sentry.Integrations.Replay({
useCompression: true,
flushMinDelay: 2000,
diff --git a/dev-packages/overhead-metrics/test-apps/booking-app/with-sentry.html b/dev-packages/overhead-metrics/test-apps/booking-app/with-sentry.html
index cd122c172ad2..94c581f184ab 100644
--- a/dev-packages/overhead-metrics/test-apps/booking-app/with-sentry.html
+++ b/dev-packages/overhead-metrics/test-apps/booking-app/with-sentry.html
@@ -220,7 +220,7 @@ This is a test app.
Sentry.init({
dsn: 'https://d16ae2d36f9249849c7964e9a3a8a608@o447951.ingest.sentry.io/5429213',
enableTracing: true,
- integrations: [new Sentry.Integrations.BrowserTracing()],
+ integrations: [Sentry.browserTracingIntegration()],
});