diff --git a/packages/core/src/tracing/errors.ts b/packages/core/src/tracing/errors.ts index f72cbbfe5349..a2d5af2560c5 100644 --- a/packages/core/src/tracing/errors.ts +++ b/packages/core/src/tracing/errors.ts @@ -20,24 +20,24 @@ export function registerSpanErrorInstrumentation(): void { return; } + /** + * If an error or unhandled promise occurs, we mark the active root span as failed + */ + function errorCallback(): void { + const activeSpan = getActiveSpan(); + const rootSpan = activeSpan && getRootSpan(activeSpan); + if (rootSpan) { + const message = 'internal_error'; + DEBUG_BUILD && debug.log(`[Tracing] Root span: ${message} -> Global error occurred`); + rootSpan.setStatus({ code: SPAN_STATUS_ERROR, message }); + } + } + + // The function name will be lost when bundling but we need to be able to identify this listener later to maintain the + // node.js default exit behaviour + errorCallback.tag = 'sentry_tracingErrorCallback'; + errorsInstrumented = true; addGlobalErrorInstrumentationHandler(errorCallback); addGlobalUnhandledRejectionInstrumentationHandler(errorCallback); } - -/** - * If an error or unhandled promise occurs, we mark the active root span as failed - */ -function errorCallback(): void { - const activeSpan = getActiveSpan(); - const rootSpan = activeSpan && getRootSpan(activeSpan); - if (rootSpan) { - const message = 'internal_error'; - DEBUG_BUILD && debug.log(`[Tracing] Root span: ${message} -> Global error occurred`); - rootSpan.setStatus({ code: SPAN_STATUS_ERROR, message }); - } -} - -// The function name will be lost when bundling but we need to be able to identify this listener later to maintain the -// node.js default exit behaviour -errorCallback.tag = 'sentry_tracingErrorCallback';