@coralogix/browser 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/package.json +4 -4
  3. package/src/Request.js +32 -0
  4. package/src/Request.js.map +1 -0
  5. package/src/add-timing.js +9 -0
  6. package/src/add-timing.js.map +1 -0
  7. package/src/before-send.js +40 -0
  8. package/src/before-send.js.map +1 -0
  9. package/src/configuration.js +67 -0
  10. package/src/configuration.js.map +1 -0
  11. package/src/constants.js +183 -0
  12. package/src/constants.js.map +1 -0
  13. package/src/custom-spans/custom-spans.consts.js +4 -0
  14. package/src/custom-spans/custom-spans.consts.js.map +1 -0
  15. package/src/custom-spans/custom-spans.types.js +2 -0
  16. package/src/custom-spans/custom-spans.types.js.map +1 -0
  17. package/src/custom-spans/custom-spans.utils.js +40 -0
  18. package/src/custom-spans/custom-spans.utils.js.map +1 -0
  19. package/src/custom-spans/index.js +4 -0
  20. package/src/custom-spans/index.js.map +1 -0
  21. package/src/filters/filters.js +28 -0
  22. package/src/filters/filters.js.map +1 -0
  23. package/src/helpers.js +21 -0
  24. package/src/helpers.js.map +1 -0
  25. package/src/index.js +391 -0
  26. package/src/index.js.map +1 -0
  27. package/src/instrumentations/CoralogixCustomLogInstrumentation.js +35 -0
  28. package/src/instrumentations/CoralogixCustomLogInstrumentation.js.map +1 -0
  29. package/src/instrumentations/CoralogixDOMInstrumentation.js +33 -0
  30. package/src/instrumentations/CoralogixDOMInstrumentation.js.map +1 -0
  31. package/src/instrumentations/CoralogixErrorInstrumentation.js +257 -0
  32. package/src/instrumentations/CoralogixErrorInstrumentation.js.map +1 -0
  33. package/src/instrumentations/CoralogixInternalInstrumentation.js +50 -0
  34. package/src/instrumentations/CoralogixInternalInstrumentation.js.map +1 -0
  35. package/src/instrumentations/CoralogixLongTaskInstrumentation.js +47 -0
  36. package/src/instrumentations/CoralogixLongTaskInstrumentation.js.map +1 -0
  37. package/src/instrumentations/CoralogixResourcesInstrumentation.js +106 -0
  38. package/src/instrumentations/CoralogixResourcesInstrumentation.js.map +1 -0
  39. package/src/instrumentations/CoralogixWebVitalsInstrumentation.js +193 -0
  40. package/src/instrumentations/CoralogixWebVitalsInstrumentation.js.map +1 -0
  41. package/src/instrumentations/custom-measurements/CoralogixCustomMeasurementInstrumentation.js +26 -0
  42. package/src/instrumentations/custom-measurements/CoralogixCustomMeasurementInstrumentation.js.map +1 -0
  43. package/src/instrumentations/custom-measurements/custom-measurements.types.js +2 -0
  44. package/src/instrumentations/custom-measurements/custom-measurements.types.js.map +1 -0
  45. package/src/instrumentations/custom-measurements/index.js +4 -0
  46. package/src/instrumentations/custom-measurements/index.js.map +1 -0
  47. package/src/instrumentations/custom-measurements/timeMeasurementTracker.js +38 -0
  48. package/src/instrumentations/custom-measurements/timeMeasurementTracker.js.map +1 -0
  49. package/src/instrumentations/instrumentation.consts.js +61 -0
  50. package/src/instrumentations/instrumentation.consts.js.map +1 -0
  51. package/src/instrumentations/instrumentation.helper.js +4 -0
  52. package/src/instrumentations/instrumentation.helper.js.map +1 -0
  53. package/src/instrumentations/instrumentation.model.js +18 -0
  54. package/src/instrumentations/instrumentation.model.js.map +1 -0
  55. package/src/instrumentations/memory-usage/CoralogixMemoryUsageInstrumentation.js +58 -0
  56. package/src/instrumentations/memory-usage/CoralogixMemoryUsageInstrumentation.js.map +1 -0
  57. package/src/instrumentations/memory-usage/index.js +5 -0
  58. package/src/instrumentations/memory-usage/index.js.map +1 -0
  59. package/src/instrumentations/memory-usage/memory-usage-constants.js +4 -0
  60. package/src/instrumentations/memory-usage/memory-usage-constants.js.map +1 -0
  61. package/src/instrumentations/memory-usage/memory-usage.types.js +2 -0
  62. package/src/instrumentations/memory-usage/memory-usage.types.js.map +1 -0
  63. package/src/instrumentations/memory-usage/memory-usage.utils.js +33 -0
  64. package/src/instrumentations/memory-usage/memory-usage.utils.js.map +1 -0
  65. package/src/instrumentations/network/CoralogixFetchInstrumentation.js +103 -0
  66. package/src/instrumentations/network/CoralogixFetchInstrumentation.js.map +1 -0
  67. package/src/instrumentations/network/CoralogixXhrInstrumentation.js +61 -0
  68. package/src/instrumentations/network/CoralogixXhrInstrumentation.js.map +1 -0
  69. package/src/instrumentations/network/HeadersManager.js +42 -0
  70. package/src/instrumentations/network/HeadersManager.js.map +1 -0
  71. package/src/instrumentations/network/NetworkDataManager.js +87 -0
  72. package/src/instrumentations/network/NetworkDataManager.js.map +1 -0
  73. package/src/instrumentations/network/constants.js +7 -0
  74. package/src/instrumentations/network/constants.js.map +1 -0
  75. package/src/instrumentations/network/network.utils.js +11 -0
  76. package/src/instrumentations/network/network.utils.js.map +1 -0
  77. package/src/instrumentations/screenshot/CoralogixScreenshotInstrumentation.js +28 -0
  78. package/src/instrumentations/screenshot/CoralogixScreenshotInstrumentation.js.map +1 -0
  79. package/src/instrumentations/screenshot/screenshot.utils.js +3 -0
  80. package/src/instrumentations/screenshot/screenshot.utils.js.map +1 -0
  81. package/src/instrumentations/user-interaction/CoralogixUserInteractionInstrumentation.js +65 -0
  82. package/src/instrumentations/user-interaction/CoralogixUserInteractionInstrumentation.js.map +1 -0
  83. package/src/instrumentations/user-interaction/user-interaction.utils.js +73 -0
  84. package/src/instrumentations/user-interaction/user-interaction.utils.js.map +1 -0
  85. package/src/internal-event-reporter.js +7 -0
  86. package/src/internal-event-reporter.js.map +1 -0
  87. package/src/label-providers/url-based-label-provider.js +24 -0
  88. package/src/label-providers/url-based-label-provider.js.map +1 -0
  89. package/src/labels/index.js +2 -0
  90. package/src/labels/index.js.map +1 -0
  91. package/src/labels/labels.utils.js +11 -0
  92. package/src/labels/labels.utils.js.map +1 -0
  93. package/src/mfe/mfe.types.js +2 -0
  94. package/src/mfe/mfe.types.js.map +1 -0
  95. package/src/otel/CoralogixPropgator.js +9 -0
  96. package/src/otel/CoralogixPropgator.js.map +1 -0
  97. package/src/otel/CoralogixWebTracerProvider.js +4 -0
  98. package/src/otel/CoralogixWebTracerProvider.js.map +1 -0
  99. package/src/otel/custom-sampler.js +9 -0
  100. package/src/otel/custom-sampler.js.map +1 -0
  101. package/src/otel/index.js +3 -0
  102. package/src/otel/index.js.map +1 -0
  103. package/src/otel/otel.consts.js +20 -0
  104. package/src/otel/otel.consts.js.map +1 -0
  105. package/src/otel/otel.utils.js +14 -0
  106. package/src/otel/otel.utils.js.map +1 -0
  107. package/src/otel/propagators.js +67 -0
  108. package/src/otel/propagators.js.map +1 -0
  109. package/src/processors/CoralogixExporter.js +103 -0
  110. package/src/processors/CoralogixExporter.js.map +1 -0
  111. package/src/processors/CoralogixNavigationProcessor.js +25 -0
  112. package/src/processors/CoralogixNavigationProcessor.js.map +1 -0
  113. package/src/processors/CoralogixSnapshotSpanProcessor.js +83 -0
  114. package/src/processors/CoralogixSnapshotSpanProcessor.js.map +1 -0
  115. package/src/processors/CoralogixSpanAttributesProcessor.js +56 -0
  116. package/src/processors/CoralogixSpanAttributesProcessor.js.map +1 -0
  117. package/src/processors/CoralogixSpanMapProcessor.js +273 -0
  118. package/src/processors/CoralogixSpanMapProcessor.js.map +1 -0
  119. package/src/processors/processor-base.model.js +2 -0
  120. package/src/processors/processor-base.model.js.map +1 -0
  121. package/src/processors/processor.helper.js +6 -0
  122. package/src/processors/processor.helper.js.map +1 -0
  123. package/src/session/session-idle.js +41 -0
  124. package/src/session/session-idle.js.map +1 -0
  125. package/src/session/session.consts.js +24 -0
  126. package/src/session/session.consts.js.map +1 -0
  127. package/src/session/session.helper.js +77 -0
  128. package/src/session/session.helper.js.map +1 -0
  129. package/src/session/session.model.js +11 -0
  130. package/src/session/session.model.js.map +1 -0
  131. package/src/session/sessionManager.js +175 -0
  132. package/src/session/sessionManager.js.map +1 -0
  133. package/src/session/sessionRecorder.js +336 -0
  134. package/src/session/sessionRecorder.js.map +1 -0
  135. package/src/session/sessionWithError.consts.js +15 -0
  136. package/src/session/sessionWithError.consts.js.map +1 -0
  137. package/src/session/workerManager.js +45 -0
  138. package/src/session/workerManager.js.map +1 -0
  139. package/src/snapshot/snapshot.consts.js +9 -0
  140. package/src/snapshot/snapshot.consts.js.map +1 -0
  141. package/src/snapshot/snapshot.model.js +2 -0
  142. package/src/snapshot/snapshot.model.js.map +1 -0
  143. package/src/snapshot/snapshotManager.js +29 -0
  144. package/src/snapshot/snapshotManager.js.map +1 -0
  145. package/src/tools/addEventListener.js +30 -0
  146. package/src/tools/addEventListener.js.map +1 -0
  147. package/src/tools/getGlobalObject.js +36 -0
  148. package/src/tools/getGlobalObject.js.map +1 -0
  149. package/src/tools/getZoneJsOriginalDom.js +17 -0
  150. package/src/tools/getZoneJsOriginalDom.js.map +1 -0
  151. package/src/tti-polyfill/tti-polyfill.d.ts +4 -0
  152. package/src/tti-polyfill/tti-polyfill.js +267 -0
  153. package/src/tti-polyfill/tti-polyfill.js.map +1 -0
  154. package/src/types-external.js +10 -0
  155. package/src/types-external.js.map +1 -0
  156. package/src/types.d.ts +1 -1
  157. package/src/types.js +39 -0
  158. package/src/types.js.map +1 -0
  159. package/src/utils/all.js +195 -0
  160. package/src/utils/all.js.map +1 -0
  161. package/src/utils/array.js +18 -0
  162. package/src/utils/array.js.map +1 -0
  163. package/src/utils/general.js +10 -0
  164. package/src/utils/general.js.map +1 -0
  165. package/src/utils/index.js +4 -0
  166. package/src/utils/index.js.map +1 -0
  167. package/src/utils/internal-rum-data.js +12 -0
  168. package/src/utils/internal-rum-data.js.map +1 -0
  169. package/src/utils/object.js +86 -0
  170. package/src/utils/object.js.map +1 -0
  171. package/src/utils/regex.js +16 -0
  172. package/src/utils/regex.js.map +1 -0
  173. package/src/utils/string.js +33 -0
  174. package/src/utils/string.js.map +1 -0
  175. package/src/utils/time.js +7 -0
  176. package/src/utils/time.js.map +1 -0
  177. package/src/version.d.ts +1 -1
  178. package/src/version.js +2 -0
  179. package/src/version.js.map +1 -0
  180. package/src/workers/session-recording-worker.js +77 -0
  181. package/src/workers/session-recording-worker.js.map +1 -0
  182. package/coralogix-browser-sdk.esm.d.ts +0 -1
  183. package/coralogix-browser-sdk.esm.js +0 -6635
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoralogixSpanMapProcessor.js","sourceRoot":"","sources":["../../../../../libs/browser/src/processors/CoralogixSpanMapProcessor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=processor-base.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processor-base.model.js","sourceRoot":"","sources":["../../../../../libs/browser/src/processors/processor-base.model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { getSessionManager } from '../helpers';
2
+ export function isProcessorShouldStop(isActive) {
3
+ var _a;
4
+ return !isActive || !!((_a = getSessionManager()) === null || _a === void 0 ? void 0 : _a.isIdleActive);
5
+ }
6
+ //# sourceMappingURL=processor.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processor.helper.js","sourceRoot":"","sources":["../../../../../libs/browser/src/processors/processor.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,UAAU,qBAAqB,CAAC,QAAiB;;IACrD,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAA,MAAA,iBAAiB,EAAE,0CAAE,YAAY,CAAA,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { addEventListeners } from '../tools/addEventListener';
2
+ export class SessionIdle {
3
+ constructor(idleConfig) {
4
+ this.idleConfig = idleConfig;
5
+ this._isIdleActive = false;
6
+ this.stopCallbacks = {};
7
+ this.resetTimeout = () => {
8
+ var _a, _b;
9
+ (_b = (_a = this.stopCallbacks).clearTimeout) === null || _b === void 0 ? void 0 : _b.call(_a);
10
+ const id = setTimeout(() => {
11
+ this._isIdleActive = true;
12
+ this.idleConfig.onIdle();
13
+ }, this.idleConfig.timeoutDelay);
14
+ this.stopCallbacks.clearTimeout = () => clearTimeout(id);
15
+ };
16
+ this.idlenessEventsHandler = () => {
17
+ if (this._isIdleActive) {
18
+ this._isIdleActive = false;
19
+ this.idleConfig.onActive();
20
+ }
21
+ this.resetTimeout();
22
+ };
23
+ }
24
+ get isIdleActive() {
25
+ return this._isIdleActive;
26
+ }
27
+ startIdleListener() {
28
+ this.resetTimeout();
29
+ this.trackActivity();
30
+ }
31
+ stopIdleListener() {
32
+ Object.values(this.stopCallbacks).forEach((cb) => cb());
33
+ }
34
+ trackActivity() {
35
+ var _a, _b;
36
+ (_b = (_a = this.stopCallbacks).removeActivityListeners) === null || _b === void 0 ? void 0 : _b.call(_a);
37
+ const { stop } = addEventListeners(window, ["touchstart" /* DOM_EVENT.TOUCH_START */, "keydown" /* DOM_EVENT.KEY_DOWN */, "mousemove" /* DOM_EVENT.MOUSE_MOVE */], this.idlenessEventsHandler, { capture: true, passive: true });
38
+ this.stopCallbacks.removeActivityListeners = stop;
39
+ }
40
+ }
41
+ //# sourceMappingURL=session-idle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-idle.js","sourceRoot":"","sources":["../../../../../libs/browser/src/session/session-idle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAa,MAAM,2BAA2B,CAAC;AAazE,MAAM,OAAO,WAAW;IAKtB,YAAoB,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;QAJzC,kBAAa,GAAY,KAAK,CAAC;QAE/B,kBAAa,GAAkB,EAAE,CAAC;QAiBlC,iBAAY,GAAG,GAAG,EAAE;;YAC1B,MAAA,MAAA,IAAI,CAAC,aAAa,EAAC,YAAY,kDAAI,CAAC;YAEpC,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE;gBACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC3B,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAEjC,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC,CAAC;QAeM,0BAAqB,GAAG,GAAG,EAAE;YACnC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,CAAC;IA7CkD,CAAC;IAErD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAES,iBAAiB;QACzB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAES,gBAAgB;QACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IAaO,aAAa;;QACnB,MAAA,MAAA,IAAI,CAAC,aAAa,EAAC,uBAAuB,kDAAI,CAAC;QAE/C,MAAM,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAChC,MAAM,EACN,sHAAiE,EACjE,IAAI,CAAC,qBAAqB,EAC1B,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CACjC,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACpD,CAAC;CASF"}
@@ -0,0 +1,24 @@
1
+ import { MILLISECONDS_PER_HOUR, millisecondsPerMinute } from '../utils/time';
2
+ export const MAX_BATCH_TIME_MS = 10000; //10s
3
+ export const SESSION_RECORDING_DEFAULT_HEADERS = {
4
+ 'Content-Encoding': 'gzip',
5
+ };
6
+ export const SESSION_RECORDING_DEFAULT_ERROR_MESSAGE = 'Coralogix Browser SDK - Recording is not supported on this platform';
7
+ export const SESSION_RECORDING_NETWORK_ERR0R_MESSAGE = 'Coralogix Browser SDK - Error while sending record';
8
+ export const BATCH_TIME_DELAY = 1000;
9
+ export const SESSION_RECORDING_POSTFIX_URL = '/browser/alpha/sessionrecording';
10
+ export const SESSION_KEY = 'rum_session';
11
+ export const PREV_SESSION_KEY = 'rum_prev_session';
12
+ export const MAX_MUTATIONS_FOR_SESSION_RECORDING = 5000;
13
+ export const DEFAULT_SESSION_CONFIG = {
14
+ sessionSampleRate: 100,
15
+ onlyWithErrorConfig: {
16
+ enable: false,
17
+ },
18
+ };
19
+ export const SESSION_IDLE_TIME = 15 * millisecondsPerMinute;
20
+ export const SESSION_EXPIRATION_TIME = MILLISECONDS_PER_HOUR;
21
+ export const SESSION_MANAGER_KEY = 'rumSessionManager';
22
+ export const SESSION_RECORDER_KEY = 'rumSessionRecorder';
23
+ export const SESSION_RECORDER_SEGMENTS_MAP = 'rumSessionRecorderSegmentsMap';
24
+ //# sourceMappingURL=session.consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.consts.js","sourceRoot":"","sources":["../../../../../libs/browser/src/session/session.consts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE7E,MAAM,CAAC,MAAM,iBAAiB,GAAW,KAAM,CAAC,CAAC,KAAK;AAEtD,MAAM,CAAC,MAAM,iCAAiC,GAA2B;IACvE,kBAAkB,EAAE,MAAM;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,uCAAuC,GAClD,qEAAqE,CAAC;AAExE,MAAM,CAAC,MAAM,uCAAuC,GAClD,oDAAoD,CAAC;AAEvD,MAAM,CAAC,MAAM,gBAAgB,GAAW,IAAI,CAAC;AAE7C,MAAM,CAAC,MAAM,6BAA6B,GAAG,iCAAiC,CAAC;AAE/E,MAAM,CAAC,MAAM,WAAW,GAAW,aAAa,CAAC;AACjD,MAAM,CAAC,MAAM,gBAAgB,GAAW,kBAAkB,CAAC;AAC3D,MAAM,CAAC,MAAM,mCAAmC,GAAW,IAAI,CAAC;AAChE,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,iBAAiB,EAAE,GAAG;IACtB,mBAAmB,EAAE;QACnB,MAAM,EAAE,KAAK;KACd;CACF,CAAC;AACF,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,GAAG,qBAAqB,CAAC;AAC5D,MAAM,CAAC,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AACvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AACzD,MAAM,CAAC,MAAM,6BAA6B,GAAG,+BAA+B,CAAA"}
@@ -0,0 +1,77 @@
1
+ import { DEFAULT_SESSION_CONFIG } from './session.consts';
2
+ import { CoralogixEventType } from '../types';
3
+ import { DEFAULT_MS_RECORD_TIME, DEFAULT_RUM_EVENTS, MAX_MS_RECORD_TIME, MAX_RUM_EVENTS, } from './sessionWithError.consts';
4
+ import { getSessionManager } from '../helpers';
5
+ import { AlwaysOnSampler } from '@opentelemetry/sdk-trace-base';
6
+ import { CxCustomSampler } from '../otel/custom-sampler';
7
+ function resolveMaxRumEvents(maxRumEvents) {
8
+ if (!maxRumEvents) {
9
+ return DEFAULT_RUM_EVENTS;
10
+ }
11
+ return maxRumEvents > MAX_RUM_EVENTS ? MAX_RUM_EVENTS : maxRumEvents;
12
+ }
13
+ function resolveMaxRecordTime(maxRecordTime) {
14
+ if (!maxRecordTime) {
15
+ return DEFAULT_MS_RECORD_TIME;
16
+ }
17
+ return maxRecordTime > MAX_MS_RECORD_TIME
18
+ ? MAX_MS_RECORD_TIME
19
+ : maxRecordTime;
20
+ }
21
+ function resolveSessionWithErrorsConfig(config) {
22
+ var _a;
23
+ if (!config) {
24
+ return { enable: false };
25
+ }
26
+ return Object.assign(Object.assign({}, config), { maxRumEvents: resolveMaxRumEvents(config.maxRumEvents), maxRecordTime: resolveMaxRecordTime(config.maxRecordTime), instrumentationsToSend: (_a = config.instrumentationsToSend) !== null && _a !== void 0 ? _a : {
27
+ [CoralogixEventType.WEB_VITALS]: true,
28
+ } });
29
+ }
30
+ export function resolveSessionConfig(config) {
31
+ var _a;
32
+ if (!config) {
33
+ return DEFAULT_SESSION_CONFIG;
34
+ }
35
+ return Object.assign(Object.assign({}, config), { sessionSampleRate: (_a = config.sessionSampleRate) !== null && _a !== void 0 ? _a : 100, onlyWithErrorConfig: resolveSessionWithErrorsConfig(config.onlyWithErrorConfig) });
36
+ }
37
+ export function resolveSessionRecordingConfig(config) {
38
+ var _a;
39
+ if (config) {
40
+ return Object.assign(Object.assign({}, config), { sessionRecordingSampleRate: (_a = config.sessionRecordingSampleRate) !== null && _a !== void 0 ? _a : 100 });
41
+ }
42
+ return;
43
+ }
44
+ export function isSamplingOn(threshold) {
45
+ return threshold > 0 && Math.random() * 100 <= threshold;
46
+ }
47
+ export const isSessionWithError = () => {
48
+ const { onlySessionWithErrorMode, cachedLogsSent } = getSessionManager();
49
+ return onlySessionWithErrorMode && !cachedLogsSent;
50
+ };
51
+ export function getResolvedSampler(resolvedOptions) {
52
+ let sampler = new AlwaysOnSampler();
53
+ const { sessionSampleRate, sessionConfig, debug, sessionRecordingConfig } = resolvedOptions;
54
+ const shouldNotTrackSession =
55
+ //todo: remove when sessionSampleRate is removed
56
+ !isSamplingOn(sessionSampleRate) ||
57
+ !isSamplingOn(sessionConfig.sessionSampleRate);
58
+ if (shouldNotTrackSession) {
59
+ const shouldAlwaysTrackSessionsWithErrors = sessionConfig === null || sessionConfig === void 0 ? void 0 : sessionConfig.alwaysTrackSessionsWithErrors;
60
+ if (shouldAlwaysTrackSessionsWithErrors) {
61
+ sessionConfig.onlyWithErrorConfig = Object.assign(Object.assign({}, sessionConfig.onlyWithErrorConfig), { enable: true });
62
+ }
63
+ else {
64
+ if (debug) {
65
+ console.debug('CoralogixRum: Session tracking is disabled due to sampling rate');
66
+ }
67
+ // session dropped due to sample, only network trace headers should run
68
+ sampler = new CxCustomSampler();
69
+ if (sessionRecordingConfig) {
70
+ sessionRecordingConfig.enable = false;
71
+ }
72
+ resolvedOptions.instrumentations = Object.assign(Object.assign({}, resolvedOptions.instrumentations), { errors: false, custom: false, web_vitals: false, interactions: false, long_tasks: false, resources: false });
73
+ }
74
+ }
75
+ return sampler;
76
+ }
77
+ //# sourceMappingURL=session.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.helper.js","sourceRoot":"","sources":["../../../../../libs/browser/src/session/session.helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export var SessionRecordingEventType;
2
+ (function (SessionRecordingEventType) {
3
+ SessionRecordingEventType[SessionRecordingEventType["DomContentLoaded"] = 0] = "DomContentLoaded";
4
+ SessionRecordingEventType[SessionRecordingEventType["Load"] = 1] = "Load";
5
+ SessionRecordingEventType[SessionRecordingEventType["FullSnapshot"] = 2] = "FullSnapshot";
6
+ SessionRecordingEventType[SessionRecordingEventType["IncrementalSnapshot"] = 3] = "IncrementalSnapshot";
7
+ SessionRecordingEventType[SessionRecordingEventType["Meta"] = 4] = "Meta";
8
+ SessionRecordingEventType[SessionRecordingEventType["Custom"] = 5] = "Custom";
9
+ SessionRecordingEventType[SessionRecordingEventType["Plugin"] = 6] = "Plugin";
10
+ })(SessionRecordingEventType || (SessionRecordingEventType = {}));
11
+ //# sourceMappingURL=session.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.model.js","sourceRoot":"","sources":["../../../../../libs/browser/src/session/session.model.ts"],"names":[],"mappings":"AAoFA,MAAM,CAAN,IAAY,yBAQX;AARD,WAAY,yBAAyB;IACnC,iGAAoB,CAAA;IACpB,yEAAQ,CAAA;IACR,yFAAgB,CAAA;IAChB,uGAAuB,CAAA;IACvB,yEAAQ,CAAA;IACR,6EAAU,CAAA;IACV,6EAAU,CAAA;AACZ,CAAC,EARW,yBAAyB,KAAzB,yBAAyB,QAQpC"}
@@ -0,0 +1,175 @@
1
+ import { SessionRecorder } from './sessionRecorder';
2
+ import { getSdkConfig, getSessionRecorder, getSnapshotManager, } from '../helpers';
3
+ import { PREV_SESSION_KEY, SESSION_EXPIRATION_TIME, SESSION_IDLE_TIME, SESSION_KEY, SESSION_MANAGER_KEY, SESSION_RECORDER_SEGMENTS_MAP, } from './session.consts';
4
+ import { isSamplingOn } from './session.helper';
5
+ import { generateUUID } from '../utils';
6
+ import { SessionIdle } from './session-idle';
7
+ import { getNowTime } from '../utils/time';
8
+ import { clearGlobalSpan } from '../custom-spans';
9
+ export class SessionManager extends SessionIdle {
10
+ constructor(recordConfig) {
11
+ super({
12
+ timeoutDelay: SESSION_IDLE_TIME,
13
+ onIdle: () => this.clearSessionWhenIdle(),
14
+ onActive: () => this.setSession(true),
15
+ });
16
+ this._sessionConfig = getSdkConfig().sessionConfig;
17
+ this._sessionHasError = false;
18
+ this._cachedLogsSent = false;
19
+ this._currentPageTimestamp = getNowTime();
20
+ this.getPrevSession = () => {
21
+ return JSON.parse(window.sessionStorage.getItem(PREV_SESSION_KEY));
22
+ };
23
+ this.getSession = () => {
24
+ const storedSession = JSON.parse(window.sessionStorage.getItem(SESSION_KEY));
25
+ const now = getNowTime();
26
+ let session;
27
+ if (storedSession) {
28
+ if (storedSession.sessionExpirationDate > now) {
29
+ session = storedSession;
30
+ }
31
+ else {
32
+ this.clearSessionWhenIdle();
33
+ session = this.setSession(true);
34
+ }
35
+ }
36
+ return session;
37
+ };
38
+ this.setSession = (afterIdle = false) => {
39
+ var _a, _b, _c;
40
+ const shouldkeepSessionAfterReload = (_a = this._sessionConfig) === null || _a === void 0 ? void 0 : _a.keepSessionAfterReload;
41
+ if (shouldkeepSessionAfterReload) {
42
+ this.handleRefreshedSessions();
43
+ }
44
+ else {
45
+ this.createNewSession();
46
+ }
47
+ window.sessionStorage.setItem(SESSION_KEY, JSON.stringify(this.activeSession));
48
+ const sessionRecorder = getSessionRecorder();
49
+ const shouldStartRecordingAfterIdle = afterIdle &&
50
+ !!(sessionRecorder === null || sessionRecorder === void 0 ? void 0 : sessionRecorder.recordingStopDueToTimeout) &&
51
+ !!((_b = this.sessionRecorderConfig) === null || _b === void 0 ? void 0 : _b.enable);
52
+ if (shouldStartRecordingAfterIdle ||
53
+ (sessionRecorder === null || sessionRecorder === void 0 ? void 0 : sessionRecorder.getIsAutoStartRecording())) {
54
+ (_c = this.sessionRecorder) === null || _c === void 0 ? void 0 : _c.startRecording();
55
+ }
56
+ return this.activeSession;
57
+ };
58
+ this.initializeSession(recordConfig);
59
+ }
60
+ get currentPageTimestamp() {
61
+ return this._currentPageTimestamp;
62
+ }
63
+ get currentPageFragment() {
64
+ return this._currentPageFragment;
65
+ }
66
+ get sessionConfig() {
67
+ return this._sessionConfig;
68
+ }
69
+ get onlySessionWithErrorMode() {
70
+ return this._sessionConfig.onlyWithErrorConfig.enable;
71
+ }
72
+ get maxRumEventsForSessionWithError() {
73
+ return this._sessionConfig.onlyWithErrorConfig.maxRumEvents || 0;
74
+ }
75
+ get maxRecordTimeForSessionWithError() {
76
+ return this._sessionConfig.onlyWithErrorConfig.maxRecordTime || 0;
77
+ }
78
+ get instrumentationsToSend() {
79
+ return this._sessionConfig.onlyWithErrorConfig.instrumentationsToSend;
80
+ }
81
+ get cachedLogsSent() {
82
+ return this._cachedLogsSent;
83
+ }
84
+ get sessionHasError() {
85
+ return this._sessionHasError;
86
+ }
87
+ set sessionHasError(value) {
88
+ this._sessionHasError = value;
89
+ }
90
+ set cachedLogsSent(val) {
91
+ this._cachedLogsSent = val;
92
+ }
93
+ updateCurrentPage(fragment) {
94
+ // Should not updateCurrentPage when idle, even if rum events are sent before idle(like network requests)
95
+ if (this.isIdleActive) {
96
+ this._currentPageFragment = undefined;
97
+ return;
98
+ }
99
+ this._currentPageFragment = fragment;
100
+ this._currentPageTimestamp = getNowTime();
101
+ }
102
+ getSessionKey() {
103
+ return SESSION_KEY;
104
+ }
105
+ getActiveSession() {
106
+ return this.activeSession;
107
+ }
108
+ start() {
109
+ this.startIdleListener();
110
+ this.clearPrevSession();
111
+ this.setSession();
112
+ }
113
+ stop() {
114
+ this.stopIdleListener();
115
+ }
116
+ initializeSession(recordConfig) {
117
+ window[SESSION_MANAGER_KEY] = this;
118
+ this.sessionRecorderConfig = recordConfig;
119
+ if (recordConfig === null || recordConfig === void 0 ? void 0 : recordConfig.enable) {
120
+ const recordingSamplingEnabled = isSamplingOn(recordConfig.sessionRecordingSampleRate);
121
+ if (recordingSamplingEnabled) {
122
+ this.sessionRecorder = new SessionRecorder(this, recordConfig);
123
+ }
124
+ else {
125
+ if (getSdkConfig().debug) {
126
+ console.debug('Coralogix Browser SDK - Session recording is disabled');
127
+ }
128
+ }
129
+ }
130
+ }
131
+ clearSessionWhenIdle() {
132
+ var _a;
133
+ if ((_a = this.sessionRecorder) === null || _a === void 0 ? void 0 : _a.getSessionHasRecording()) {
134
+ this.sessionRecorder.recordingStopDueToTimeout = true;
135
+ }
136
+ this.clearSession();
137
+ }
138
+ clearPrevSession() {
139
+ window.sessionStorage.removeItem(PREV_SESSION_KEY);
140
+ }
141
+ clearSession() {
142
+ var _a, _b, _c, _d;
143
+ window.sessionStorage.setItem(PREV_SESSION_KEY, JSON.stringify(Object.assign(Object.assign({}, this.activeSession), { hasRecording: (_a = this.sessionRecorder) === null || _a === void 0 ? void 0 : _a.getSessionHasRecording(), hasScreenshot: (_b = this.sessionRecorder) === null || _b === void 0 ? void 0 : _b.getSessionHasScreenshot() })));
144
+ clearGlobalSpan();
145
+ this.clearSessionWithErrorMode();
146
+ (_c = getSnapshotManager()) === null || _c === void 0 ? void 0 : _c.resetSnapshot();
147
+ this._currentPageFragment = undefined;
148
+ (_d = this.sessionRecorder) === null || _d === void 0 ? void 0 : _d.stopRecording();
149
+ window.sessionStorage.removeItem(SESSION_KEY);
150
+ }
151
+ clearSessionWithErrorMode() {
152
+ this.sessionHasError = false;
153
+ this.cachedLogsSent = false;
154
+ }
155
+ handleRefreshedSessions() {
156
+ var _a;
157
+ this.activeSession = this.getSession();
158
+ const recordingSegmentMapFromStorage = JSON.parse(window.sessionStorage.getItem(SESSION_RECORDER_SEGMENTS_MAP) || '{}');
159
+ if (this.activeSession) {
160
+ (_a = getSessionRecorder()) === null || _a === void 0 ? void 0 : _a.updateSegmentIndexCounter(recordingSegmentMapFromStorage);
161
+ }
162
+ else {
163
+ this.createNewSession();
164
+ }
165
+ }
166
+ createNewSession() {
167
+ const now = getNowTime();
168
+ this.activeSession = {
169
+ sessionId: generateUUID(),
170
+ sessionCreationDate: now,
171
+ sessionExpirationDate: now + SESSION_EXPIRATION_TIME,
172
+ };
173
+ }
174
+ }
175
+ //# sourceMappingURL=sessionManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionManager.js","sourceRoot":"","sources":["../../../../../libs/browser/src/session/sessionManager.ts"],"names":[],"mappings":"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"}