diff --git a/packages/aws-serverless/src/sdk.ts b/packages/aws-serverless/src/sdk.ts index f64b62b9a373..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)); + captureException(exception, scope => markEventUnhandled(scope, 'auto.function.aws-serverless.promise')); }); } } catch (e) { - captureException(e, scope => markEventUnhandled(scope)); + captureException(e, scope => markEventUnhandled(scope, 'auto.function.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..f298a2bfec48 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: string): Scope { scope.addEventProcessor(event => { - addExceptionMechanism(event, { handled: false }); + addExceptionMechanism(event, { handled: false, type }); return event; }); diff --git a/packages/aws-serverless/test/sdk.test.ts b/packages/aws-serverless/test/sdk.test.ts index 9c1e7f584b8d..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: 'generic', + type: 'auto.function.aws-serverless.handler', }); } });