@coralogix/browser 1.0.81 → 1.0.86

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 (33) hide show
  1. package/package.json +1 -1
  2. package/src/CoralogixExporter.d.ts +1 -0
  3. package/src/CoralogixExporter.js +20 -7
  4. package/src/CoralogixExporter.js.map +1 -1
  5. package/src/constants.d.ts +1 -0
  6. package/src/constants.js +5 -1
  7. package/src/constants.js.map +1 -1
  8. package/src/instrumentations/CoralogixLongTaskInstrumentation.d.ts +0 -2
  9. package/src/instrumentations/CoralogixLongTaskInstrumentation.js +3 -12
  10. package/src/instrumentations/CoralogixLongTaskInstrumentation.js.map +1 -1
  11. package/src/instrumentations/CoralogixResourcesInstrumentation.js +3 -3
  12. package/src/instrumentations/CoralogixResourcesInstrumentation.js.map +1 -1
  13. package/src/instrumentations/CoralogixWebVitalsInstrumentation.d.ts +0 -2
  14. package/src/instrumentations/CoralogixWebVitalsInstrumentation.js +28 -42
  15. package/src/instrumentations/CoralogixWebVitalsInstrumentation.js.map +1 -1
  16. package/src/label-providers/url-based-label-provider.js +8 -7
  17. package/src/label-providers/url-based-label-provider.js.map +1 -1
  18. package/src/session/session.consts.d.ts +2 -0
  19. package/src/session/session.consts.js +2 -0
  20. package/src/session/session.consts.js.map +1 -1
  21. package/src/session/session.model.d.ts +2 -0
  22. package/src/session/sessionManager.d.ts +4 -2
  23. package/src/session/sessionManager.js +28 -11
  24. package/src/session/sessionManager.js.map +1 -1
  25. package/src/session/sessionRecorder.d.ts +3 -0
  26. package/src/session/sessionRecorder.js +32 -14
  27. package/src/session/sessionRecorder.js.map +1 -1
  28. package/src/types.d.ts +2 -1
  29. package/src/types.js.map +1 -1
  30. package/src/version.d.ts +1 -1
  31. package/src/version.js +1 -1
  32. package/src/workers/session-recording-worker.js +7 -3
  33. package/src/workers/session-recording-worker.js.map +1 -1
@@ -5,11 +5,12 @@ import { SessionRecorder } from './sessionRecorder';
5
5
  import { getNowTime, getSdkConfig, getSessionRecorder } from '../helpers';
6
6
  import { reportInternalEvent } from '../internal-event-reporter';
7
7
  import { isSamplingOn } from '../utils';
8
+ import { PREV_SESSION_KEY, SESSION_KEY } from './session.consts';
8
9
  export class SessionManager {
9
10
  constructor(recordConfig) {
10
- this.sessionKey = 'rum_session';
11
11
  this.initIdle();
12
12
  window[SESSION_MANAGER_KEY] = this;
13
+ this.sessionRecorderConfig = recordConfig;
13
14
  if (recordConfig === null || recordConfig === void 0 ? void 0 : recordConfig.enable) {
14
15
  const recordingSamplingEnabled = isSamplingOn(recordConfig.sessionRecordingSampleRate);
15
16
  if (recordingSamplingEnabled) {
@@ -23,7 +24,7 @@ export class SessionManager {
23
24
  }
24
25
  }
25
26
  getSessionKey() {
26
- return this.sessionKey;
27
+ return SESSION_KEY;
27
28
  }
28
29
  getActiveSession() {
29
30
  return this.activeSession;
@@ -35,8 +36,11 @@ export class SessionManager {
35
36
  stop() {
36
37
  this.idle.stop();
37
38
  }
39
+ getPrevSession() {
40
+ return JSON.parse(window.sessionStorage.getItem(PREV_SESSION_KEY));
41
+ }
38
42
  getSession() {
39
- const storedSession = JSON.parse(window.sessionStorage.getItem(this.sessionKey));
43
+ const storedSession = JSON.parse(window.sessionStorage.getItem(SESSION_KEY));
40
44
  const now = getNowTime();
41
45
  let session;
42
46
  if (storedSession) {
@@ -44,12 +48,19 @@ export class SessionManager {
44
48
  session = storedSession;
45
49
  }
46
50
  else {
47
- this.clearSession();
48
- session = this.setSession();
51
+ this.clearSessionWhenIdle();
52
+ session = this.setSession(true);
49
53
  }
50
54
  }
51
55
  return session;
52
56
  }
57
+ clearSessionWhenIdle() {
58
+ var _a;
59
+ if ((_a = this.sessionRecorder) === null || _a === void 0 ? void 0 : _a.getSessionHasRecording()) {
60
+ this.sessionRecorder.recordingStopDueToTimeout = true;
61
+ }
62
+ this.clearSession();
63
+ }
53
64
  initIdle() {
54
65
  if (this.idle) {
55
66
  return;
@@ -58,10 +69,10 @@ export class SessionManager {
58
69
  idle: SESSION_IDLE_TIME_IN_MINUTES * miillisecondsInSecond * 60,
59
70
  events: ['mousemove', 'keydown', 'mousedown', 'touchstart'],
60
71
  onIdle: () => {
61
- this.clearSession();
72
+ this.clearSessionWhenIdle();
62
73
  },
63
74
  onActive: () => {
64
- this.setSession();
75
+ this.setSession(true);
65
76
  },
66
77
  // onHide: () => {}, // callback function to be executed when window become hidden
67
78
  // onShow: () => {}, // callback function to be executed when window become visible
@@ -71,11 +82,12 @@ export class SessionManager {
71
82
  }
72
83
  clearSession() {
73
84
  var _a;
85
+ window.sessionStorage.setItem(PREV_SESSION_KEY, JSON.stringify(this.activeSession));
74
86
  (_a = this.sessionRecorder) === null || _a === void 0 ? void 0 : _a.stopRecording();
75
- window.sessionStorage.removeItem(this.sessionKey);
87
+ window.sessionStorage.removeItem(SESSION_KEY);
76
88
  reportInternalEvent('session-end');
77
89
  }
78
- setSession(sessionId) {
90
+ setSession(afterIdle = false, sessionId) {
79
91
  var _a, _b;
80
92
  const now = getNowTime();
81
93
  const expirationDate = now + MILLISECONDS_PER_HOUR * SESSION_EXPIRATION_IN_HOURS;
@@ -85,8 +97,13 @@ export class SessionManager {
85
97
  sessionExpirationDate: expirationDate,
86
98
  };
87
99
  this.activeSession = session;
88
- window.sessionStorage.setItem(this.sessionKey, JSON.stringify(session));
89
- if ((_a = getSessionRecorder()) === null || _a === void 0 ? void 0 : _a.getIsAutoStartRecording()) {
100
+ window.sessionStorage.setItem(SESSION_KEY, JSON.stringify(session));
101
+ const sessionRecorder = getSessionRecorder();
102
+ const shouldStartRecordingAfterIdle = afterIdle &&
103
+ !!(sessionRecorder === null || sessionRecorder === void 0 ? void 0 : sessionRecorder.recordingStopDueToTimeout) &&
104
+ !!((_a = this.sessionRecorderConfig) === null || _a === void 0 ? void 0 : _a.enable);
105
+ if (shouldStartRecordingAfterIdle ||
106
+ (sessionRecorder === null || sessionRecorder === void 0 ? void 0 : sessionRecorder.getIsAutoStartRecording())) {
90
107
  (_b = this.sessionRecorder) === null || _b === void 0 ? void 0 : _b.startRecording();
91
108
  }
92
109
  return session;
@@ -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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"}
@@ -15,9 +15,12 @@ export declare class SessionRecorder {
15
15
  private batchTimeout;
16
16
  private isErrorOccurred;
17
17
  private debugMode;
18
+ private _recordingStopDueToTimeout;
18
19
  constructor(sessionManager: SessionManager, recordConfig: SessionRecordingConfig);
19
20
  getSessionHasRecording(): boolean;
20
21
  getIsAutoStartRecording(): boolean;
22
+ set recordingStopDueToTimeout(value: boolean);
23
+ get recordingStopDueToTimeout(): boolean;
21
24
  startRecording(): void;
22
25
  stopRecording(): void;
23
26
  private clearIntervals;
@@ -10,12 +10,13 @@ export class SessionRecorder {
10
10
  var _a;
11
11
  this.isAutoStartRecording = false;
12
12
  this.recordEvents = [];
13
- this.segmentIndexCounter = 0;
13
+ this.segmentIndexCounter = {};
14
14
  this.hasRecording = false;
15
15
  this.recordingStopped = false;
16
16
  this.batchTimeDelay = BATCH_TIME_DELAY;
17
17
  this.isErrorOccurred = false;
18
18
  this.debugMode = !!((_a = getSdkConfig()) === null || _a === void 0 ? void 0 : _a.debug);
19
+ this._recordingStopDueToTimeout = false;
19
20
  this.handleRecordEvent = (event) => {
20
21
  if (!this.recordingStopped) {
21
22
  this.recordEvents.push(event);
@@ -25,32 +26,37 @@ export class SessionRecorder {
25
26
  if (!this.recordEvents.length) {
26
27
  return;
27
28
  }
29
+ const { sessionId, sessionCreationDate } = this.sessionManager.getActiveSession() || {};
28
30
  this.sessionWorker.postMessage({
29
31
  event: 'compressRecordData',
30
32
  records: this.recordEvents,
33
+ sessionId,
34
+ sessionCreationDate,
31
35
  });
32
36
  this.resetBatching();
33
37
  };
34
- this.sendRecordEvents = (data, chunkIndex, totalChunks, dataSplit) => {
38
+ this.sendRecordEvents = (sessionId, sessionCreationTime, data, chunkIndex, totalChunks, dataSplit) => {
35
39
  const formData = new FormData();
36
- const { sessionId, sessionCreationDate } = this.sessionManager.getActiveSession() || {};
37
40
  const { application, public_key, coralogixDomain } = getSdkConfig();
38
41
  const baseUrl = CoralogixDomainsApiUrlMap[coralogixDomain];
39
42
  const fullUrl = `${baseUrl}/${SESSION_RECORDING_POSTFIX_URL}`;
40
43
  let segmentIndex;
44
+ if (!this.segmentIndexCounter[sessionId]) {
45
+ this.segmentIndexCounter[sessionId] = 0;
46
+ }
41
47
  if (dataSplit) {
42
48
  segmentIndex =
43
49
  chunkIndex === totalChunks
44
- ? this.segmentIndexCounter++
45
- : this.segmentIndexCounter;
50
+ ? this.segmentIndexCounter[sessionId]++
51
+ : this.segmentIndexCounter[sessionId];
46
52
  }
47
53
  else {
48
- segmentIndex = this.segmentIndexCounter++;
54
+ segmentIndex = this.segmentIndexCounter[sessionId]++;
49
55
  }
50
56
  const metaData = {
51
57
  segmentIndex,
52
58
  segmentTimestamp: getNowTime(),
53
- sessionCreationTime: sessionCreationDate,
59
+ sessionCreationTime,
54
60
  sessionId,
55
61
  application,
56
62
  subIndex: chunkIndex !== null && chunkIndex !== void 0 ? chunkIndex : -1,
@@ -91,21 +97,31 @@ export class SessionRecorder {
91
97
  this.registerToWorkerMessages();
92
98
  }
93
99
  catch (err) {
94
- // todo:warp with debug flag
95
- console.warn('Coralogix Browser SDK - Web worker not created due to: ', err);
100
+ if (this.debugMode) {
101
+ console.warn('Coralogix Browser SDK - Web worker not created due to: ', err);
102
+ }
96
103
  }
97
104
  }
98
105
  else {
99
- // todo:warp with debug flag
100
- console.warn(SESSION_RECORDING_DEFAULT_ERROR_MESSAGE);
106
+ if (this.debugMode) {
107
+ console.warn(SESSION_RECORDING_DEFAULT_ERROR_MESSAGE);
108
+ }
101
109
  }
102
110
  }
103
111
  getSessionHasRecording() {
104
- return this.hasRecording;
112
+ var _a;
113
+ return (this.hasRecording &&
114
+ !!this.segmentIndexCounter[(_a = this.sessionManager.getActiveSession()) === null || _a === void 0 ? void 0 : _a.sessionId]);
105
115
  }
106
116
  getIsAutoStartRecording() {
107
117
  return this.isAutoStartRecording;
108
118
  }
119
+ set recordingStopDueToTimeout(value) {
120
+ this._recordingStopDueToTimeout = value;
121
+ }
122
+ get recordingStopDueToTimeout() {
123
+ return this._recordingStopDueToTimeout;
124
+ }
109
125
  startRecording() {
110
126
  if (this.recordRef) {
111
127
  return;
@@ -117,6 +133,7 @@ export class SessionRecorder {
117
133
  this.hasRecording = true;
118
134
  this.recordingStopped = false;
119
135
  this.isErrorOccurred = false;
136
+ this.recordingStopDueToTimeout = false;
120
137
  this.recordRef = record(this.recordConfig);
121
138
  this.startBatchingRecords();
122
139
  reportInternalEvent('recording-start');
@@ -131,6 +148,7 @@ export class SessionRecorder {
131
148
  this.recordRef();
132
149
  this.recordRef = undefined;
133
150
  this.recordingStopped = true;
151
+ this.hasRecording = false;
134
152
  this.prepareRecordEventsBeforeSend();
135
153
  this.clearIntervals();
136
154
  reportInternalEvent('recording-stop');
@@ -150,10 +168,10 @@ export class SessionRecorder {
150
168
  this.sessionWorker.onmessage = ({ data, }) => {
151
169
  switch (data.event) {
152
170
  case 'sendRecordData':
153
- this.sendRecordEvents(data.gzipBlob);
171
+ this.sendRecordEvents(data.sessionId, data.sessionCreationDate, data.gzipBlob);
154
172
  break;
155
173
  case 'splitRecordData':
156
- this.sendRecordEvents(data.gzipBlob, data.chunkIndex, data.totalChunks, true);
174
+ this.sendRecordEvents(data.sessionId, data.sessionCreationDate, data.gzipBlob, data.chunkIndex, data.totalChunks, true);
157
175
  break;
158
176
  }
159
177
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sessionRecorder.js","sourceRoot":"","sources":["../../../../../libs/browser/src/session/sessionRecorder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionRecorder.js","sourceRoot":"","sources":["../../../../../libs/browser/src/session/sessionRecorder.ts"],"names":[],"mappings":"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"}
package/src/types.d.ts CHANGED
@@ -194,7 +194,6 @@ export interface InteractionContext {
194
194
  }
195
195
  export interface LongTaskContext extends Omit<PerformanceEntry, 'toJSON'> {
196
196
  id: string;
197
- type: 'regular' | 'after_page_loaded';
198
197
  }
199
198
  export interface WebVitalsContext extends Metric {
200
199
  }
@@ -217,6 +216,8 @@ export interface EventTypeContext {
217
216
  export interface SessionContext {
218
217
  session_id: string;
219
218
  session_creation_date: number;
219
+ prev_session_id?: string;
220
+ prev_session_creation_date?: number;
220
221
  user_agent: string;
221
222
  user_id: string;
222
223
  user_name?: string;
package/src/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../libs/browser/src/types.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAN,IAAY,kBASX;AATD,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,yDAAmC,CAAA;IACnC,iCAAW,CAAA;IACX,2DAAqC,CAAA;IACrC,+CAAyB,CAAA;IACzB,4CAAsB,CAAA;IACtB,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;AACvB,CAAC,EATW,kBAAkB,KAAlB,kBAAkB,QAS7B;AAED,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,yCAAqB,CAAA;IACrB,yCAAqB,CAAA;IACrB,6CAAyB,CAAA;AAC3B,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAiUD,MAAM,CAAN,IAAY,gBAQX;AARD,WAAY,gBAAgB;IAC1B,0CAAsB,CAAA;IACtB,oCAAgB,CAAA;IAChB,oDAAgC,CAAA;IAChC,sCAAkB,CAAA;IAClB,0CAAsB,CAAA;IACtB,oDAAgC,CAAA;IAChC,4EAAwD,CAAA;AAC1D,CAAC,EARW,gBAAgB,KAAhB,gBAAgB,QAQ3B;AAsBD,MAAM,CAAN,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,wBAAa,CAAA;IACb,8CAAmC,CAAA;AACrC,CAAC,EAHW,OAAO,KAAP,OAAO,QAGlB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../libs/browser/src/types.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAN,IAAY,kBASX;AATD,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,yDAAmC,CAAA;IACnC,iCAAW,CAAA;IACX,2DAAqC,CAAA;IACrC,+CAAyB,CAAA;IACzB,4CAAsB,CAAA;IACtB,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;AACvB,CAAC,EATW,kBAAkB,KAAlB,kBAAkB,QAS7B;AAED,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,yCAAqB,CAAA;IACrB,yCAAqB,CAAA;IACrB,6CAAyB,CAAA;AAC3B,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAkUD,MAAM,CAAN,IAAY,gBAQX;AARD,WAAY,gBAAgB;IAC1B,0CAAsB,CAAA;IACtB,oCAAgB,CAAA;IAChB,oDAAgC,CAAA;IAChC,sCAAkB,CAAA;IAClB,0CAAsB,CAAA;IACtB,oDAAgC,CAAA;IAChC,4EAAwD,CAAA;AAC1D,CAAC,EARW,gBAAgB,KAAhB,gBAAgB,QAQ3B;AAsBD,MAAM,CAAN,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,wBAAa,CAAA;IACb,8CAAmC,CAAA;AACrC,CAAC,EAHW,OAAO,KAAP,OAAO,QAGlB"}
package/src/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "1.0.81";
1
+ export declare const SDK_VERSION = "1.0.86";
package/src/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const SDK_VERSION = '1.0.81';
1
+ export const SDK_VERSION = '1.0.86';
2
2
  //# sourceMappingURL=version.js.map
@@ -3692,6 +3692,8 @@ export function getWorkerString() {
3692
3692
  });
3693
3693
  self.onmessage = ({ data }) => {
3694
3694
  const recordsData = omitSquareBrackets(JSON.stringify(data.records));
3695
+ const sessionId = data.sessionId;
3696
+ const sessionCreationDate = data.sessionCreationDate;
3695
3697
  const gzipData = coralogixGzipFunc(recordsData);
3696
3698
  const gzipSize = gzipData.byteLength;
3697
3699
  if (gzipSize >= MAX_CHUNK_SIZE) {
@@ -3700,11 +3702,11 @@ export function getWorkerString() {
3700
3702
  const start = i * MAX_CHUNK_SIZE;
3701
3703
  const end = (i + 1) * MAX_CHUNK_SIZE;
3702
3704
  const chunk = gzipData.slice(start, end);
3703
- createBlobAndSend(chunk, i, totalChunks - 1, 'splitRecordData');
3705
+ createBlobAndSend(sessionId, sessionCreationDate, chunk, i, totalChunks - 1, 'splitRecordData');
3704
3706
  }
3705
3707
  }
3706
3708
  else {
3707
- createBlobAndSend(gzipData);
3709
+ createBlobAndSend(sessionId, sessionCreationDate, gzipData);
3708
3710
  }
3709
3711
  };
3710
3712
  self.onerror = (err) => {
@@ -3714,11 +3716,13 @@ export function getWorkerString() {
3714
3716
  function omitSquareBrackets(json) {
3715
3717
  return json.slice(1, -1);
3716
3718
  }
3717
- function createBlobAndSend(gzipData, chunkIndex, totalChunks, event = 'sendRecordData') {
3719
+ function createBlobAndSend(sessionId, sessionCreationDate, gzipData, chunkIndex, totalChunks, event = 'sendRecordData') {
3718
3720
  const blob = new Blob([gzipData], {
3719
3721
  type: 'application/octet-stream',
3720
3722
  });
3721
3723
  self.postMessage({
3724
+ sessionId,
3725
+ sessionCreationDate,
3722
3726
  gzipBlob: blob,
3723
3727
  chunkIndex,
3724
3728
  totalChunks,