@sentry/integrations
Version:
Pluggable integrations that can be used to enhance JS SDKs
51 lines (43 loc) • 1.27 kB
JavaScript
Object.defineProperty(exports, '__esModule', { value: true });
/** 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();
exports.SessionTiming = SessionTiming;
//# sourceMappingURL=sessiontiming.js.map