From 1588d84bf9565a13e49d9522a436c4714fa5a605 Mon Sep 17 00:00:00 2001 From: "sentry-junior[bot]" <264270552+sentry-junior[bot]@users.noreply.github.com> Date: Thu, 15 Oct 2026 05:52:23 +0000 Subject: [PATCH 1/2] fix(v10/sveltekit): add op and origin to Kit's `sveltekit.endpoint` span Backport of: #25376 --- .../sveltekit-3/tests/tracing.server.test.ts | 16 +++++++++++++++- .../server-common/integrations/svelteKitSpans.ts | 2 ++ .../integrations/svelteKitSpans.test.ts | 2 ++ 3 files changed, 19 insertions(+), 1 deletion(-) 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..19fe4a694ae1 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,20 @@ 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): + expect.objectContaining({ + data: expect.objectContaining({ + 'http.route': '/api/users', + 'http.method': 'GET', + 'sentry.op': 'function.sveltekit.endpoint', + 'sentry.origin': 'auto.function.sveltekit.endpoint', + }), + description: 'sveltekit.endpoint', + op: 'function.sveltekit.endpoint', + 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'], From a8f91bd1a8f7dcd1269198a93ff6ce3f69ba6ed2 Mon Sep 17 00:00:00 2001 From: "sentry-junior[bot]" <264270552+sentry-junior[bot]@users.noreply.github.com> Date: Fri, 16 Oct 2026 07:23:48 +0000 Subject: [PATCH 2/2] test(v10/sveltekit): Expect the inferred `http` op on the `sveltekit.endpoint` span MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Jan Peer Stöcklmair --- .../sveltekit-3/tests/tracing.server.test.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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 19fe4a694ae1..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 @@ -121,16 +121,17 @@ test('server pageload request span has nested request span for sub request', asy status: 'ok', }), - // sub request `+server` handler span (emitted by Kit since 3.1.0): + // 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': 'function.sveltekit.endpoint', + 'sentry.op': 'http', 'sentry.origin': 'auto.function.sveltekit.endpoint', }), description: 'sveltekit.endpoint', - op: 'function.sveltekit.endpoint', + op: 'http', origin: 'auto.function.sveltekit.endpoint', status: 'ok', }),