From 83cd0d507d6df8dfc67753f74239087c698b7113 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Thu, 31 Jul 2025 10:29:27 +0200 Subject: [PATCH 1/4] ref(aws-serverless): Add `type` to captured event `mechanism` --- packages/aws-serverless/src/sdk.ts | 4 ++-- packages/aws-serverless/src/utils.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/aws-serverless/src/sdk.ts b/packages/aws-serverless/src/sdk.ts index f64b62b9a373..2bd4de0a4bdd 100644 --- a/packages/aws-serverless/src/sdk.ts +++ b/packages/aws-serverless/src/sdk.ts @@ -306,11 +306,11 @@ export function wrapHandler( if (options.captureAllSettledReasons && Array.isArray(rv) && isPromiseAllSettledResult(rv)) { const reasons = getRejectedReasons(rv); reasons.forEach(exception => { - captureException(exception, scope => markEventUnhandled(scope)); + captureException(exception, scope => markEventUnhandled(scope, 'aws-serverless.promise')); }); } } catch (e) { - captureException(e, scope => markEventUnhandled(scope)); + captureException(e, scope => markEventUnhandled(scope, 'aws-serverless.handler')); throw e; } finally { clearTimeout(timeoutWarningTimer); diff --git a/packages/aws-serverless/src/utils.ts b/packages/aws-serverless/src/utils.ts index f1b0389743cb..a7a5ea300596 100644 --- a/packages/aws-serverless/src/utils.ts +++ b/packages/aws-serverless/src/utils.ts @@ -26,9 +26,9 @@ const headerGetter: TextMapGetter = { /** * Marks an event as unhandled by adding a span processor to the passed scope. */ -export function markEventUnhandled(scope: Scope): Scope { +export function markEventUnhandled(scope: Scope, type = 'aws-serverless'): Scope { scope.addEventProcessor(event => { - addExceptionMechanism(event, { handled: false }); + addExceptionMechanism(event, { handled: false, type }); return event; }); From e695b87fe955d4f98ce191b3e67985b8af953ba1 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Thu, 31 Jul 2025 12:05:50 +0200 Subject: [PATCH 2/4] fix test --- packages/aws-serverless/test/sdk.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/aws-serverless/test/sdk.test.ts b/packages/aws-serverless/test/sdk.test.ts index 9c1e7f584b8d..133558f54cc0 100644 --- a/packages/aws-serverless/test/sdk.test.ts +++ b/packages/aws-serverless/test/sdk.test.ts @@ -501,7 +501,7 @@ describe('AWSLambda', () => { // @ts-expect-error just mocking around... expect(evtProcessor(event).exception.values[0]?.mechanism).toEqual({ handled: false, - type: 'generic', + type: 'aws-serverless.handler', }); } }); From b30d21d355345c089532c4509190c0e1350922a9 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Thu, 31 Jul 2025 12:08:06 +0200 Subject: [PATCH 3/4] remove optional param --- packages/aws-serverless/src/utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/aws-serverless/src/utils.ts b/packages/aws-serverless/src/utils.ts index a7a5ea300596..f298a2bfec48 100644 --- a/packages/aws-serverless/src/utils.ts +++ b/packages/aws-serverless/src/utils.ts @@ -26,7 +26,7 @@ const headerGetter: TextMapGetter = { /** * Marks an event as unhandled by adding a span processor to the passed scope. */ -export function markEventUnhandled(scope: Scope, type = 'aws-serverless'): Scope { +export function markEventUnhandled(scope: Scope, type: string): Scope { scope.addEventProcessor(event => { addExceptionMechanism(event, { handled: false, type }); return event; From b0c48e333bd89aa490b0f3efb256a2536621f96e Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Fri, 1 Aug 2025 15:05:50 +0200 Subject: [PATCH 4/4] update to trace origin-esque naming --- packages/aws-serverless/src/sdk.ts | 4 ++-- packages/aws-serverless/test/sdk.test.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/aws-serverless/src/sdk.ts b/packages/aws-serverless/src/sdk.ts index 2bd4de0a4bdd..95a23ba514d8 100644 --- a/packages/aws-serverless/src/sdk.ts +++ b/packages/aws-serverless/src/sdk.ts @@ -306,11 +306,11 @@ export function wrapHandler( if (options.captureAllSettledReasons && Array.isArray(rv) && isPromiseAllSettledResult(rv)) { const reasons = getRejectedReasons(rv); reasons.forEach(exception => { - captureException(exception, scope => markEventUnhandled(scope, 'aws-serverless.promise')); + captureException(exception, scope => markEventUnhandled(scope, 'auto.function.aws-serverless.promise')); }); } } catch (e) { - captureException(e, scope => markEventUnhandled(scope, 'aws-serverless.handler')); + captureException(e, scope => markEventUnhandled(scope, 'auto.function.aws-serverless.handler')); throw e; } finally { clearTimeout(timeoutWarningTimer); diff --git a/packages/aws-serverless/test/sdk.test.ts b/packages/aws-serverless/test/sdk.test.ts index 133558f54cc0..ed25b69f49ef 100644 --- a/packages/aws-serverless/test/sdk.test.ts +++ b/packages/aws-serverless/test/sdk.test.ts @@ -501,7 +501,7 @@ describe('AWSLambda', () => { // @ts-expect-error just mocking around... expect(evtProcessor(event).exception.values[0]?.mechanism).toEqual({ handled: false, - type: 'aws-serverless.handler', + type: 'auto.function.aws-serverless.handler', }); } });