diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-3/tests/tracing.server.test.ts b/dev-packages/e2e-tests/test-applications/sveltekit-3/tests/tracing.server.test.ts index f3ad6d3a7e03..e3a4f1e99c17 100644 --- a/dev-packages/e2e-tests/test-applications/sveltekit-3/tests/tracing.server.test.ts +++ b/dev-packages/e2e-tests/test-applications/sveltekit-3/tests/tracing.server.test.ts @@ -31,7 +31,7 @@ test('server pageload request span has nested request span for sub request', asy }, }); - expect(spans).toHaveLength(6); + expect(spans).toHaveLength(7); expect(spans).toEqual( expect.arrayContaining([ @@ -120,6 +120,21 @@ test('server pageload request span has nested request span for sub request', asy origin: 'auto.http.sveltekit', status: 'ok', }), + + // sub request `+server` handler span (emitted by Kit since 3.1.0). + // Its op is inferred as `http` from `http.method` before the integration runs, and v10 keeps existing ops. + expect.objectContaining({ + data: expect.objectContaining({ + 'http.route': '/api/users', + 'http.method': 'GET', + 'sentry.op': 'http', + 'sentry.origin': 'auto.function.sveltekit.endpoint', + }), + description: 'sveltekit.endpoint', + op: 'http', + origin: 'auto.function.sveltekit.endpoint', + status: 'ok', + }), ]), ); diff --git a/packages/sveltekit/src/server-common/integrations/svelteKitSpans.ts b/packages/sveltekit/src/server-common/integrations/svelteKitSpans.ts index dd8912f54a65..33435f9a34e0 100644 --- a/packages/sveltekit/src/server-common/integrations/svelteKitSpans.ts +++ b/packages/sveltekit/src/server-common/integrations/svelteKitSpans.ts @@ -82,6 +82,8 @@ function _getKitSpanEnhancement(spanName: string | undefined): { return { op: 'function.sveltekit.load', origin: 'auto.function.sveltekit.load' }; case 'sveltekit.form_action': return { op: 'function.sveltekit.form_action', origin: 'auto.function.sveltekit.action' }; + case 'sveltekit.endpoint': + return { op: 'function.sveltekit.endpoint', origin: 'auto.function.sveltekit.endpoint' }; case 'sveltekit.remote.call': return { op: 'function.sveltekit.remote', origin: 'auto.rpc.sveltekit.remote' }; case 'sveltekit.handle.root': diff --git a/packages/sveltekit/test/server-common/integrations/svelteKitSpans.test.ts b/packages/sveltekit/test/server-common/integrations/svelteKitSpans.test.ts index b051d613aad1..14d4e0825440 100644 --- a/packages/sveltekit/test/server-common/integrations/svelteKitSpans.test.ts +++ b/packages/sveltekit/test/server-common/integrations/svelteKitSpans.test.ts @@ -56,6 +56,7 @@ describe('svelteKitSpansIntegration', () => { ['sveltekit.resolve', 'function.sveltekit.resolve', 'auto.http.sveltekit'], ['sveltekit.load', 'function.sveltekit.load', 'auto.function.sveltekit.load'], ['sveltekit.form_action', 'function.sveltekit.form_action', 'auto.function.sveltekit.action'], + ['sveltekit.endpoint', 'function.sveltekit.endpoint', 'auto.function.sveltekit.endpoint'], ['sveltekit.remote.call', 'function.sveltekit.remote', 'auto.rpc.sveltekit.remote'], ['sveltekit.handle.sequenced.0', 'function.sveltekit.handle', 'auto.function.sveltekit.handle'], ['sveltekit.handle.sequenced.myHandler', 'function.sveltekit.handle', 'auto.function.sveltekit.handle'], @@ -194,6 +195,7 @@ describe('svelteKitSpansIntegration', () => { ['sveltekit.resolve', 'function.sveltekit.resolve', 'auto.http.sveltekit'], ['sveltekit.load', 'function.sveltekit.load', 'auto.function.sveltekit.load'], ['sveltekit.form_action', 'function.sveltekit.form_action', 'auto.function.sveltekit.action'], + ['sveltekit.endpoint', 'function.sveltekit.endpoint', 'auto.function.sveltekit.endpoint'], ['sveltekit.remote.call', 'function.sveltekit.remote', 'auto.rpc.sveltekit.remote'], ['sveltekit.handle.sequenced.0', 'function.sveltekit.handle', 'auto.function.sveltekit.handle'], ['sveltekit.handle.sequenced.myHandler', 'function.sveltekit.handle', 'auto.function.sveltekit.handle'],