From 775af24a6a84e21bc9748e2c28ec3d85dc9cf044 Mon Sep 17 00:00:00 2001 From: Konrad Dysput Date: Thu, 27 Jul 2023 12:25:42 +0200 Subject: [PATCH] Include symbolication in the error object --- .../sdk-core/src/model/data/BacktraceData.ts | 1 + .../src/modules/data/BacktraceDataBuilder.ts | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/sdk-core/src/model/data/BacktraceData.ts b/packages/sdk-core/src/model/data/BacktraceData.ts index 6cf5bcab..6cd549d7 100644 --- a/packages/sdk-core/src/model/data/BacktraceData.ts +++ b/packages/sdk-core/src/model/data/BacktraceData.ts @@ -14,4 +14,5 @@ export interface BacktraceData { attributes: Record; annotations: Record; threads: Record; + symbolication?: 'sourcemap'; } diff --git a/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts index b5dc5467..be90acfe 100644 --- a/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts +++ b/packages/sdk-core/src/modules/data/BacktraceDataBuilder.ts @@ -24,11 +24,18 @@ export class BacktraceDataBuilder { const stackTrace = this._stackTraceConverter.convert(report.stackTrace, report.message); + let detectedDebugIdentifier = false; + for (const frame of stackTrace) { - frame.debug_identifier = this._debugIdProvider.getDebugId(frame.library); + const debugIdentifier = this._debugIdProvider.getDebugId(frame.library); + if (!debugIdentifier) { + continue; + } + detectedDebugIdentifier = true; + frame.debug_identifier = debugIdentifier; } - return { + const result: BacktraceData = { uuid: IdGenerator.uuid(), timestamp: TimeHelper.toTimestampInSec(report.timestamp), agent: this._sdkOptions.agent, @@ -54,5 +61,11 @@ export class BacktraceDataBuilder { ...reportData.attributes, }, }; + + if (detectedDebugIdentifier) { + result.symbolication = 'sourcemap'; + } + + return result; } }