@coralogix/browser 1.2.0 → 1.2.2
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.
- package/README.md +78 -59
- package/package.json +1 -2
- package/src/instrumentations/CoralogixLongTaskInstrumentation.js +2 -3
- package/src/instrumentations/CoralogixLongTaskInstrumentation.js.map +1 -1
- package/src/propagators.js +8 -4
- package/src/propagators.js.map +1 -1
- package/src/session/sessionManager.js +2 -2
- package/src/session/sessionManager.js.map +1 -1
- package/src/utils/string.d.ts +5 -0
- package/src/utils/string.js +9 -0
- package/src/utils/string.js.map +1 -1
- package/src/version.d.ts +1 -1
- package/src/version.js +1 -1
package/README.md
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
- [Coralogix Real User Monitoring](https://coralogix.com/docs/real-user-monitoring/)
|
|
8
8
|
|
|
9
9
|
## Supported Frameworks
|
|
10
|
+
|
|
10
11
|
JavaScript / TypeScript Frameworks: React, Angular, Vue, NextJS and more.<br>
|
|
11
12
|
Flutter (Currently only web).
|
|
12
13
|
|
|
@@ -15,7 +16,6 @@ Flutter (Currently only web).
|
|
|
15
16
|
To use Coralogix SDK for Browsers, call `CoralogixRum.init(options)` at the soonest available moment after the page load.
|
|
16
17
|
This will initialize the SDK based on the options you provided.
|
|
17
18
|
|
|
18
|
-
|
|
19
19
|
```javascript
|
|
20
20
|
import { CoralogixRum } from '@coralogix/browser';
|
|
21
21
|
|
|
@@ -29,7 +29,7 @@ CoralogixRum.init({
|
|
|
29
29
|
payment: 'visa',
|
|
30
30
|
},
|
|
31
31
|
ignoreErrors: ['some error message to ignore'],
|
|
32
|
-
sessionConfig:{
|
|
32
|
+
sessionConfig: {
|
|
33
33
|
sessionSampleRate: 100, // Percentage of overall sessions being tracked, defaults to 100%
|
|
34
34
|
},
|
|
35
35
|
});
|
|
@@ -37,7 +37,7 @@ CoralogixRum.init({
|
|
|
37
37
|
|
|
38
38
|
More properties: `instrumentations`, `traceParentInHeader`, `ignoreUrls`, `debug`, `urlBlueprinters`, `beforeSend`, `proxyUrl`
|
|
39
39
|
|
|
40
|
-
To provide contextual information or transmit manual logs, utilize the exported functions of `CoralogixRum`.
|
|
40
|
+
To provide contextual information or transmit manual logs, utilize the exported functions of `CoralogixRum`.
|
|
41
41
|
Keep in mind that these functions will remain inactive until you've invoked `CoralogixRum.init()`.
|
|
42
42
|
|
|
43
43
|
```javascript
|
|
@@ -51,8 +51,8 @@ CoralogixRum.setUserContext({
|
|
|
51
51
|
user_metadata: {
|
|
52
52
|
role: 'admin',
|
|
53
53
|
// ...
|
|
54
|
-
}
|
|
55
|
-
})
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
56
|
|
|
57
57
|
// Update custom labels dynamically
|
|
58
58
|
CoralogixRum.setLabels({
|
|
@@ -65,14 +65,15 @@ CoralogixRum.setLabels({
|
|
|
65
65
|
// Update application context dynamically
|
|
66
66
|
CoralogixRum.setApplicationContext({
|
|
67
67
|
application: 'app-name',
|
|
68
|
-
version: '1.0.0'
|
|
69
|
-
})
|
|
68
|
+
version: '1.0.0',
|
|
69
|
+
});
|
|
70
70
|
|
|
71
|
-
CoralogixRum.log(CoralogixLogSeverity.Error, 'this is a log', { key: 'value' })
|
|
72
|
-
CoralogixRum.error('this is a log with error severity', { key: 'value' })
|
|
71
|
+
CoralogixRum.log(CoralogixLogSeverity.Error, 'this is a log', { key: 'value' });
|
|
72
|
+
CoralogixRum.error('this is a log with error severity', { key: 'value' });
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
### Instrumentation's
|
|
76
|
+
|
|
76
77
|
Turn on/off specific instrumentation, default to all trues.
|
|
77
78
|
Each instrumentation is responsible for which data the SDK will track and collect for you.
|
|
78
79
|
|
|
@@ -88,11 +89,12 @@ CoralogixRum.init({
|
|
|
88
89
|
errors: true,
|
|
89
90
|
long_tasks: true,
|
|
90
91
|
resources: false,
|
|
91
|
-
}
|
|
92
|
+
},
|
|
92
93
|
});
|
|
93
|
-
|
|
94
|
+
```
|
|
94
95
|
|
|
95
96
|
### Session Recording
|
|
97
|
+
|
|
96
98
|
Session Recording enhances your user experience monitoring by enabling you to record and visually replay the web browsing activities of your users.
|
|
97
99
|
|
|
98
100
|
```javascript
|
|
@@ -112,7 +114,9 @@ CoralogixRum.init({
|
|
|
112
114
|
```
|
|
113
115
|
|
|
114
116
|
#### Recording Manually
|
|
117
|
+
|
|
115
118
|
You can always start/stop your session recording manually as follows:
|
|
119
|
+
|
|
116
120
|
```javascript
|
|
117
121
|
// To start manually the Session Recording
|
|
118
122
|
CoralogixRum.startSessionRecording();
|
|
@@ -122,6 +126,7 @@ CoralogixRum.stopSessionRecording();
|
|
|
122
126
|
```
|
|
123
127
|
|
|
124
128
|
#### Privacy & Security
|
|
129
|
+
|
|
125
130
|
To protect your users’ privacy and sensitive information, elements containing certain class names are blocked or masked in recordings, as follows:
|
|
126
131
|
|
|
127
132
|
```javascript
|
|
@@ -133,44 +138,48 @@ CoralogixRum.init({
|
|
|
133
138
|
ignoreClass: 'rr-ignore', // Use a string or RegExp to Ignore all events that contain this class, defaults to rr-ignore.
|
|
134
139
|
maskTextClass: 'rr-mask', // Use a string or RegExp to mask all elements that contain this class, defaults to rr-mask.
|
|
135
140
|
maskAllInputs: false, // Mask all input content as * (Default false), refer to Input types.
|
|
136
|
-
maskInputOptions: { password:true } // Mask some kinds of input as *, By Default the SDK masking password inputs.
|
|
141
|
+
maskInputOptions: { password: true }, // Mask some kinds of input as *, By Default the SDK masking password inputs.
|
|
137
142
|
},
|
|
138
143
|
});
|
|
139
144
|
```
|
|
145
|
+
|
|
140
146
|
Example:
|
|
147
|
+
|
|
141
148
|
```html
|
|
142
149
|
<div class="rr-block">Dont record me</div>
|
|
143
150
|
```
|
|
144
151
|
|
|
145
|
-
|
|
146
|
-
|
|
|
147
|
-
|
|
|
148
|
-
| .rr-
|
|
149
|
-
| .rr-
|
|
150
|
-
| .rr-mask | All text of elements and their children will be masked. |
|
|
152
|
+
| Element | Action |
|
|
153
|
+
| ---------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
|
154
|
+
| .rr-block | An element with the class name .rr-block will not be recorded. Instead, it will replay as a placeholder with the same dimension. |
|
|
155
|
+
| .rr-ignore | An element with the class name .rr-ignore will not record its input events |
|
|
156
|
+
| .rr-mask | All text of elements and their children will be masked. |
|
|
151
157
|
|
|
152
158
|
#### Performance
|
|
159
|
+
|
|
153
160
|
Session Recording works by recording incremental DOM changes that occur in your web application.
|
|
154
161
|
To avoid performance issues, Session Recording will stop recording if it detects a large number of mutations (Default: 5,000).
|
|
162
|
+
|
|
155
163
|
```javascript
|
|
156
164
|
CoralogixRum.init({
|
|
157
165
|
// ...
|
|
158
166
|
sessionRecordingConfig: {
|
|
159
167
|
// ...
|
|
160
168
|
// According to MutationObserver API, A large number of DOM mutations can negatively impact performance
|
|
161
|
-
maxMutations: 5000
|
|
169
|
+
maxMutations: 5000,
|
|
162
170
|
},
|
|
163
171
|
});
|
|
164
172
|
```
|
|
165
173
|
|
|
166
174
|
### Session with Errors
|
|
175
|
+
|
|
167
176
|
Track only sessions with errors, and send specific instrumentation data immediately even if error is not occurred.
|
|
168
177
|
From Session recording perspective, the SDK will record approximately 10–60s(according to maxRecordTime property) before the error occurred.
|
|
169
178
|
|
|
170
179
|
```javascript
|
|
171
180
|
CoralogixRum.init({
|
|
172
181
|
// ...
|
|
173
|
-
sessionConfig:{
|
|
182
|
+
sessionConfig: {
|
|
174
183
|
onlyWithErrorConfig: {
|
|
175
184
|
enable: true, // Whether to track only sessions with errors, defaults to false
|
|
176
185
|
maxRumEvents: 5000, // Maximum number of cached RUM events to store in cache up until error is coming, defaults to 5000, max 20000
|
|
@@ -180,18 +189,19 @@ CoralogixRum.init({
|
|
|
180
189
|
* The instrumentation data will only be sent if it is enabled in the main configuration.
|
|
181
190
|
* This data will be sent immediately, even if no error has occurred.
|
|
182
191
|
*/
|
|
183
|
-
instrumentationsToSend:{
|
|
192
|
+
instrumentationsToSend: {
|
|
184
193
|
[CoralogixEventType.WEB_VITALS]: true,
|
|
185
194
|
// more instrumentation's can be added
|
|
186
195
|
// [CoralogixEventType.LONG_TASK]: true,
|
|
187
196
|
//...
|
|
188
|
-
}
|
|
189
|
-
}
|
|
197
|
+
},
|
|
198
|
+
},
|
|
190
199
|
},
|
|
191
200
|
});
|
|
192
|
-
|
|
201
|
+
```
|
|
193
202
|
|
|
194
203
|
### Ignore Errors
|
|
204
|
+
|
|
195
205
|
The ignoreErrors option allows you to exclude errors that meet specific criteria.
|
|
196
206
|
This options accepts a set of strings and regular expressions to match against the event's error message.
|
|
197
207
|
Use regular expressions for exact matching as strings remove partial matches.
|
|
@@ -206,6 +216,7 @@ CoralogixRum.init({
|
|
|
206
216
|
```
|
|
207
217
|
|
|
208
218
|
### Mask elements
|
|
219
|
+
|
|
209
220
|
User interactions with specific elements can be masked to prevent sensitive data exposure.
|
|
210
221
|
<br>use `maskInputTypes` to specify the types of inputs to mask. defaults to: `['password', 'email', 'tel']`
|
|
211
222
|
<br>use `maskClass` to specify the class name that will be used to mask any element, string or RegExp. default is `cx-mask`.
|
|
@@ -214,12 +225,12 @@ User interactions with specific elements can be masked to prevent sensitive data
|
|
|
214
225
|
CoralogixRum.init({
|
|
215
226
|
// ...
|
|
216
227
|
maskInputTypes: ['password', 'date'], // will only mask password and date inputs
|
|
217
|
-
maskClass: 'mask-me' // will mask any element with class 'mask-me'
|
|
228
|
+
maskClass: 'mask-me', // will mask any element with class 'mask-me'
|
|
218
229
|
});
|
|
219
230
|
```
|
|
220
231
|
|
|
221
|
-
|
|
222
232
|
### Label Providers
|
|
233
|
+
|
|
223
234
|
Provide labels based on url or event
|
|
224
235
|
|
|
225
236
|
```javascript
|
|
@@ -252,15 +263,14 @@ const regularExpErrorLabelProvider: GenericLabelProvider = {
|
|
|
252
263
|
|
|
253
264
|
CoralogixRum.init({
|
|
254
265
|
// ...
|
|
255
|
-
labelProviders: [
|
|
256
|
-
featurePageUrlLabelProvider,
|
|
257
|
-
regularExpErrorLabelProvider
|
|
258
|
-
]
|
|
266
|
+
labelProviders: [featurePageUrlLabelProvider, regularExpErrorLabelProvider],
|
|
259
267
|
});
|
|
260
268
|
```
|
|
261
269
|
|
|
262
270
|
### Url Blueprinters
|
|
271
|
+
|
|
263
272
|
Modify the event's page or network url based on custom-defined functions.
|
|
273
|
+
|
|
264
274
|
```javascript
|
|
265
275
|
import { CoralogixRum } from '@coralogix/browser';
|
|
266
276
|
|
|
@@ -275,13 +285,14 @@ CoralogixRum.init({
|
|
|
275
285
|
// "https://alpha.company.com" => "https://{team-id}.company.com"
|
|
276
286
|
},
|
|
277
287
|
],
|
|
278
|
-
networkUrlBlueprinters: [(url) => url.replace('api/v1', '{server}')]
|
|
288
|
+
networkUrlBlueprinters: [(url) => url.replace('api/v1', '{server}')],
|
|
279
289
|
// "https://path/api/v1/logs" => "https://path/{server}/logs"
|
|
280
290
|
},
|
|
281
291
|
});
|
|
282
292
|
```
|
|
283
293
|
|
|
284
294
|
### TraceParentInHeader
|
|
295
|
+
|
|
285
296
|
Add trace context propagation in headers across service boundaries
|
|
286
297
|
|
|
287
298
|
```javascript
|
|
@@ -292,19 +303,21 @@ CoralogixRum.init({
|
|
|
292
303
|
options: {
|
|
293
304
|
// When the backend domain is different from the app domain, specifying backend domains is necessary.
|
|
294
305
|
propagateTraceHeaderCorsUrls: [new RegExp('https://webapi.*')],
|
|
295
|
-
|
|
306
|
+
/* B3 propagation
|
|
296
307
|
propagateB3TraceHeader: {
|
|
297
308
|
singleHeader: true,
|
|
298
309
|
multiHeader: true,
|
|
299
|
-
},
|
|
300
|
-
|
|
310
|
+
}, */
|
|
311
|
+
/* Aws propagation
|
|
301
312
|
propagateAwsXrayTraceHeader: true,
|
|
313
|
+
*/
|
|
302
314
|
},
|
|
303
315
|
},
|
|
304
316
|
});
|
|
305
|
-
|
|
317
|
+
```
|
|
306
318
|
|
|
307
319
|
### beforeSend
|
|
320
|
+
|
|
308
321
|
Enable event access and modification before sending to Coralogix, supporting content modification, and event discarding.
|
|
309
322
|
|
|
310
323
|
```javascript
|
|
@@ -317,29 +330,28 @@ CoralogixRum.init({
|
|
|
317
330
|
}
|
|
318
331
|
|
|
319
332
|
// Redact sensitive information from the page URL.
|
|
320
|
-
event.page_context.page_url = event.page_context.page_url.replace(
|
|
321
|
-
'sensitive-info',
|
|
322
|
-
'redacted'
|
|
323
|
-
);
|
|
333
|
+
event.page_context.page_url = event.page_context.page_url.replace('sensitive-info', 'redacted');
|
|
324
334
|
|
|
325
335
|
return event;
|
|
326
336
|
},
|
|
327
337
|
});
|
|
328
|
-
|
|
338
|
+
```
|
|
329
339
|
|
|
330
340
|
### Proxy Url
|
|
341
|
+
|
|
331
342
|
Proxy configuration to route requests.
|
|
332
343
|
By specifying a proxy URL, all RUM data will be directed to this URL via the POST method.
|
|
333
344
|
However, it is necessary for this data to be subsequently relayed from the proxy to Coralogix.
|
|
334
345
|
The Coralogix route for each request that is sent to the proxy is available in the request’s cxforward parameter
|
|
335
346
|
(for example, https://www.your-proxy.com/endpoint?cxforward=https%3A%2F%2Fingress.eu1.rum-ingress-coralogix.com%2Fbrowser%2Fv1beta%2Flogs).
|
|
347
|
+
|
|
336
348
|
```javascript
|
|
337
349
|
CoralogixRum.init({
|
|
338
350
|
// ...
|
|
339
351
|
coralogixDomain: 'EU1',
|
|
340
|
-
proxyUrl: 'https://www.your-proxy.com/endpoint'
|
|
352
|
+
proxyUrl: 'https://www.your-proxy.com/endpoint',
|
|
341
353
|
});
|
|
342
|
-
|
|
354
|
+
```
|
|
343
355
|
|
|
344
356
|
## CDN
|
|
345
357
|
|
|
@@ -347,29 +359,33 @@ Coralogix Browser SDK is also provided via CDN.
|
|
|
347
359
|
You can choose a specific version or use the latest one.
|
|
348
360
|
|
|
349
361
|
#### Specific Version (recommended)
|
|
362
|
+
|
|
350
363
|
https://cdn.rum-ingress-coralogix.com/coralogix/browser/[version]/coralogix-browser-sdk.js \
|
|
351
364
|
Replace [version] with a version from [Releases page](https://www.npmjs.com/package/@coralogix/browser?activeTab=versions).
|
|
352
365
|
|
|
353
|
-
#### Latest Version
|
|
354
|
-
https://cdn.rum-ingress-coralogix.com/coralogix/browser/latest/coralogix-browser-sdk.js
|
|
366
|
+
#### Latest Version
|
|
355
367
|
|
|
368
|
+
https://cdn.rum-ingress-coralogix.com/coralogix/browser/latest/coralogix-browser-sdk.js
|
|
356
369
|
|
|
357
370
|
### Add the CDN script to your application
|
|
358
371
|
|
|
359
372
|
```javascript
|
|
360
373
|
<head>
|
|
361
374
|
...
|
|
362
|
-
<script src="https://cdn.rum-ingress-coralogix.com/coralogix/browser/1.0.101/coralogix-browser-sdk.js"></script>
|
|
375
|
+
<script src="https://cdn.rum-ingress-coralogix.com/coralogix/browser/1.0.101/coralogix-browser-sdk.js"></script>
|
|
363
376
|
</head>
|
|
364
|
-
|
|
365
377
|
```
|
|
366
378
|
|
|
367
379
|
### Initialization
|
|
380
|
+
|
|
368
381
|
#### Via JS file
|
|
382
|
+
|
|
369
383
|
```javascript
|
|
370
384
|
window.CoralogixRum.init(...);
|
|
371
385
|
```
|
|
386
|
+
|
|
372
387
|
#### Via TS file
|
|
388
|
+
|
|
373
389
|
```javascript
|
|
374
390
|
window.CoralogixRum.init(...);
|
|
375
391
|
|
|
@@ -382,29 +398,32 @@ declare global {
|
|
|
382
398
|
```
|
|
383
399
|
|
|
384
400
|
## Flutter web
|
|
401
|
+
|
|
385
402
|
Coralogix Browser SDK is also provided for Flutter web.
|
|
386
403
|
|
|
387
404
|
Add the following CDN to your `index.html` file:
|
|
405
|
+
|
|
388
406
|
```javascript
|
|
389
407
|
<script src="https://cdn.rum-ingress-coralogix.com/coralogix/browser/latest/coralogix-browser-sdk.js"></script>
|
|
390
408
|
```
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
409
|
+
|
|
410
|
+
Then, in your Dart code, you can use the SDK as follows:
|
|
411
|
+
|
|
412
|
+
```dart
|
|
413
|
+
import 'package:flutter/material.dart';
|
|
395
414
|
import 'dart:js' as js;
|
|
396
415
|
|
|
397
416
|
void main() {
|
|
398
|
-
|
|
417
|
+
runApp(const MyApp());
|
|
399
418
|
|
|
400
|
-
|
|
419
|
+
var rum = js.JsObject.fromBrowserObject(js.context['CoralogixRum']);
|
|
401
420
|
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
421
|
+
rum.callMethod('init', [js.JsObject.jsify({
|
|
422
|
+
environment: 'test',
|
|
423
|
+
application: 'my-app',
|
|
424
|
+
version: '1.0.0',
|
|
425
|
+
public_key: 'my-key-123',
|
|
426
|
+
coralogixDomain: 'EU2',
|
|
427
|
+
})]);
|
|
409
428
|
}
|
|
410
429
|
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coralogix/browser",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "Official Coralogix SDK for browsers",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"dependencies": {
|
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
"@rrweb/rrweb-plugin-console-record": "2.0.0-alpha.15",
|
|
21
21
|
"ts-node": "10.9.2",
|
|
22
22
|
"tslib": "2.6.3",
|
|
23
|
-
"uuid": "10.0.0",
|
|
24
23
|
"web-vitals": "4.2.1"
|
|
25
24
|
},
|
|
26
25
|
"devDependencies": {
|
|
@@ -2,8 +2,7 @@ import { InstrumentationBase, } from '@opentelemetry/instrumentation';
|
|
|
2
2
|
import { LONG_TASK_INSTRUMENTATION_VERSION, LONG_TASK_PERFORMANCE_TYPE, } from './instrumentation.consts';
|
|
3
3
|
import { CoralogixEventType, PerformanceTypes, } from '../types';
|
|
4
4
|
import { CoralogixAttributes } from '../constants';
|
|
5
|
-
import {
|
|
6
|
-
import { deepClone, supportedPerformanceTypes } from '../utils';
|
|
5
|
+
import { deepClone, generateUUID, supportedPerformanceTypes } from '../utils';
|
|
7
6
|
export class CoralogixLongTaskInstrumentation extends InstrumentationBase {
|
|
8
7
|
constructor(config) {
|
|
9
8
|
super(LONG_TASK_PERFORMANCE_TYPE, LONG_TASK_INSTRUMENTATION_VERSION, config);
|
|
@@ -27,7 +26,7 @@ export class CoralogixLongTaskInstrumentation extends InstrumentationBase {
|
|
|
27
26
|
}
|
|
28
27
|
createSpanFromLongTask(entry) {
|
|
29
28
|
const longTaskSpan = this.tracer.startSpan(CoralogixEventType.LONG_TASK);
|
|
30
|
-
const longTaskContext = Object.assign(Object.assign({}, deepClone(entry)), { id:
|
|
29
|
+
const longTaskContext = Object.assign(Object.assign({}, deepClone(entry)), { id: generateUUID() });
|
|
31
30
|
if (entry['toJSON']) {
|
|
32
31
|
delete longTaskContext['toJSON'];
|
|
33
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoralogixLongTaskInstrumentation.js","sourceRoot":"","sources":["../../../../../libs/browser/src/instrumentations/CoralogixLongTaskInstrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GAEpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iCAAiC,EACjC,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,kBAAkB,EAElB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"CoralogixLongTaskInstrumentation.js","sourceRoot":"","sources":["../../../../../libs/browser/src/instrumentations/CoralogixLongTaskInstrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GAEpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iCAAiC,EACjC,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,kBAAkB,EAElB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAE9E,MAAM,OAAO,gCAAiC,SAAQ,mBAAmB;IAGvE,YAAY,MAA6B;QACvC,KAAK,CACH,0BAA0B,EAC1B,iCAAiC,EACjC,MAAM,CACP,CAAC;QAEF,IAAI,yBAAyB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;YACxD,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;aAAM;YACL,OAAO,CAAC,IAAI,CACV,gEAAgE,CACjE,CAAC;SACH;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,gBAAgB,GAAG,IAAI,mBAAmB,CAC7C,CAAC,IAAkC,EAAE,EAAE;YACrC,IAAI;iBACD,UAAU,EAAE;iBACZ,OAAO,CAAC,CAAC,KAAuB,EAAE,EAAE,CACnC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CACnC,CAAC;QACN,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAC,KAAuB;QACpD,MAAM,YAAY,GAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAC9C,kBAAkB,CAAC,SAAS,CAC7B,CAAC;QAEF,MAAM,eAAe,mCAChB,SAAS,CAAC,KAAK,CAAC,KACnB,EAAE,EAAE,YAAY,EAAE,GACnB,CAAC;QAEF,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;YACnB,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC;SAClC;QAED,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE;YACxB,OAAO,eAAe,CAAC,aAAa,CAAC,CAAC;SACvC;QAED,YAAY,CAAC,YAAY,CACvB,mBAAmB,CAAC,UAAU,EAC9B,kBAAkB,CAAC,SAAS,CAC7B,CAAC;QAEF,YAAY,CAAC,YAAY,CACvB,0BAA0B,EAC1B,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAChC,CAAC;QAEF,YAAY,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;IAEQ,MAAM,KAAI,CAAC;IAEX,OAAO;;QACd,MAAA,IAAI,CAAC,gBAAgB,0CAAE,UAAU,EAAE,CAAC;IACtC,CAAC;IAES,IAAI;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
|
package/src/propagators.js
CHANGED
|
@@ -3,12 +3,16 @@ export function handlePropagators(config, tracerProvider) {
|
|
|
3
3
|
var _a, _b;
|
|
4
4
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5
5
|
if ((_a = config.traceParentInHeader) === null || _a === void 0 ? void 0 : _a.enabled) {
|
|
6
|
+
let propagators = [];
|
|
6
7
|
const { CompositePropagator, W3CBaggagePropagator, W3CTraceContextPropagator, } = yield import('@opentelemetry/core');
|
|
7
|
-
const propagators = [
|
|
8
|
-
new W3CBaggagePropagator(),
|
|
9
|
-
new W3CTraceContextPropagator(),
|
|
10
|
-
];
|
|
11
8
|
const { propagateB3TraceHeader, propagateAwsXrayTraceHeader } = ((_b = config.traceParentInHeader) === null || _b === void 0 ? void 0 : _b.options) || {};
|
|
9
|
+
if (!propagateAwsXrayTraceHeader && !propagateB3TraceHeader) {
|
|
10
|
+
propagators = [
|
|
11
|
+
...propagators,
|
|
12
|
+
new W3CBaggagePropagator(),
|
|
13
|
+
new W3CTraceContextPropagator(),
|
|
14
|
+
];
|
|
15
|
+
}
|
|
12
16
|
if (propagateAwsXrayTraceHeader) {
|
|
13
17
|
const { AWSXRayPropagator } = yield import('@opentelemetry/propagator-aws-xray');
|
|
14
18
|
propagators.push(new AWSXRayPropagator());
|
package/src/propagators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propagators.js","sourceRoot":"","sources":["../../../../libs/browser/src/propagators.ts"],"names":[],"mappings":";AAIA,MAAM,UAAgB,iBAAiB,CACrC,MAAiC,EACjC,cAA0C;;;QAE1C,IAAI,MAAA,MAAM,CAAC,mBAAmB,0CAAE,OAAO,EAAE;YACvC,MAAM,EACJ,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,GAC1B,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;YAExC,MAAM,
|
|
1
|
+
{"version":3,"file":"propagators.js","sourceRoot":"","sources":["../../../../libs/browser/src/propagators.ts"],"names":[],"mappings":";AAIA,MAAM,UAAgB,iBAAiB,CACrC,MAAiC,EACjC,cAA0C;;;QAE1C,IAAI,MAAA,MAAM,CAAC,mBAAmB,0CAAE,OAAO,EAAE;YACvC,IAAI,WAAW,GAAwB,EAAE,CAAC;YAE1C,MAAM,EACJ,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,GAC1B,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;YAExC,MAAM,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,GAC3D,CAAA,MAAA,MAAM,CAAC,mBAAmB,0CAAE,OAAO,KAAI,EAAE,CAAC;YAE5C,IAAI,CAAC,2BAA2B,IAAI,CAAC,sBAAsB,EAAE;gBAC3D,WAAW,GAAG;oBACZ,GAAG,WAAW;oBACd,IAAI,oBAAoB,EAAE;oBAC1B,IAAI,yBAAyB,EAAE;iBAChC,CAAC;aACH;YAED,IAAI,2BAA2B,EAAE;gBAC/B,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CACxC,oCAAoC,CACrC,CAAC;gBAEF,WAAW,CAAC,IAAI,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;aAC3C;YAED,IAAI,sBAAsB,EAAE;gBAC1B,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CACrD,8BAA8B,CAC/B,CAAC;gBAEF,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,sBAAsB,CAAC;gBAE7D,IAAI,YAAY,EAAE;oBAChB,WAAW,CAAC,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;iBACtC;gBAED,IAAI,WAAW,EAAE;oBACf,WAAW,CAAC,IAAI,CACd,IAAI,YAAY,CAAC,EAAE,cAAc,EAAE,gBAAgB,CAAC,YAAY,EAAE,CAAC,CACpE,CAAC;iBACH;aACF;YAED,cAAc,CAAC,QAAQ,CAAC;gBACtB,UAAU,EAAE,IAAI,mBAAmB,CAAC;oBAClC,WAAW;iBACZ,CAAC;aACH,CAAC,CAAC;SACJ;;CACF"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import IdleJs from 'idle-js';
|
|
2
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
3
2
|
import { MILLISECONDS_PER_HOUR, millisecondsPerMinute } from '../constants';
|
|
4
3
|
import { SessionRecorder } from './sessionRecorder';
|
|
5
4
|
import { getNowTime, getSdkConfig, getSessionRecorder, getSnapshotManager, } from '../helpers';
|
|
6
5
|
import { PREV_SESSION_KEY, SESSION_EXPIRATION_IN_HOURS, SESSION_IDLE_TIME_IN_MINUTES, SESSION_KEY, SESSION_MANAGER_KEY, } from './session.consts';
|
|
7
6
|
import { isSamplingOn } from './session.helper';
|
|
7
|
+
import { generateUUID } from '../utils';
|
|
8
8
|
export class SessionManager {
|
|
9
9
|
constructor(recordConfig) {
|
|
10
10
|
this._sessionConfig = getSdkConfig().sessionConfig;
|
|
@@ -34,7 +34,7 @@ export class SessionManager {
|
|
|
34
34
|
const now = getNowTime();
|
|
35
35
|
const expirationDate = now + MILLISECONDS_PER_HOUR * SESSION_EXPIRATION_IN_HOURS;
|
|
36
36
|
const session = {
|
|
37
|
-
sessionId: sessionId ||
|
|
37
|
+
sessionId: sessionId || generateUUID(),
|
|
38
38
|
sessionCreationDate: now,
|
|
39
39
|
sessionExpirationDate: expirationDate,
|
|
40
40
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionManager.js","sourceRoot":"","sources":["../../../../../libs/browser/src/session/sessionManager.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sessionManager.js","sourceRoot":"","sources":["../../../../../libs/browser/src/session/sessionManager.ts"],"names":[],"mappings":"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"}
|
package/src/utils/string.d.ts
CHANGED
|
@@ -1,2 +1,7 @@
|
|
|
1
1
|
export declare function isMatchingPattern(value: string, pattern: RegExp | string, requireExactStringMatch?: boolean): boolean;
|
|
2
2
|
export declare function stringMatchesSomePattern(testString: string, patterns?: Array<string | RegExp>, requireExactStringMatch?: boolean): boolean;
|
|
3
|
+
/**
|
|
4
|
+
* UUID v4
|
|
5
|
+
* https://gist.github.com/jed/982883
|
|
6
|
+
*/
|
|
7
|
+
export declare function generateUUID(placeholder?: string): string;
|
package/src/utils/string.js
CHANGED
|
@@ -21,4 +21,13 @@ export function isMatchingPattern(value, pattern, requireExactStringMatch = fals
|
|
|
21
21
|
export function stringMatchesSomePattern(testString, patterns = [], requireExactStringMatch = false) {
|
|
22
22
|
return patterns.some((pattern) => isMatchingPattern(testString, pattern, requireExactStringMatch));
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* UUID v4
|
|
26
|
+
* https://gist.github.com/jed/982883
|
|
27
|
+
*/
|
|
28
|
+
export function generateUUID(placeholder) {
|
|
29
|
+
return placeholder
|
|
30
|
+
? (+placeholder ^ ((Math.random() * 16) >> (+placeholder / 4))).toString(16)
|
|
31
|
+
: `${1e7}-${1e3}-${4e3}-${8e3}-${1e11}`.replace(/[018]/g, generateUUID);
|
|
32
|
+
}
|
|
24
33
|
//# sourceMappingURL=string.js.map
|
package/src/utils/string.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../../../../libs/browser/src/utils/string.ts"],"names":[],"mappings":"AAAA,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AACnC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,YAAY,MAAM,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAa,EACb,OAAwB,EACxB,0BAAmC,KAAK;IAExC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QACpB,OAAO,KAAK,CAAC;KACd;IAED,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE;QACrB,OAAQ,OAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxC;IAED,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE;QACrB,OAAO,uBAAuB;YAC5B,CAAC,CAAC,KAAK,KAAK,OAAO;YACnB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAiB,CAAC,CAAC;KACvC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,UAAkB,EAClB,WAAmC,EAAE,EACrC,0BAAmC,KAAK;IAExC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC/B,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAChE,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../../../../libs/browser/src/utils/string.ts"],"names":[],"mappings":"AAAA,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AACnC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,YAAY,MAAM,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAa,EACb,OAAwB,EACxB,0BAAmC,KAAK;IAExC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QACpB,OAAO,KAAK,CAAC;KACd;IAED,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE;QACrB,OAAQ,OAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxC;IAED,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE;QACrB,OAAO,uBAAuB;YAC5B,CAAC,CAAC,KAAK,KAAK,OAAO;YACnB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAiB,CAAC,CAAC;KACvC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,UAAkB,EAClB,WAAmC,EAAE,EACrC,0BAAmC,KAAK;IAExC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC/B,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAChE,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,WAAoB;IAC/C,OAAO,WAAW;QAChB,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5E,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAC5E,CAAC"}
|
package/src/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "1.2.
|
|
1
|
+
export declare const SDK_VERSION = "1.2.2";
|
package/src/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const SDK_VERSION = '1.2.
|
|
1
|
+
export const SDK_VERSION = '1.2.2';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|