@coralogix/browser 1.1.11 → 1.1.17

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 (88) hide show
  1. package/README.md +28 -27
  2. package/package.json +16 -15
  3. package/src/constants.d.ts +11 -1
  4. package/src/constants.js +14 -3
  5. package/src/constants.js.map +1 -1
  6. package/src/helpers.d.ts +3 -2
  7. package/src/helpers.js +8 -5
  8. package/src/helpers.js.map +1 -1
  9. package/src/index.js +25 -6
  10. package/src/index.js.map +1 -1
  11. package/src/instrumentations/CoralogixCustomLogInstrumentation.js +0 -1
  12. package/src/instrumentations/CoralogixCustomLogInstrumentation.js.map +1 -1
  13. package/src/instrumentations/CoralogixDOMInstrumentation.d.ts +10 -0
  14. package/src/instrumentations/CoralogixDOMInstrumentation.js +35 -0
  15. package/src/instrumentations/CoralogixDOMInstrumentation.js.map +1 -0
  16. package/src/instrumentations/CoralogixErrorInstrumentation.js +0 -2
  17. package/src/instrumentations/CoralogixErrorInstrumentation.js.map +1 -1
  18. package/src/instrumentations/CoralogixFetchInstrumentation.js +0 -1
  19. package/src/instrumentations/CoralogixFetchInstrumentation.js.map +1 -1
  20. package/src/instrumentations/CoralogixInternalInstrumentation.js +0 -1
  21. package/src/instrumentations/CoralogixInternalInstrumentation.js.map +1 -1
  22. package/src/instrumentations/CoralogixLongTaskInstrumentation.d.ts +3 -3
  23. package/src/instrumentations/CoralogixLongTaskInstrumentation.js +2 -3
  24. package/src/instrumentations/CoralogixLongTaskInstrumentation.js.map +1 -1
  25. package/src/instrumentations/CoralogixResourcesInstrumentation.d.ts +3 -3
  26. package/src/instrumentations/CoralogixResourcesInstrumentation.js +2 -3
  27. package/src/instrumentations/CoralogixResourcesInstrumentation.js.map +1 -1
  28. package/src/instrumentations/CoralogixUserInteractionInstrumentation.js +0 -1
  29. package/src/instrumentations/CoralogixUserInteractionInstrumentation.js.map +1 -1
  30. package/src/instrumentations/CoralogixWebVitalsInstrumentation.d.ts +2 -2
  31. package/src/instrumentations/CoralogixWebVitalsInstrumentation.js +4 -3
  32. package/src/instrumentations/CoralogixWebVitalsInstrumentation.js.map +1 -1
  33. package/src/instrumentations/CoralogixXhrInstrumentation.js +0 -1
  34. package/src/instrumentations/CoralogixXhrInstrumentation.js.map +1 -1
  35. package/src/instrumentations/instrumentation.consts.d.ts +2 -0
  36. package/src/instrumentations/instrumentation.consts.js +2 -0
  37. package/src/instrumentations/instrumentation.consts.js.map +1 -1
  38. package/src/processors/CoralogixExporter.d.ts +24 -0
  39. package/src/processors/CoralogixExporter.js +97 -0
  40. package/src/processors/CoralogixExporter.js.map +1 -0
  41. package/src/processors/CoralogixSnapshotSpanProcessor.d.ts +12 -0
  42. package/src/processors/CoralogixSnapshotSpanProcessor.js +78 -0
  43. package/src/processors/CoralogixSnapshotSpanProcessor.js.map +1 -0
  44. package/src/{CoralogixSpanAttributesProcessor.d.ts → processors/CoralogixSpanAttributesProcessor.d.ts} +4 -2
  45. package/src/{CoralogixSpanAttributesProcessor.js → processors/CoralogixSpanAttributesProcessor.js} +10 -4
  46. package/src/processors/CoralogixSpanAttributesProcessor.js.map +1 -0
  47. package/src/processors/CoralogixSpanMapProcessor.d.ts +15 -0
  48. package/src/{CoralogixExporter.js → processors/CoralogixSpanMapProcessor.js} +52 -136
  49. package/src/processors/CoralogixSpanMapProcessor.js.map +1 -0
  50. package/src/processors/processor-base.model.d.ts +3 -0
  51. package/src/processors/processor-base.model.js +2 -0
  52. package/src/processors/processor-base.model.js.map +1 -0
  53. package/src/processors/processor.helper.d.ts +1 -0
  54. package/src/processors/processor.helper.js +6 -0
  55. package/src/processors/processor.helper.js.map +1 -0
  56. package/src/session/session.helper.d.ts +1 -0
  57. package/src/session/session.helper.js +15 -2
  58. package/src/session/session.helper.js.map +1 -1
  59. package/src/session/session.model.d.ts +6 -6
  60. package/src/session/sessionManager.d.ts +6 -5
  61. package/src/session/sessionManager.js +63 -65
  62. package/src/session/sessionManager.js.map +1 -1
  63. package/src/session/sessionRecorder.d.ts +6 -0
  64. package/src/session/sessionRecorder.js +77 -19
  65. package/src/session/sessionRecorder.js.map +1 -1
  66. package/src/session/sessionWithError.consts.d.ts +3 -1
  67. package/src/session/sessionWithError.consts.js +5 -2
  68. package/src/session/sessionWithError.consts.js.map +1 -1
  69. package/src/snapshot/snapshot.consts.d.ts +3 -0
  70. package/src/snapshot/snapshot.consts.js +8 -0
  71. package/src/snapshot/snapshot.consts.js.map +1 -0
  72. package/src/snapshot/snapshot.model.d.ts +7 -0
  73. package/src/snapshot/snapshot.model.js +2 -0
  74. package/src/snapshot/snapshot.model.js.map +1 -0
  75. package/src/snapshot/snapshotManager.d.ts +13 -0
  76. package/src/snapshot/snapshotManager.js +29 -0
  77. package/src/snapshot/snapshotManager.js.map +1 -0
  78. package/src/types.d.ts +6 -1
  79. package/src/types.js +1 -0
  80. package/src/types.js.map +1 -1
  81. package/src/utils/all.d.ts +2 -1
  82. package/src/utils/all.js +15 -1
  83. package/src/utils/all.js.map +1 -1
  84. package/src/version.d.ts +1 -1
  85. package/src/version.js +1 -1
  86. package/src/CoralogixExporter.d.ts +0 -25
  87. package/src/CoralogixExporter.js.map +0 -1
  88. package/src/CoralogixSpanAttributesProcessor.js.map +0 -1
@@ -1,128 +1,49 @@
1
- import { CoralogixEventType, OtelNetworkAttrs, } from './types';
2
- import { CORALOGIX_LOGS_URL_SUFFIX, CoralogixAttributes, MAX_CHARACTERS, NETWORK_URL_LABEL_PROVIDERS_KEY, PAGE_URL_LABEL_PROVIDERS_KEY, } from './constants';
3
- import { CoralogixLogSeverity } from './types-external';
1
+ import { CoralogixEventType, OtelNetworkAttrs, } from '../types';
2
+ import { CoralogixAttributes, CX_MAPPED_SPAN, NETWORK_URL_LABEL_PROVIDERS_KEY, PAGE_URL_LABEL_PROVIDERS_KEY, } from '../constants';
3
+ import { CoralogixLogSeverity } from '../types-external';
4
+ import { SDK_VERSION } from '../version';
5
+ import { applyUrlBluePrinters, deepClone, flattenAttributes, getInternalRumData, getUrlFragments, hrTimeToMilliseconds, parseUserAgent, } from '../utils';
4
6
  import ErrorStackParser from 'error-stack-parser';
5
- import { applyUrlBluePrinters, deepClone, flattenAttributes, getInternalRumData, getUrlFragments, hrTimeToMilliseconds, parseUserAgent, } from './utils';
6
- import { SDK_VERSION } from './version';
7
- import { ExportResultCode } from '@opentelemetry/core';
8
- import { LONG_TASK_PERFORMANCE_TYPE, RESOURCES_INSTRUMENTATION_NAME, WEB_VITALS_INSTRUMENTATION_NAME, } from './instrumentations/instrumentation.consts';
9
- import { getSdkConfig, getSessionManager, getSessionRecorder } from './helpers';
10
- import { shouldDropEvent } from './filters/filters';
11
- import { Request } from './Request';
12
- import { processBeforeSend } from './before-send';
13
- import { BATCH_TIME_DELAY } from './session/session.consts';
14
- import { MAX_SESSION_CHUNK_SIZE } from './session/sessionWithError.consts';
15
- export class CoralogixExporter {
7
+ import { LONG_TASK_PERFORMANCE_TYPE, RESOURCES_INSTRUMENTATION_NAME, WEB_VITALS_INSTRUMENTATION_NAME, } from '../instrumentations/instrumentation.consts';
8
+ import { getSdkConfig, getSessionManager, getSessionRecorder, } from '../helpers';
9
+ import { shouldDropEvent } from '../filters/filters';
10
+ import { processBeforeSend } from '../before-send';
11
+ import { isProcessorShouldStop } from './processor.helper';
12
+ export class CoralogixSpanMapProcessor {
16
13
  constructor() {
17
- this.isActive = true;
18
14
  this.sdkConfig = getSdkConfig();
19
- this.request = new Request({
20
- suffix: CORALOGIX_LOGS_URL_SUFFIX,
21
- headers: { 'Content-Type': 'application/json' },
22
- });
23
- this.batchTimeDelay = BATCH_TIME_DELAY;
24
- this.invokeLogRequest = (logs, markCachedLogsSent) => {
25
- if (logs === null || logs === void 0 ? void 0 : logs.length) {
26
- this.request.send(JSON.stringify({ logs })).then(() => {
27
- if (markCachedLogsSent) {
28
- getSessionManager().cachedLogsSent = true;
29
- }
30
- });
31
- }
32
- };
15
+ this.isActive = true;
33
16
  }
34
- export(spans, resultCallback) {
17
+ onEnd(span) {
35
18
  var _a;
36
- // even if idle, some events like polling might happen in the background, creating multiple unnecessary sessions
37
- const isIdleActive = (_a = getSessionManager()) === null || _a === void 0 ? void 0 : _a.getIsIdleActive();
38
- if (!this.isActive || isIdleActive) {
39
- resultCallback({ code: ExportResultCode.SUCCESS });
19
+ if (isProcessorShouldStop(this.isActive)) {
40
20
  return;
41
21
  }
42
- const { onlySessionWithErrorMode, cachedLogsSent } = getSessionManager();
43
- const currentSpans = this.prepareSpansData(spans);
44
- const isSessionWithError = onlySessionWithErrorMode && !cachedLogsSent;
45
- if (isSessionWithError) {
46
- this.handleSessionWithError(currentSpans);
47
- }
48
- else {
49
- this.invokeLogRequest(currentSpans);
50
- }
51
- resultCallback({ code: ExportResultCode.SUCCESS });
52
- }
53
- prepareSpansData(spans) {
54
- var _a;
55
22
  const { onlySessionWithErrorMode, getPrevSession, getSession, setSession } = getSessionManager();
56
23
  const session = getSession() || setSession();
57
24
  const sessionHasRecording = !!((_a = getSessionRecorder()) === null || _a === void 0 ? void 0 : _a.getSessionHasRecording());
58
- return spans.reduce((cxSpans, current) => {
59
- const cxSpan = this._mapToCxSpan(current, session, getPrevSession(), sessionHasRecording, onlySessionWithErrorMode);
60
- if (!shouldDropEvent(cxSpan.text.cx_rum, this.sdkConfig)) {
61
- const resolvedCxSpan = processBeforeSend(cxSpan, this.sdkConfig);
62
- if (resolvedCxSpan) {
63
- const isSeverityError = resolvedCxSpan.severity === CoralogixLogSeverity.Error;
64
- const sessionHasError = getSessionManager().sessionHasError;
65
- if (onlySessionWithErrorMode &&
66
- (isSeverityError || sessionHasError)) {
67
- getSessionManager().sessionHasError = true;
68
- resolvedCxSpan.text.cx_rum.session_context.hasError = true;
69
- }
70
- cxSpans.push(resolvedCxSpan);
71
- }
72
- }
73
- return cxSpans;
74
- }, []);
75
- }
76
- handleSessionWithError(currentSpans) {
77
- const { maxRumEventsForSessionWithError, instrumentationsToSend, sessionHasError, } = getSessionManager();
78
- const instrumentationLogs = [];
79
- currentSpans = currentSpans.reduce((cxSpans, current) => {
80
- if (instrumentationsToSend &&
81
- instrumentationsToSend[current.text.cx_rum.event_context.type]) {
82
- instrumentationLogs.push(current);
83
- }
84
- else {
85
- cxSpans.push(current);
86
- }
87
- return cxSpans;
88
- }, []);
89
- this.invokeLogRequest(instrumentationLogs);
90
- const cachedLogs = (window.cachedLogs = [
91
- ...(window.cachedLogs || []),
92
- ...currentSpans,
93
- ]);
94
- const logsCounter = cachedLogs.length;
95
- //check if we reached the limit of max rum events for session with error
96
- if (logsCounter > maxRumEventsForSessionWithError && !sessionHasError) {
97
- this.clearCachedDataForSessionWithError();
98
- }
99
- else if (sessionHasError) {
100
- if (logsCounter > MAX_SESSION_CHUNK_SIZE) {
101
- //split request to chunks of 500 logs per each
102
- const chunks = [];
103
- for (let i = 0; i < logsCounter; i += MAX_SESSION_CHUNK_SIZE) {
104
- chunks.push(cachedLogs.slice(i, i + MAX_SESSION_CHUNK_SIZE));
25
+ const mappedCxSpan = this._mapToCxSpan(span, session, getPrevSession(), sessionHasRecording, onlySessionWithErrorMode);
26
+ if (!shouldDropEvent(mappedCxSpan.text.cx_rum, this.sdkConfig)) {
27
+ const resolvedCxSpan = processBeforeSend(mappedCxSpan, this.sdkConfig);
28
+ if (resolvedCxSpan) {
29
+ const isSeverityError = resolvedCxSpan.severity === CoralogixLogSeverity.Error;
30
+ const sessionHasError = getSessionManager().sessionHasError;
31
+ if (onlySessionWithErrorMode && (isSeverityError || sessionHasError)) {
32
+ getSessionManager().sessionHasError = true;
33
+ resolvedCxSpan.text.cx_rum.session_context.hasError = true;
105
34
  }
106
- chunks.forEach((chunk) => {
107
- setTimeout(() => this.invokeLogRequest(chunk, true), this.batchTimeDelay);
108
- this.batchTimeDelay += BATCH_TIME_DELAY;
109
- });
110
- this.clearCachedDataForSessionWithError();
111
- }
112
- else {
113
- this.invokeLogRequest(cachedLogs, true);
114
- this.clearCachedDataForSessionWithError();
35
+ span[CX_MAPPED_SPAN] = resolvedCxSpan;
115
36
  }
116
37
  }
117
38
  }
118
- clearCachedDataForSessionWithError() {
119
- window.cachedLogs = [];
120
- this.batchTimeDelay = BATCH_TIME_DELAY;
121
- }
39
+ onStart() { }
122
40
  shutdown() {
123
41
  this.isActive = false;
124
42
  return Promise.resolve();
125
43
  }
44
+ forceFlush() {
45
+ return Promise.resolve(undefined);
46
+ }
126
47
  _mapToCxSpan(span, session, prevSession, sessionHasRecording, onlySessionWithErrorMode) {
127
48
  var _a, _b;
128
49
  const { sessionId, sessionCreationDate } = session || {};
@@ -155,7 +76,7 @@ export class CoralogixExporter {
155
76
  severity,
156
77
  timestamp,
157
78
  text: {
158
- cx_rum: Object.assign(Object.assign({ timestamp }, eventTypeContext), { browser_sdk: {
79
+ cx_rum: Object.assign(Object.assign({ platform: 'browser', timestamp }, eventTypeContext), { browser_sdk: {
159
80
  version: SDK_VERSION,
160
81
  }, version_metadata, session_context: Object.assign(Object.assign(Object.assign(Object.assign({}, user_context), { session_id: sessionId, session_creation_date: sessionCreationDate, prev_session: prevSessionId
161
82
  ? {
@@ -163,7 +84,7 @@ export class CoralogixExporter {
163
84
  session_creation_date: prevSessionCreationDate,
164
85
  hasRecording: prevSessionHasRecording,
165
86
  }
166
- : undefined, hasRecording: sessionHasRecording, user_agent: attributes[CoralogixAttributes.USER_AGENT] }), parseUserAgent(attributes[CoralogixAttributes.USER_AGENT])), { onlyWithErrorMode: onlySessionWithErrorMode }), page_context: this.resolvePageContext(attributes), event_context: {
87
+ : undefined, hasRecording: sessionHasRecording, user_agent: attributes[CoralogixAttributes.USER_AGENT] }), parseUserAgent(attributes[CoralogixAttributes.USER_AGENT])), { onlyWithErrorMode: onlySessionWithErrorMode }), page_context: span[CoralogixAttributes.PAGE_CONTEXT], event_context: {
167
88
  type: attributes[CoralogixAttributes.EVENT_TYPE],
168
89
  source: attributes[CoralogixAttributes.SOURCE],
169
90
  severity,
@@ -192,22 +113,16 @@ export class CoralogixExporter {
192
113
  };
193
114
  }
194
115
  cxSpan.text.cx_rum.labels = this.resolveLabels(cxSpan.text.cx_rum);
116
+ this.resolveSnapshotEvent(cxSpan, span);
195
117
  return cxSpan;
196
118
  }
197
- resolveLabels(cxRumEvent) {
198
- var _a, _b;
199
- let allLabels = cxRumEvent.labels;
200
- const labelProviders = (_a = this.sdkConfig) === null || _a === void 0 ? void 0 : _a.labelProviders;
201
- if (labelProviders === null || labelProviders === void 0 ? void 0 : labelProviders.length) {
202
- const pageUrlLabelProviders = getInternalRumData(PAGE_URL_LABEL_PROVIDERS_KEY);
203
- const networkUrlLabelProviders = getInternalRumData(NETWORK_URL_LABEL_PROVIDERS_KEY);
204
- const networkRequestFragment = (_b = cxRumEvent.network_request_context) === null || _b === void 0 ? void 0 : _b.fragments;
205
- const labelsFromProviders = Object.assign(Object.assign({}, this.getLabelsByLabelProviders(pageUrlLabelProviders, cxRumEvent, cxRumEvent.page_context.page_fragments)), (networkRequestFragment
206
- ? this.getLabelsByLabelProviders(networkUrlLabelProviders, cxRumEvent, networkRequestFragment)
207
- : {}));
208
- allLabels = Object.assign(Object.assign({}, allLabels), labelsFromProviders);
119
+ resolveSnapshotEvent(cxSpan, span) {
120
+ const isSnapshot = !!span[CoralogixAttributes.IS_SNAPSHOT];
121
+ cxSpan.text.cx_rum.isSnapshotEvent = isSnapshot;
122
+ if (isSnapshot) {
123
+ cxSpan.text.cx_rum.snapshot_context =
124
+ span[CoralogixAttributes.SNAPSHOT_CONTEXT];
209
125
  }
210
- return allLabels;
211
126
  }
212
127
  _getEventTypeContext(spanAttributes, eventType, span) {
213
128
  var _a, _b;
@@ -317,19 +232,20 @@ export class CoralogixExporter {
317
232
  }
318
233
  return {};
319
234
  }
320
- resolvePageContext(attributes) {
321
- var _a;
322
- const url = attributes[CoralogixAttributes.LOCATION_HREF];
323
- const page_url_blueprint = applyUrlBluePrinters({
324
- url,
325
- blueprinters: (_a = this.sdkConfig.urlBlueprinters) === null || _a === void 0 ? void 0 : _a.pageUrlBlueprinters,
326
- });
327
- const page_fragments = getUrlFragments(page_url_blueprint);
328
- return {
329
- page_url: url.slice(0, MAX_CHARACTERS),
330
- page_url_blueprint,
331
- page_fragments,
332
- };
235
+ resolveLabels(cxRumEvent) {
236
+ var _a, _b;
237
+ let allLabels = cxRumEvent.labels;
238
+ const labelProviders = (_a = this.sdkConfig) === null || _a === void 0 ? void 0 : _a.labelProviders;
239
+ if (labelProviders === null || labelProviders === void 0 ? void 0 : labelProviders.length) {
240
+ const pageUrlLabelProviders = getInternalRumData(PAGE_URL_LABEL_PROVIDERS_KEY);
241
+ const networkUrlLabelProviders = getInternalRumData(NETWORK_URL_LABEL_PROVIDERS_KEY);
242
+ const networkRequestFragment = (_b = cxRumEvent.network_request_context) === null || _b === void 0 ? void 0 : _b.fragments;
243
+ const labelsFromProviders = Object.assign(Object.assign({}, this.getLabelsByLabelProviders(pageUrlLabelProviders, cxRumEvent, cxRumEvent.page_context.page_fragments)), (networkRequestFragment
244
+ ? this.getLabelsByLabelProviders(networkUrlLabelProviders, cxRumEvent, networkRequestFragment)
245
+ : {}));
246
+ allLabels = Object.assign(Object.assign({}, allLabels), labelsFromProviders);
247
+ }
248
+ return allLabels;
333
249
  }
334
250
  getLabelsByLabelProviders(labelProviders, cxRumEvent, url) {
335
251
  let allLabels = {};
@@ -340,4 +256,4 @@ export class CoralogixExporter {
340
256
  return allLabels;
341
257
  }
342
258
  }
343
- //# sourceMappingURL=CoralogixExporter.js.map
259
+ //# sourceMappingURL=CoralogixSpanMapProcessor.js.map
@@ -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,3 @@
1
+ export interface ProcessorBaseModel {
2
+ isActive: boolean;
3
+ }
@@ -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 @@
1
+ export declare function isProcessorShouldStop(isActive: boolean): boolean;
@@ -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"}
@@ -2,3 +2,4 @@ import { SessionConfig, SessionRecordingConfig } from './session.model';
2
2
  export declare function resolveSessionConfig(config: SessionConfig | undefined): SessionConfig;
3
3
  export declare function resolveSessionRecordingConfig(config: SessionRecordingConfig | undefined): SessionRecordingConfig | undefined;
4
4
  export declare function isSamplingOn(threshold: number): boolean;
5
+ export declare const isSessionWithError: () => boolean;
@@ -1,18 +1,27 @@
1
1
  import { DEFAULT_SESSION_CONFIG } from './session.consts';
2
2
  import { CoralogixEventType } from '../types';
3
- import { DEFAULT_RUM_EVENTS, MAX_RUM_EVENTS } from './sessionWithError.consts';
3
+ import { DEFAULT_MS_RECORD_TIME, DEFAULT_RUM_EVENTS, MAX_MS_RECORD_TIME, MAX_RUM_EVENTS, } from './sessionWithError.consts';
4
+ import { getSessionManager } from '../helpers';
4
5
  function resolveMaxRumEvents(maxRumEvents) {
5
6
  if (!maxRumEvents) {
6
7
  return DEFAULT_RUM_EVENTS;
7
8
  }
8
9
  return maxRumEvents > MAX_RUM_EVENTS ? MAX_RUM_EVENTS : maxRumEvents;
9
10
  }
11
+ function resolveMaxRecordTime(maxRecordTime) {
12
+ if (!maxRecordTime) {
13
+ return DEFAULT_MS_RECORD_TIME;
14
+ }
15
+ return maxRecordTime > MAX_MS_RECORD_TIME
16
+ ? MAX_MS_RECORD_TIME
17
+ : maxRecordTime;
18
+ }
10
19
  function resolveSessionWithErrorsConfig(config) {
11
20
  var _a;
12
21
  if (!config) {
13
22
  return { enable: false };
14
23
  }
15
- return Object.assign(Object.assign({}, config), { maxRumEvents: resolveMaxRumEvents(config.maxRumEvents), instrumentationsToSend: (_a = config.instrumentationsToSend) !== null && _a !== void 0 ? _a : {
24
+ return Object.assign(Object.assign({}, config), { maxRumEvents: resolveMaxRumEvents(config.maxRumEvents), maxRecordTime: resolveMaxRecordTime(config.maxRecordTime), instrumentationsToSend: (_a = config.instrumentationsToSend) !== null && _a !== void 0 ? _a : {
16
25
  [CoralogixEventType.WEB_VITALS]: true,
17
26
  } });
18
27
  }
@@ -33,4 +42,8 @@ export function resolveSessionRecordingConfig(config) {
33
42
  export function isSamplingOn(threshold) {
34
43
  return threshold > 0 && Math.random() * 100 <= threshold;
35
44
  }
45
+ export const isSessionWithError = () => {
46
+ const { onlySessionWithErrorMode, cachedLogsSent } = getSessionManager();
47
+ return onlySessionWithErrorMode && !cachedLogsSent;
48
+ };
36
49
  //# sourceMappingURL=session.helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.helper.js","sourceRoot":"","sources":["../../../../../libs/browser/src/session/session.helper.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE/E,SAAS,mBAAmB,CAAC,YAAgC;IAC3D,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,kBAAkB,CAAC;KAC3B;IAED,OAAO,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;AACvE,CAAC;AAED,SAAS,8BAA8B,CACrC,MAA0C;;IAE1C,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;KAC1B;IAED,uCACK,MAAM,KACT,YAAY,EAAE,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAC,EACtD,sBAAsB,EAAE,MAAA,MAAM,CAAC,sBAAsB,mCAAI;YACvD,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,IAAI;SACtC,IACD;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAiC;;IAEjC,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,sBAAsB,CAAC;KAC/B;IAED,uCACK,MAAM,KACT,iBAAiB,EAAE,MAAA,MAAM,CAAC,iBAAiB,mCAAI,GAAG,EAClD,mBAAmB,EAAE,8BAA8B,CACjD,MAAM,CAAC,mBAAmB,CAC3B,IACD;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,MAA0C;;IAE1C,IAAI,MAAM,EAAE;QACV,uCACK,MAAM,KACT,0BAA0B,EAAE,MAAA,MAAM,CAAC,0BAA0B,mCAAI,GAAG,IACpE;KACH;IAED,OAAO;AACT,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,OAAO,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,SAAS,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"session.helper.js","sourceRoot":"","sources":["../../../../../libs/browser/src/session/session.helper.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,SAAS,mBAAmB,CAAC,YAAgC;IAC3D,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,kBAAkB,CAAC;KAC3B;IAED,OAAO,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;AACvE,CAAC;AAED,SAAS,oBAAoB,CAAC,aAAiC;IAC7D,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,sBAAsB,CAAC;KAC/B;IAED,OAAO,aAAa,GAAG,kBAAkB;QACvC,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,aAAa,CAAC;AACpB,CAAC;AAED,SAAS,8BAA8B,CACrC,MAA0C;;IAE1C,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;KAC1B;IAED,uCACK,MAAM,KACT,YAAY,EAAE,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAC,EACtD,aAAa,EAAE,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC,EACzD,sBAAsB,EAAE,MAAA,MAAM,CAAC,sBAAsB,mCAAI;YACvD,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,IAAI;SACtC,IACD;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAiC;;IAEjC,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,sBAAsB,CAAC;KAC/B;IAED,uCACK,MAAM,KACT,iBAAiB,EAAE,MAAA,MAAM,CAAC,iBAAiB,mCAAI,GAAG,EAClD,mBAAmB,EAAE,8BAA8B,CACjD,MAAM,CAAC,mBAAmB,CAC3B,IACD;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,MAA0C;;IAE1C,IAAI,MAAM,EAAE;QACV,uCACK,MAAM,KACT,0BAA0B,EAAE,MAAA,MAAM,CAAC,0BAA0B,mCAAI,GAAG,IACpE;KACH;IAED,OAAO;AACT,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,OAAO,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,SAAS,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAY,EAAE;IAC9C,MAAM,EAAE,wBAAwB,EAAE,cAAc,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACzE,OAAO,wBAAwB,IAAI,CAAC,cAAc,CAAC;AACrD,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
- import { recordOptions } from 'rrweb/typings/types';
2
1
  import { eventWithTime } from '@rrweb/types';
3
2
  import { SlimDOMOptions } from 'rrweb-snapshot';
4
3
  import { CoralogixEventType } from '../types';
4
+ import { recordOptions } from 'rrweb';
5
5
  /**
6
6
  * Record config properties - based on rrweb
7
7
  *
@@ -48,12 +48,12 @@ export interface SessionRecordingConfig extends Omit<recordOptions<eventWithTime
48
48
  export interface SessionWithErrorConfig {
49
49
  enable: boolean;
50
50
  maxRumEvents?: number;
51
+ maxRecordTime?: number;
51
52
  /**
52
- * Instrumentation's to send for sessions with errors, defaults to web-vitals only
53
- * Instrumentation's will be sent only if the instrumentation is enabled in the main configuration,
54
- * and it will send immediately even if error is not occurred.
55
- * The Instrumentation will not be part of cached RUM events
56
- * */
53
+ * Specifies the instrumentation data to be sent for sessions with errors, defaulting to web-vitals only.
54
+ * The instrumentation data will only be sent if it is enabled in the main configuration.
55
+ * This data will be sent immediately, even if no error has occurred.
56
+ */
57
57
  instrumentationsToSend?: Partial<Record<CoralogixEventType, boolean>>;
58
58
  }
59
59
  export interface SessionConfig {
@@ -6,13 +6,15 @@ export declare class SessionManager {
6
6
  private sessionRecorder;
7
7
  private activeSession;
8
8
  private sessionRecorderConfig;
9
- private isIdleActive;
9
+ private _isIdleActive;
10
10
  private _sessionHasError;
11
11
  private _cachedLogsSent;
12
12
  constructor(recordConfig?: SessionRecordingConfig);
13
+ get isIdleActive(): boolean;
13
14
  get sessionConfig(): SessionConfig;
14
15
  get onlySessionWithErrorMode(): boolean;
15
16
  get maxRumEventsForSessionWithError(): number;
17
+ get maxRecordTimeForSessionWithError(): number;
16
18
  get instrumentationsToSend(): Partial<Record<CoralogixEventType, boolean>> | undefined;
17
19
  get cachedLogsSent(): boolean;
18
20
  get sessionHasError(): boolean;
@@ -22,13 +24,12 @@ export declare class SessionManager {
22
24
  getActiveSession(): Session;
23
25
  start(): void;
24
26
  stop(): void;
25
- getPrevSession(): PrevSession;
26
- getSession(): Session;
27
+ getPrevSession: () => PrevSession;
28
+ getSession: () => Session;
27
29
  private clearSessionWhenIdle;
28
30
  private clearPrevSession;
29
31
  private initIdle;
30
32
  private clearSession;
31
33
  private clearSessionWithErrorMode;
32
- setSession(afterIdle?: boolean, sessionId?: string): Session;
33
- getIsIdleActive(): boolean;
34
+ setSession: (afterIdle?: boolean, sessionId?: string) => Session;
34
35
  }
@@ -1,36 +1,72 @@
1
1
  import IdleJs from 'idle-js';
2
2
  import { v4 as uuidv4 } from 'uuid';
3
- import { miillisecondsInSecond, MILLISECONDS_PER_HOUR } from '../constants';
3
+ import { MILLISECONDS_PER_HOUR, millisecondsPerMinute } from '../constants';
4
4
  import { SessionRecorder } from './sessionRecorder';
5
- import { getNowTime, getSdkConfig, getSessionRecorder } from '../helpers';
5
+ import { getNowTime, getSdkConfig, getSessionRecorder, getSnapshotManager, } from '../helpers';
6
6
  import { PREV_SESSION_KEY, SESSION_EXPIRATION_IN_HOURS, SESSION_IDLE_TIME_IN_MINUTES, SESSION_KEY, SESSION_MANAGER_KEY, } from './session.consts';
7
7
  import { isSamplingOn } from './session.helper';
8
8
  export class SessionManager {
9
9
  constructor(recordConfig) {
10
- var _a;
11
10
  this._sessionConfig = getSdkConfig().sessionConfig;
12
- this.isIdleActive = false;
11
+ this._isIdleActive = false;
13
12
  this._sessionHasError = false;
14
13
  this._cachedLogsSent = false;
14
+ this.getPrevSession = () => {
15
+ return JSON.parse(window.sessionStorage.getItem(PREV_SESSION_KEY));
16
+ };
17
+ this.getSession = () => {
18
+ const storedSession = JSON.parse(window.sessionStorage.getItem(SESSION_KEY));
19
+ const now = getNowTime();
20
+ let session;
21
+ if (storedSession) {
22
+ if (storedSession.sessionExpirationDate > now) {
23
+ session = storedSession;
24
+ }
25
+ else {
26
+ this.clearSessionWhenIdle();
27
+ session = this.setSession(true);
28
+ }
29
+ }
30
+ return session;
31
+ };
32
+ this.setSession = (afterIdle = false, sessionId) => {
33
+ var _a, _b;
34
+ const now = getNowTime();
35
+ const expirationDate = now + MILLISECONDS_PER_HOUR * SESSION_EXPIRATION_IN_HOURS;
36
+ const session = {
37
+ sessionId: sessionId || uuidv4(),
38
+ sessionCreationDate: now,
39
+ sessionExpirationDate: expirationDate,
40
+ };
41
+ this.activeSession = session;
42
+ window.sessionStorage.setItem(SESSION_KEY, JSON.stringify(session));
43
+ const sessionRecorder = getSessionRecorder();
44
+ const shouldStartRecordingAfterIdle = afterIdle &&
45
+ !!(sessionRecorder === null || sessionRecorder === void 0 ? void 0 : sessionRecorder.recordingStopDueToTimeout) &&
46
+ !!((_a = this.sessionRecorderConfig) === null || _a === void 0 ? void 0 : _a.enable);
47
+ if (shouldStartRecordingAfterIdle ||
48
+ (sessionRecorder === null || sessionRecorder === void 0 ? void 0 : sessionRecorder.getIsAutoStartRecording())) {
49
+ (_b = this.sessionRecorder) === null || _b === void 0 ? void 0 : _b.startRecording();
50
+ }
51
+ return session;
52
+ };
15
53
  this.initIdle();
16
54
  window[SESSION_MANAGER_KEY] = this;
17
55
  this.sessionRecorderConfig = recordConfig;
18
- if (!((_a = this._sessionConfig.onlyWithErrorConfig) === null || _a === void 0 ? void 0 : _a.enable)) {
19
- if (recordConfig === null || recordConfig === void 0 ? void 0 : recordConfig.enable) {
20
- const recordingSamplingEnabled = isSamplingOn(recordConfig.sessionRecordingSampleRate);
21
- if (recordingSamplingEnabled) {
22
- this.sessionRecorder = new SessionRecorder(this, recordConfig);
23
- }
24
- else {
25
- if (getSdkConfig().debug) {
26
- console.debug('Coralogix Browser SDK - Session recording is disabled');
27
- }
56
+ if (recordConfig === null || recordConfig === void 0 ? void 0 : recordConfig.enable) {
57
+ const recordingSamplingEnabled = isSamplingOn(recordConfig.sessionRecordingSampleRate);
58
+ if (recordingSamplingEnabled) {
59
+ this.sessionRecorder = new SessionRecorder(this, recordConfig);
60
+ }
61
+ else {
62
+ if (getSdkConfig().debug) {
63
+ console.debug('Coralogix Browser SDK - Session recording is disabled');
28
64
  }
29
65
  }
30
66
  }
31
- else {
32
- console.warn('Coralogix Browser SDK - temporary session recording not work with only session with error mode');
33
- }
67
+ }
68
+ get isIdleActive() {
69
+ return this._isIdleActive;
34
70
  }
35
71
  get sessionConfig() {
36
72
  return this._sessionConfig;
@@ -41,6 +77,9 @@ export class SessionManager {
41
77
  get maxRumEventsForSessionWithError() {
42
78
  return this._sessionConfig.onlyWithErrorConfig.maxRumEvents || 0;
43
79
  }
80
+ get maxRecordTimeForSessionWithError() {
81
+ return this._sessionConfig.onlyWithErrorConfig.maxRecordTime || 0;
82
+ }
44
83
  get instrumentationsToSend() {
45
84
  return this._sessionConfig.onlyWithErrorConfig.instrumentationsToSend;
46
85
  }
@@ -70,24 +109,6 @@ export class SessionManager {
70
109
  stop() {
71
110
  this.idle.stop();
72
111
  }
73
- getPrevSession() {
74
- return JSON.parse(window.sessionStorage.getItem(PREV_SESSION_KEY));
75
- }
76
- getSession() {
77
- const storedSession = JSON.parse(window.sessionStorage.getItem(SESSION_KEY));
78
- const now = getNowTime();
79
- let session;
80
- if (storedSession) {
81
- if (storedSession.sessionExpirationDate > now) {
82
- session = storedSession;
83
- }
84
- else {
85
- this.clearSessionWhenIdle();
86
- session = this.setSession(true);
87
- }
88
- }
89
- return session;
90
- }
91
112
  clearSessionWhenIdle() {
92
113
  var _a;
93
114
  if ((_a = this.sessionRecorder) === null || _a === void 0 ? void 0 : _a.getSessionHasRecording()) {
@@ -103,15 +124,15 @@ export class SessionManager {
103
124
  return;
104
125
  }
105
126
  this.idle = new IdleJs({
106
- idle: SESSION_IDLE_TIME_IN_MINUTES * miillisecondsInSecond * 60,
107
- events: ['mousemove', 'keydown', 'mousedown', 'touchstart'],
127
+ idle: SESSION_IDLE_TIME_IN_MINUTES * millisecondsPerMinute,
128
+ events: ['mousemove', 'keydown', 'touchstart'],
108
129
  onIdle: () => {
109
130
  this.clearSessionWhenIdle();
110
- this.isIdleActive = true;
131
+ this._isIdleActive = true;
111
132
  },
112
133
  onActive: () => {
113
134
  this.setSession(true);
114
- this.isIdleActive = false;
135
+ this._isIdleActive = false;
115
136
  },
116
137
  // onHide: () => {}, // callback function to be executed when window become hidden
117
138
  // onShow: () => {}, // callback function to be executed when window become visible
@@ -120,39 +141,16 @@ export class SessionManager {
120
141
  });
121
142
  }
122
143
  clearSession() {
123
- var _a, _b;
144
+ var _a, _b, _c;
124
145
  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() })));
125
146
  this.clearSessionWithErrorMode();
126
- (_b = this.sessionRecorder) === null || _b === void 0 ? void 0 : _b.stopRecording();
147
+ (_b = getSnapshotManager()) === null || _b === void 0 ? void 0 : _b.resetSnapshot();
148
+ (_c = this.sessionRecorder) === null || _c === void 0 ? void 0 : _c.stopRecording();
127
149
  window.sessionStorage.removeItem(SESSION_KEY);
128
150
  }
129
151
  clearSessionWithErrorMode() {
130
152
  this.sessionHasError = false;
131
153
  this.cachedLogsSent = false;
132
154
  }
133
- setSession(afterIdle = false, sessionId) {
134
- var _a, _b;
135
- const now = getNowTime();
136
- const expirationDate = now + MILLISECONDS_PER_HOUR * SESSION_EXPIRATION_IN_HOURS;
137
- const session = {
138
- sessionId: sessionId || uuidv4(),
139
- sessionCreationDate: now,
140
- sessionExpirationDate: expirationDate,
141
- };
142
- this.activeSession = session;
143
- window.sessionStorage.setItem(SESSION_KEY, JSON.stringify(session));
144
- const sessionRecorder = getSessionRecorder();
145
- const shouldStartRecordingAfterIdle = afterIdle &&
146
- !!(sessionRecorder === null || sessionRecorder === void 0 ? void 0 : sessionRecorder.recordingStopDueToTimeout) &&
147
- !!((_a = this.sessionRecorderConfig) === null || _a === void 0 ? void 0 : _a.enable);
148
- if (shouldStartRecordingAfterIdle ||
149
- (sessionRecorder === null || sessionRecorder === void 0 ? void 0 : sessionRecorder.getIsAutoStartRecording())) {
150
- (_b = this.sessionRecorder) === null || _b === void 0 ? void 0 : _b.startRecording();
151
- }
152
- return session;
153
- }
154
- getIsIdleActive() {
155
- return this.isIdleActive;
156
- }
157
155
  }
158
156
  //# sourceMappingURL=sessionManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessionManager.js","sourceRoot":"","sources":["../../../../../libs/browser/src/session/sessionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionManager.js","sourceRoot":"","sources":["../../../../../libs/browser/src/session/sessionManager.ts"],"names":[],"mappings":"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"}