UNPKG

3.23 kBSource Map (JSON)View Raw
1{"version":3,"file":"transaction.js","sources":["../../../src/transaction.ts"],"sourcesContent":["import type { Event, EventProcessor, Hub, Integration, StackFrame } from '@sentry/types';\n\n/** Add node transaction to the event */\nexport class Transaction implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'Transaction';\n\n /**\n * @inheritDoc\n */\n public name: string = Transaction.id;\n\n /**\n * @inheritDoc\n */\n public setupOnce(addGlobalEventProcessor: (callback: EventProcessor) => void, getCurrentHub: () => Hub): void {\n addGlobalEventProcessor(event => {\n const self = getCurrentHub().getIntegration(Transaction);\n if (self) {\n return self.process(event);\n }\n return event;\n });\n }\n\n /**\n * @inheritDoc\n */\n public process(event: Event): Event {\n const frames = this._getFramesFromEvent(event);\n\n // use for loop so we don't have to reverse whole frames array\n for (let i = frames.length - 1; i >= 0; i--) {\n const frame = frames[i];\n\n if (frame.in_app === true) {\n event.transaction = this._getTransaction(frame);\n break;\n }\n }\n\n return event;\n }\n\n /** JSDoc */\n private _getFramesFromEvent(event: Event): StackFrame[] {\n const exception = event.exception && event.exception.values && event.exception.values[0];\n return (exception && exception.stacktrace && exception.stacktrace.frames) || [];\n }\n\n /** JSDoc */\n private _getTransaction(frame: StackFrame): string {\n return frame.module || frame.function ? `${frame.module || '?'}/${frame.function || '?'}` : '<unknown>';\n }\n}\n"],"names":[],"mappings":"AAEA;AACA,MAAA,WAAA,EAAA,CAAA,WAAA,GAAA,EAAA,WAAA,CAAA,SAAA,CAAA,MAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA,EAAA;AACA;AACA;AACA;AACA,GAAA,OAAA,YAAA,GAAA,CAAA,IAAA,CAAA,EAAA,GAAA,cAAA,CAAA;AACA;AACA;AACA;AACA;AACA,GAAA,MAAA,GAAA,CAAA,IAAA,CAAA,IAAA,GAAA,WAAA,CAAA,GAAA,CAAA;AACA;AACA;AACA;AACA;AACA,GAAA,SAAA,CAAA,uBAAA,EAAA,aAAA,EAAA;AACA,IAAA,uBAAA,CAAA,KAAA,IAAA;AACA,MAAA,MAAA,IAAA,GAAA,aAAA,EAAA,CAAA,cAAA,CAAA,WAAA,CAAA,CAAA;AACA,MAAA,IAAA,IAAA,EAAA;AACA,QAAA,OAAA,IAAA,CAAA,OAAA,CAAA,KAAA,CAAA,CAAA;AACA,OAAA;AACA,MAAA,OAAA,KAAA,CAAA;AACA,KAAA,CAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,OAAA,CAAA,KAAA,EAAA;AACA,IAAA,MAAA,MAAA,GAAA,IAAA,CAAA,mBAAA,CAAA,KAAA,CAAA,CAAA;AACA;AACA;AACA,IAAA,KAAA,IAAA,CAAA,GAAA,MAAA,CAAA,MAAA,GAAA,CAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA,EAAA;AACA,MAAA,MAAA,KAAA,GAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AACA;AACA,MAAA,IAAA,KAAA,CAAA,MAAA,KAAA,IAAA,EAAA;AACA,QAAA,KAAA,CAAA,WAAA,GAAA,IAAA,CAAA,eAAA,CAAA,KAAA,CAAA,CAAA;AACA,QAAA,MAAA;AACA,OAAA;AACA,KAAA;AACA;AACA,IAAA,OAAA,KAAA,CAAA;AACA,GAAA;AACA;AACA;AACA,GAAA,mBAAA,CAAA,KAAA,EAAA;AACA,IAAA,MAAA,SAAA,GAAA,KAAA,CAAA,SAAA,IAAA,KAAA,CAAA,SAAA,CAAA,MAAA,IAAA,KAAA,CAAA,SAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AACA,IAAA,OAAA,CAAA,SAAA,IAAA,SAAA,CAAA,UAAA,IAAA,SAAA,CAAA,UAAA,CAAA,MAAA,KAAA,EAAA,CAAA;AACA,GAAA;AACA;AACA;AACA,GAAA,eAAA,CAAA,KAAA,EAAA;AACA,IAAA,OAAA,KAAA,CAAA,MAAA,IAAA,KAAA,CAAA,QAAA,GAAA,CAAA,EAAA,KAAA,CAAA,MAAA,IAAA,GAAA,CAAA,CAAA,EAAA,KAAA,CAAA,QAAA,IAAA,GAAA,CAAA,CAAA,GAAA,WAAA,CAAA;AACA,GAAA;AACA,CAAA,CAAA,WAAA,CAAA,YAAA,EAAA;;;;"}
\No newline at end of file