UNPKG

@sentry/integrations

Version:
52 lines (44 loc) 1.09 kB
/** This function adds duration since Sentry was initialized till the time event was sent */ class SessionTiming { /** * @inheritDoc */ static __initStatic() {this.id = 'SessionTiming';} /** * @inheritDoc */ /** Exact time Client was initialized expressed in milliseconds since Unix Epoch. */ constructor() { this.name = SessionTiming.id; this._startTime = Date.now(); } /** * @inheritDoc */ setupOnce(addGlobalEventProcessor, getCurrentHub) { addGlobalEventProcessor(event => { const self = getCurrentHub().getIntegration(SessionTiming); if (self) { return self.process(event); } return event; }); } /** * @inheritDoc */ process(event) { const now = Date.now(); return { ...event, extra: { ...event.extra, ['session:start']: this._startTime, ['session:duration']: now - this._startTime, ['session:end']: now, }, }; } } SessionTiming.__initStatic(); export { SessionTiming }; //# sourceMappingURL=sessiontiming.js.map