UNPKG

@sentry/integrations

Version:
49 lines (42 loc) 1.19 kB
/** This function adds duration since Sentry was initialized till the time event was sent */ class SessionTiming {constructor() { SessionTiming.prototype.__init.call(this);SessionTiming.prototype.__init2.call(this); } /** * @inheritDoc */ static __initStatic() {this.id = 'SessionTiming';} /** * @inheritDoc */ __init() {this.name = SessionTiming.id;} /** Exact time Client was initialized expressed in milliseconds since Unix Epoch. */ __init2() {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