sessiontiming.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. Object.defineProperty(exports, '__esModule', { value: true });
  2. const core = require('@sentry/core');
  3. const INTEGRATION_NAME = 'SessionTiming';
  4. const _sessionTimingIntegration = (() => {
  5. const startTime = Date.now();
  6. return {
  7. name: INTEGRATION_NAME,
  8. // TODO v8: Remove this
  9. setupOnce() {}, // eslint-disable-line @typescript-eslint/no-empty-function
  10. processEvent(event) {
  11. const now = Date.now();
  12. return {
  13. ...event,
  14. extra: {
  15. ...event.extra,
  16. ['session:start']: startTime,
  17. ['session:duration']: now - startTime,
  18. ['session:end']: now,
  19. },
  20. };
  21. },
  22. };
  23. }) ;
  24. const sessionTimingIntegration = core.defineIntegration(_sessionTimingIntegration);
  25. /**
  26. * This function adds duration since Sentry was initialized till the time event was sent.
  27. * @deprecated Use `sessionTimingIntegration()` instead.
  28. */
  29. // eslint-disable-next-line deprecation/deprecation
  30. const SessionTiming = core.convertIntegrationFnToClass(
  31. INTEGRATION_NAME,
  32. sessionTimingIntegration,
  33. ) ;
  34. exports.SessionTiming = SessionTiming;
  35. exports.sessionTimingIntegration = sessionTimingIntegration;
  36. //# sourceMappingURL=sessiontiming.js.map