From 0d31884bd5059555eeafc626af805b970251481f Mon Sep 17 00:00:00 2001 From: Luca Forstner Date: Wed, 7 May 2025 12:40:24 +0200 Subject: [PATCH 1/2] feat(nextjs): Add more attributes for generation functions --- packages/nextjs/src/common/wrapGenerationFunctionWithSentry.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/nextjs/src/common/wrapGenerationFunctionWithSentry.ts b/packages/nextjs/src/common/wrapGenerationFunctionWithSentry.ts index 5e7cad749edb..a8af45371faa 100644 --- a/packages/nextjs/src/common/wrapGenerationFunctionWithSentry.ts +++ b/packages/nextjs/src/common/wrapGenerationFunctionWithSentry.ts @@ -102,6 +102,8 @@ export function wrapGenerationFunctionWithSentry a attributes: { [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'route', [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.function.nextjs', + 'sentry.nextjs.function.type': generationFunctionIdentifier, + 'sentry.nextjs.function.route': componentRoute, }, }, span => { From fa7ccabc51bd20e6dbb679b2db616d168959b556 Mon Sep 17 00:00:00 2001 From: Luca Forstner Date: Thu, 8 May 2025 11:35:43 +0200 Subject: [PATCH 2/2] make ssr --- .../nextjs-app-dir/tests/server-components.test.ts | 8 ++++---- .../nextjs/src/common/wrapGenerationFunctionWithSentry.ts | 4 ++-- .../nextjs/src/common/wrapServerComponentWithSentry.ts | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/nextjs-app-dir/tests/server-components.test.ts b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/tests/server-components.test.ts index f65cf7dbc1c1..4f564f2f462d 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-app-dir/tests/server-components.test.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/tests/server-components.test.ts @@ -80,8 +80,8 @@ test('Should set a "not_found" status on a server component span when notFound() op: 'function.nextjs', status: 'not_found', data: expect.objectContaining({ - 'sentry.nextjs.function.type': 'Page', - 'sentry.nextjs.function.route': '/server-component/not-found', + 'sentry.nextjs.ssr.function.type': 'Page', + 'sentry.nextjs.ssr.function.route': '/server-component/not-found', }), }), ); @@ -112,8 +112,8 @@ test('Should capture an error and transaction for a app router page', async ({ p op: 'function.nextjs', status: 'internal_error', data: expect.objectContaining({ - 'sentry.nextjs.function.type': 'Page', - 'sentry.nextjs.function.route': '/server-component/faulty', + 'sentry.nextjs.ssr.function.type': 'Page', + 'sentry.nextjs.ssr.function.route': '/server-component/faulty', }), }), ); diff --git a/packages/nextjs/src/common/wrapGenerationFunctionWithSentry.ts b/packages/nextjs/src/common/wrapGenerationFunctionWithSentry.ts index a8af45371faa..801c0e9b0dab 100644 --- a/packages/nextjs/src/common/wrapGenerationFunctionWithSentry.ts +++ b/packages/nextjs/src/common/wrapGenerationFunctionWithSentry.ts @@ -102,8 +102,8 @@ export function wrapGenerationFunctionWithSentry a attributes: { [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'route', [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.function.nextjs', - 'sentry.nextjs.function.type': generationFunctionIdentifier, - 'sentry.nextjs.function.route': componentRoute, + 'sentry.nextjs.ssr.function.type': generationFunctionIdentifier, + 'sentry.nextjs.ssr.function.route': componentRoute, }, }, span => { diff --git a/packages/nextjs/src/common/wrapServerComponentWithSentry.ts b/packages/nextjs/src/common/wrapServerComponentWithSentry.ts index 95dd72d3d9e2..7319ddee9837 100644 --- a/packages/nextjs/src/common/wrapServerComponentWithSentry.ts +++ b/packages/nextjs/src/common/wrapServerComponentWithSentry.ts @@ -89,8 +89,8 @@ export function wrapServerComponentWithSentry any> attributes: { [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'component', [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.function.nextjs', - 'sentry.nextjs.function.type': componentType, - 'sentry.nextjs.function.route': componentRoute, + 'sentry.nextjs.ssr.function.type': componentType, + 'sentry.nextjs.ssr.function.route': componentRoute, }, }, span => {