@coralogix/browser 1.4.12 → 1.5.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.
- package/CHANGELOG.md +138 -0
- package/LICENSE +201 -0
- package/README.md +147 -30
- package/package.json +13 -2
- package/src/constants.d.ts +3 -2
- package/src/constants.js +2 -2
- package/src/constants.js.map +1 -1
- package/src/custom-spans/custom-spans.consts.d.ts +3 -0
- package/src/custom-spans/custom-spans.consts.js +4 -0
- package/src/custom-spans/custom-spans.consts.js.map +1 -0
- package/src/custom-spans/custom-spans.types.d.ts +15 -0
- package/src/custom-spans/custom-spans.types.js +2 -0
- package/src/custom-spans/custom-spans.types.js.map +1 -0
- package/src/custom-spans/custom-spans.utils.d.ts +13 -0
- package/src/custom-spans/custom-spans.utils.js +40 -0
- package/src/custom-spans/custom-spans.utils.js.map +1 -0
- package/src/custom-spans/index.d.ts +3 -0
- package/src/custom-spans/index.js +4 -0
- package/src/custom-spans/index.js.map +1 -0
- package/src/index.js +71 -8
- package/src/index.js.map +1 -1
- package/src/instrumentations/CoralogixErrorInstrumentation.d.ts +4 -1
- package/src/instrumentations/CoralogixErrorInstrumentation.js +24 -7
- package/src/instrumentations/CoralogixErrorInstrumentation.js.map +1 -1
- package/src/instrumentations/network/CoralogixFetchInstrumentation.js +4 -0
- package/src/instrumentations/network/CoralogixFetchInstrumentation.js.map +1 -1
- package/src/instrumentations/network/CoralogixXhrInstrumentation.js +4 -0
- package/src/instrumentations/network/CoralogixXhrInstrumentation.js.map +1 -1
- package/src/instrumentations/network/network.utils.d.ts +2 -0
- package/src/instrumentations/network/network.utils.js +11 -0
- package/src/instrumentations/network/network.utils.js.map +1 -0
- package/src/instrumentations/user-interaction/CoralogixUserInteractionInstrumentation.js +8 -1
- package/src/instrumentations/user-interaction/CoralogixUserInteractionInstrumentation.js.map +1 -1
- package/src/labels/index.d.ts +1 -0
- package/src/labels/index.js +2 -0
- package/src/labels/index.js.map +1 -0
- package/src/labels/labels.utils.d.ts +4 -0
- package/src/labels/labels.utils.js +11 -0
- package/src/labels/labels.utils.js.map +1 -0
- package/src/otel/index.d.ts +2 -0
- package/src/otel/index.js +3 -0
- package/src/otel/index.js.map +1 -0
- package/src/otel/otel.consts.d.ts +18 -0
- package/src/otel/otel.consts.js +20 -0
- package/src/otel/otel.consts.js.map +1 -0
- package/src/otel/otel.utils.d.ts +7 -0
- package/src/otel/otel.utils.js +14 -0
- package/src/otel/otel.utils.js.map +1 -0
- package/src/processors/CoralogixSpanMapProcessor.js +12 -5
- package/src/processors/CoralogixSpanMapProcessor.js.map +1 -1
- package/src/session/sessionManager.js +2 -0
- package/src/session/sessionManager.js.map +1 -1
- package/src/types.d.ts +18 -5
- package/src/types.js +1 -0
- package/src/types.js.map +1 -1
- package/src/version.d.ts +1 -1
- package/src/version.js +1 -1
- package/src/version.js.map +1 -1
package/README.md
CHANGED
|
@@ -1,9 +1,78 @@
|
|
|
1
|
+
<details>
|
|
2
|
+
<summary><strong>Table of Contents</strong></summary>
|
|
3
|
+
|
|
4
|
+
1. [Official Coralogix SDK for Browsers](#official-coralogix-sdk-for-browsers)
|
|
5
|
+
2. [Links](#links)
|
|
6
|
+
3. [Supported Frameworks](#supported-frameworks)
|
|
7
|
+
4. [Usage](#usage)
|
|
8
|
+
5. [Sampling](#sampling)
|
|
9
|
+
|
|
10
|
+
- [Basic Sampling](#1-basic-sampling---sample--of-all-sessions)
|
|
11
|
+
- [Advanced Sampling](#2-advanced-sampling---sample--of-sessions-but-always-track-sessions-with-errors)
|
|
12
|
+
- [Only Sessions with Errors](#3-only-sessions-with-errors)
|
|
13
|
+
|
|
14
|
+
6. [Sending Custom Logs](#sending-custom-logs)
|
|
15
|
+
7. [Instrumentations](#instrumentations)
|
|
16
|
+
8. [Manually Capture Errors](#manually-capture-errors)
|
|
17
|
+
9. [Session Recording](#session-recording)
|
|
18
|
+
|
|
19
|
+
- [Recording Manually](#recording-manually)
|
|
20
|
+
- [Privacy & Security](#privacy--security)
|
|
21
|
+
- [Performance](#performance)
|
|
22
|
+
- [Worker URL](#worker-url)
|
|
23
|
+
- [Screenshots](#screenshots)
|
|
24
|
+
|
|
25
|
+
10. [Network Extra Configuration](#network-extra-configuration)
|
|
26
|
+
11. [Multi Page Application](#multi-page-application)
|
|
27
|
+
12. [Ignore Errors](#ignore-errors)
|
|
28
|
+
13. [Ignore URLs](#ignore-urls)
|
|
29
|
+
14. [Mask Elements](#mask-elements)
|
|
30
|
+
15. [Label Providers](#label-providers)
|
|
31
|
+
16. [URL Blueprinters](#url-blueprinters)
|
|
32
|
+
17. [Traces](#traces)
|
|
33
|
+
|
|
34
|
+
- [Propagate Trace Header for CORS URLs](#propagatetraceheadercorsurls)
|
|
35
|
+
- [Allowed Tracing URLs](#allowedtracingurls)
|
|
36
|
+
- [Extra Propagators (B3 / AWS X-Ray)](#b3--aws-x-ray-propagation)
|
|
37
|
+
|
|
38
|
+
18. [Before Send](#before-send)
|
|
39
|
+
19. [Proxy URL](#proxy-url)
|
|
40
|
+
20. [Collect IP Data](#collect-ip-data)
|
|
41
|
+
21. [Custom Measurement](#custom-measurement)
|
|
42
|
+
22. [Add Timing](#add-timing)
|
|
43
|
+
23. [Custom Time Measurement](#custom-time-measurement)
|
|
44
|
+
24. [Microfrontend Support](#microfrontend-support)
|
|
45
|
+
|
|
46
|
+
- [Pre Requisites](#pre-requisites)
|
|
47
|
+
|
|
48
|
+
25. [Custom Spans](#custom-spans)
|
|
49
|
+
|
|
50
|
+
- [Ignored Instruments](#ignored-instruments)
|
|
51
|
+
|
|
52
|
+
26. [Soft Navigations (Experimental)](#soft-navigations--experimental)
|
|
53
|
+
27. [Memory Usage (Experimental)](#memory-usage---experimental)
|
|
54
|
+
28. [CDN](#cdn)
|
|
55
|
+
|
|
56
|
+
- [Specific Version](#specific-version-recommended)
|
|
57
|
+
- [Latest Version](#latest-version)
|
|
58
|
+
- [Add the CDN Script to Your Application](#add-the-cdn-script-to-your-application)
|
|
59
|
+
- [Initialization](#initialization)
|
|
60
|
+
- [Via JS File](#via-js-file)
|
|
61
|
+
- [Via TS File](#via-ts-file)
|
|
62
|
+
|
|
63
|
+
29. [Flutter Web](#flutter-web)
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
</details>
|
|
68
|
+
|
|
1
69
|
# Official Coralogix SDK for Browsers
|
|
2
70
|
|
|
3
71
|
[](https://www.npmjs.com/package/@coralogix/browser)
|
|
4
72
|
|
|
5
73
|
## Links
|
|
6
74
|
|
|
75
|
+
- [Changelog](https://coralogix.github.io/coralogix-browser-sdk/CHANGELOG.html)
|
|
7
76
|
- [Coralogix Real User Monitoring](https://coralogix.com/docs/real-user-monitoring/)
|
|
8
77
|
|
|
9
78
|
## Supported Frameworks
|
|
@@ -69,6 +138,7 @@ CoralogixRum.setApplicationContext({
|
|
|
69
138
|
### Sampling
|
|
70
139
|
|
|
71
140
|
#### 1. Basic Sampling - sample % of all sessions
|
|
141
|
+
|
|
72
142
|
```javascript
|
|
73
143
|
CoralogixRum.init({
|
|
74
144
|
// ...
|
|
@@ -79,18 +149,21 @@ CoralogixRum.init({
|
|
|
79
149
|
```
|
|
80
150
|
|
|
81
151
|
#### 2. Advanced Sampling - sample % of sessions, but always track sessions with errors
|
|
152
|
+
|
|
82
153
|
This configuration will ensure all sessions with errors are tracked, and a percentage of sessions without errors are also tracked.
|
|
154
|
+
|
|
83
155
|
```javascript
|
|
84
156
|
CoralogixRum.init({
|
|
85
157
|
// ...
|
|
86
158
|
sessionConfig: {
|
|
87
159
|
sessionSampleRate: 50,
|
|
88
|
-
alwaysTrackSessionsWithErrors: true,
|
|
160
|
+
alwaysTrackSessionsWithErrors: true,
|
|
89
161
|
},
|
|
90
162
|
});
|
|
91
163
|
```
|
|
92
164
|
|
|
93
165
|
#### 3. Only Sessions with Errors
|
|
166
|
+
|
|
94
167
|
Track only sessions with errors, and send specific instrumentation data immediately even if error is not occurred.
|
|
95
168
|
From Session recording perspective, the SDK will record approximately 10–60s(according to maxRecordTime property) before the error occurred.
|
|
96
169
|
|
|
@@ -118,7 +191,6 @@ CoralogixRum.init({
|
|
|
118
191
|
});
|
|
119
192
|
```
|
|
120
193
|
|
|
121
|
-
|
|
122
194
|
### Sending Custom Logs
|
|
123
195
|
|
|
124
196
|
```javascript
|
|
@@ -155,13 +227,18 @@ CoralogixRum.init({
|
|
|
155
227
|
|
|
156
228
|
### Manually Capture Errors
|
|
157
229
|
|
|
158
|
-
You can pass an Error object to
|
|
230
|
+
You can pass an Error object to capture it as an event.<br>
|
|
231
|
+
Additionally, you can include custom data and labels with the event.
|
|
159
232
|
|
|
160
233
|
```javascript
|
|
161
234
|
try {
|
|
162
235
|
// Some code that might throw an error
|
|
163
236
|
} catch (error) {
|
|
164
237
|
CoralogixRum.captureError(error);
|
|
238
|
+
|
|
239
|
+
CoralogixRum.captureError(error, { custom_data: { id: '123' } }); // add custom data
|
|
240
|
+
|
|
241
|
+
CoralogixRum.captureError(error, { custom_data: { id: '123' } }, { label1: 'value1' }); // add custom data and labels
|
|
165
242
|
}
|
|
166
243
|
```
|
|
167
244
|
|
|
@@ -244,33 +321,35 @@ CoralogixRum.init({
|
|
|
244
321
|
```
|
|
245
322
|
|
|
246
323
|
#### Worker Url
|
|
324
|
+
|
|
247
325
|
By default, Session recording uses an inline web worker script to compress data before transmission. For added flexibility, you can host a custom worker script on your own domain. Simply host the following file on your server: [worker.min.js](https://cdn.rum-ingress-coralogix.com/coralogix/browser/latest/worker.min.js)
|
|
248
326
|
|
|
249
327
|
For a locally hosted worker file:
|
|
328
|
+
|
|
250
329
|
```javascript
|
|
251
330
|
CoralogixRum.init({
|
|
252
331
|
// ...
|
|
253
332
|
sessionRecordingConfig: {
|
|
254
333
|
// ...
|
|
255
|
-
workerUrl:
|
|
334
|
+
workerUrl: '/assets/worker.min.js',
|
|
256
335
|
},
|
|
257
336
|
});
|
|
258
|
-
|
|
259
337
|
```
|
|
260
338
|
|
|
261
339
|
For an externally hosted worker file:
|
|
340
|
+
|
|
262
341
|
```javascript
|
|
263
342
|
CoralogixRum.init({
|
|
264
343
|
// ...
|
|
265
344
|
sessionRecordingConfig: {
|
|
266
345
|
// ...
|
|
267
|
-
|
|
346
|
+
workerUrl: 'https://cdn.rum-ingress-coralogix.com/coralogix/browser/latest/worker.min.js',
|
|
268
347
|
},
|
|
269
348
|
});
|
|
270
|
-
|
|
271
349
|
```
|
|
272
350
|
|
|
273
351
|
#### Screenshots
|
|
352
|
+
|
|
274
353
|
Screenshot is a feature that allows you to capture a screenshot of the user's screen at the time of an error or based on specific custom logic triggers.<br>
|
|
275
354
|
Note that the Screenshot feature is a subset of session recording and shares the same configurations, including options like masking, sample rate and others.<br>
|
|
276
355
|
`sessionRecordingConfig` must be enabled to use this feature.<br>
|
|
@@ -284,14 +363,17 @@ CoralogixRum.init({
|
|
|
284
363
|
},
|
|
285
364
|
});
|
|
286
365
|
```
|
|
366
|
+
|
|
287
367
|
Capture a screenshot manually:
|
|
368
|
+
|
|
288
369
|
```javascript
|
|
289
370
|
CoralogixRum.screenshot();
|
|
290
371
|
// or with a description
|
|
291
372
|
CoralogixRum.screenshot('Screenshot after the user logged in');
|
|
292
|
-
|
|
373
|
+
```
|
|
293
374
|
|
|
294
375
|
Capture a screen automatically based on custom logic, using the beforeSend
|
|
376
|
+
|
|
295
377
|
```javascript
|
|
296
378
|
CoralogixRum.init({
|
|
297
379
|
// ...
|
|
@@ -303,11 +385,10 @@ CoralogixRum.init({
|
|
|
303
385
|
event.screenshotId = id;
|
|
304
386
|
}
|
|
305
387
|
|
|
306
|
-
return event
|
|
307
|
-
}
|
|
388
|
+
return event;
|
|
389
|
+
},
|
|
308
390
|
});
|
|
309
|
-
|
|
310
|
-
````
|
|
391
|
+
```
|
|
311
392
|
|
|
312
393
|
### Network Extra Configuration
|
|
313
394
|
|
|
@@ -317,19 +398,19 @@ The `networkExtraConfig` property is an array of configuration objects, each spe
|
|
|
317
398
|
CoralogixRum.init({
|
|
318
399
|
networkExtraConfig: [
|
|
319
400
|
{
|
|
320
|
-
url: 'http://example.com',
|
|
401
|
+
url: 'http://example.com', // Capture requests to this specific URL or regex pattern
|
|
321
402
|
reqHeaders: ['Authorization', 'Content-Type'], // Capture 'Authorization' and 'Content-Type' headers in requests
|
|
322
|
-
resHeaders: ['Cache-Control', 'Date'],
|
|
323
|
-
collectReqPayload: true,
|
|
324
|
-
collectResPayload: false
|
|
403
|
+
resHeaders: ['Cache-Control', 'Date'], // Capture 'Cache-Control' and 'Date' headers in responses
|
|
404
|
+
collectReqPayload: true, // Collect request payload
|
|
405
|
+
collectResPayload: false, // Do not collect response payload
|
|
325
406
|
},
|
|
326
407
|
],
|
|
327
408
|
});
|
|
328
409
|
```
|
|
329
|
-
#### Important Note
|
|
330
|
-
The server must explicitly permit access to specific headers by listing them in the `Access-Control-Expose-Headers` response header. Due to restrictions in the Fetch and XHR APIs, header retrieval operates on a best-effort basis, meaning that some headers may occasionally be unavailable in the events collected by this integration. Additionally, any large payloads exceeding the allowed size will be dropped.
|
|
331
410
|
|
|
411
|
+
#### Important Note
|
|
332
412
|
|
|
413
|
+
The server must explicitly permit access to specific headers by listing them in the `Access-Control-Expose-Headers` response header. Due to restrictions in the Fetch and XHR APIs, header retrieval operates on a best-effort basis, meaning that some headers may occasionally be unavailable in the events collected by this integration. Additionally, any large payloads exceeding the allowed size will be dropped.
|
|
333
414
|
|
|
334
415
|
### Multi Page Application
|
|
335
416
|
|
|
@@ -390,7 +471,9 @@ CoralogixRum.init({
|
|
|
390
471
|
maskClass: 'mask-me', // will mask any clickable element with class 'mask-me'
|
|
391
472
|
});
|
|
392
473
|
```
|
|
474
|
+
|
|
393
475
|
Examples of masked elements:
|
|
476
|
+
|
|
394
477
|
```javascript
|
|
395
478
|
<button class="cx-mask">
|
|
396
479
|
<span>Some Text</span>
|
|
@@ -402,7 +485,7 @@ Examples of masked elements:
|
|
|
402
485
|
|
|
403
486
|
<my-button-component class="cx-mask">
|
|
404
487
|
<button>Text</button>
|
|
405
|
-
</my-button-component>
|
|
488
|
+
</my-button-component>
|
|
406
489
|
|
|
407
490
|
```
|
|
408
491
|
|
|
@@ -485,6 +568,7 @@ CoralogixRum.init({
|
|
|
485
568
|
|
|
486
569
|
When the backend domain is different from the app domain, specifying backend domains is necessary. <br>
|
|
487
570
|
For example, if the app is hosted on `https://app.com` and the backend is hosted on `https://webapi.com`, you should specify the backend domain.
|
|
571
|
+
|
|
488
572
|
```javascript
|
|
489
573
|
CoralogixRum.init({
|
|
490
574
|
// ...
|
|
@@ -517,7 +601,9 @@ CoralogixRum.init({
|
|
|
517
601
|
```
|
|
518
602
|
|
|
519
603
|
### Extra Propagators
|
|
604
|
+
|
|
520
605
|
#### B3 / AWS X-Ray Propagation
|
|
606
|
+
|
|
521
607
|
```javascript
|
|
522
608
|
CoralogixRum.init({
|
|
523
609
|
// ...
|
|
@@ -526,7 +612,7 @@ CoralogixRum.init({
|
|
|
526
612
|
options: {
|
|
527
613
|
// ...
|
|
528
614
|
/* for B3 propagation */
|
|
529
|
-
propagateB3TraceHeader: {
|
|
615
|
+
propagateB3TraceHeader: {
|
|
530
616
|
singleHeader: true,
|
|
531
617
|
multiHeader: true,
|
|
532
618
|
},
|
|
@@ -537,8 +623,7 @@ CoralogixRum.init({
|
|
|
537
623
|
});
|
|
538
624
|
```
|
|
539
625
|
|
|
540
|
-
|
|
541
|
-
### beforeSend
|
|
626
|
+
### Before Send
|
|
542
627
|
|
|
543
628
|
Enable event access and modification before sending to Coralogix, supporting content modification, and event discarding.
|
|
544
629
|
|
|
@@ -601,9 +686,9 @@ The timing relates to the time between the page load and the moment the timing i
|
|
|
601
686
|
For example, you can add a timing for the first click event.
|
|
602
687
|
|
|
603
688
|
```javascript
|
|
604
|
-
window.addEventListener('click', function handler(){
|
|
689
|
+
window.addEventListener('click', function handler() {
|
|
605
690
|
window.removeEventListener('click', handler);
|
|
606
|
-
|
|
691
|
+
|
|
607
692
|
CoralogixRum.addTiming('first-click');
|
|
608
693
|
});
|
|
609
694
|
```
|
|
@@ -611,10 +696,11 @@ window.addEventListener('click', function handler(){
|
|
|
611
696
|
OR
|
|
612
697
|
|
|
613
698
|
You can provide your own timing.
|
|
699
|
+
|
|
614
700
|
```javascript
|
|
615
|
-
window.addEventListener('click', function handler(){
|
|
701
|
+
window.addEventListener('click', function handler() {
|
|
616
702
|
window.removeEventListener('click', handler);
|
|
617
|
-
|
|
703
|
+
|
|
618
704
|
CoralogixRum.addTiming('first-click', 1000);
|
|
619
705
|
});
|
|
620
706
|
```
|
|
@@ -640,6 +726,7 @@ This feature allows you to track multiple applications on the same page.<br>
|
|
|
640
726
|
<b>Only errors with stacktrace are supported.</b>
|
|
641
727
|
|
|
642
728
|
#### Pre Requisites
|
|
729
|
+
|
|
643
730
|
To support microfrontend, you need to install one of these plugins: [webpack](https://www.npmjs.com/package/@coralogix/webpack-plugin), [esbuild](https://www.npmjs.com/package/@coralogix/esbuild-plugin) and include them in your build process.<br>
|
|
644
731
|
Plugins for other bundlers are coming soon.
|
|
645
732
|
|
|
@@ -652,6 +739,36 @@ CoralogixRum.init({
|
|
|
652
739
|
});
|
|
653
740
|
```
|
|
654
741
|
|
|
742
|
+
### Custom Spans
|
|
743
|
+
|
|
744
|
+
Create your own custom spans to track specific operations in your application.<br>
|
|
745
|
+
Each span will share the same trace ID, which will allow you to create flows in your application and see them in the [Tracing view](https://coralogix.com/docs/user-guides/monitoring-and-insights/distributed-tracing/distributed-tracing/).<br>
|
|
746
|
+
Labels can be added during span creation for additional context.
|
|
747
|
+
|
|
748
|
+
```javascript
|
|
749
|
+
const customTracer = CoralogixRum.getCustomTracer();
|
|
750
|
+
const globalSpan = customTracer.startGlobalSpan('global-span', { page: 'posts' });
|
|
751
|
+
|
|
752
|
+
globalSpan.withContext(() => {
|
|
753
|
+
const customSpan = globalSpan.startCustomSpan('custom-span', { action: 'scroll' });
|
|
754
|
+
customSpan.endSpan();
|
|
755
|
+
});
|
|
756
|
+
|
|
757
|
+
// note: End the global span only after the operation is complete.
|
|
758
|
+
globalSpan.endSpan();
|
|
759
|
+
```
|
|
760
|
+
|
|
761
|
+
#### Ignored Instruments
|
|
762
|
+
|
|
763
|
+
After creating a global span, some of the instrumented events (network, errors, interactions) will automatically share the same trace ID, unless specifically ignored.
|
|
764
|
+
|
|
765
|
+
```javascript
|
|
766
|
+
const customTracer = CoralogixRum.getCustomTracer({
|
|
767
|
+
ignoredInstruments: [CoralogixEventType.NETWORK_REQUEST, CoralogixEventType.ERROR, CoralogixEventType.USER_INTERACTION],
|
|
768
|
+
});
|
|
769
|
+
|
|
770
|
+
// ... your code
|
|
771
|
+
```
|
|
655
772
|
|
|
656
773
|
### Soft Navigations — Experimental
|
|
657
774
|
|
|
@@ -679,10 +796,10 @@ To enable the feature, your website needs to be in a [secure context](https://de
|
|
|
679
796
|
```javascript
|
|
680
797
|
CoralogixRum.init({
|
|
681
798
|
// ...
|
|
682
|
-
memoryUsageConfig:{
|
|
683
|
-
enabled:true,
|
|
684
|
-
interval: 300_000 // Defaults to 5 minutes
|
|
685
|
-
}
|
|
799
|
+
memoryUsageConfig: {
|
|
800
|
+
enabled: true,
|
|
801
|
+
interval: 300_000, // Defaults to 5 minutes
|
|
802
|
+
},
|
|
686
803
|
});
|
|
687
804
|
```
|
|
688
805
|
|
package/package.json
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coralogix/browser",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "Official Coralogix SDK for browsers",
|
|
5
|
-
"license": "
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"author": "Coralogix",
|
|
7
|
+
"publishConfig": {
|
|
8
|
+
"access": "public"
|
|
9
|
+
},
|
|
10
|
+
"keywords": [
|
|
11
|
+
"official",
|
|
12
|
+
"coralogix",
|
|
13
|
+
"sdk",
|
|
14
|
+
"browser",
|
|
15
|
+
"javascript"
|
|
16
|
+
],
|
|
6
17
|
"dependencies": {
|
|
7
18
|
"@opentelemetry/api": "1.9.0",
|
|
8
19
|
"@opentelemetry/exporter-trace-otlp-http": "0.52.1",
|
package/src/constants.d.ts
CHANGED
|
@@ -6,12 +6,12 @@ import { CoralogixCustomLogInstrumentation } from './instrumentations/CoralogixC
|
|
|
6
6
|
import { CoralogixWebVitalsInstrumentation } from './instrumentations/CoralogixWebVitalsInstrumentation';
|
|
7
7
|
import { CoralogixLongTaskInstrumentation } from './instrumentations/CoralogixLongTaskInstrumentation';
|
|
8
8
|
import { CoralogixResourcesInstrumentation } from './instrumentations/CoralogixResourcesInstrumentation';
|
|
9
|
-
import { CoralogixInternalInstrumentation } from './instrumentations/CoralogixInternalInstrumentation';
|
|
10
|
-
import { CoralogixDOMInstrumentation } from './instrumentations/CoralogixDOMInstrumentation';
|
|
11
9
|
import { CoralogixUserInteractionInstrumentation } from './instrumentations/user-interaction/CoralogixUserInteractionInstrumentation';
|
|
12
10
|
import { CoralogixMemoryUsageInstrumentation } from './instrumentations/memory-usage';
|
|
13
11
|
import { CoralogixScreenshotInstrumentation } from './instrumentations/screenshot/CoralogixScreenshotInstrumentation';
|
|
14
12
|
import { CoralogixCustomMeasurementInstrumentation } from './instrumentations/custom-measurements';
|
|
13
|
+
import { CoralogixInternalInstrumentation } from './instrumentations/CoralogixInternalInstrumentation';
|
|
14
|
+
import { CoralogixDOMInstrumentation } from './instrumentations/CoralogixDOMInstrumentation';
|
|
15
15
|
export declare const CORALOGIX_LOGS_URL_SUFFIX = "/browser/v1beta/logs";
|
|
16
16
|
export declare const CORALOGIX_RECORDING_URL_SUFFIX = "/sessionrecording";
|
|
17
17
|
export declare const MAX_EXPORT_BATCH_SIZE = 50;
|
|
@@ -98,6 +98,7 @@ export declare const CoralogixAttributes: {
|
|
|
98
98
|
TYPE: string;
|
|
99
99
|
STACK: string;
|
|
100
100
|
MESSAGE: string;
|
|
101
|
+
DATA: string;
|
|
101
102
|
};
|
|
102
103
|
LOG: string;
|
|
103
104
|
CUSTOM_LABELS: string;
|
package/src/constants.js
CHANGED
|
@@ -8,13 +8,13 @@ import { CoralogixLongTaskInstrumentation } from './instrumentations/CoralogixLo
|
|
|
8
8
|
import { CoralogixResourcesInstrumentation } from './instrumentations/CoralogixResourcesInstrumentation';
|
|
9
9
|
import { replacePatternsInUrl } from './utils';
|
|
10
10
|
import { millisecondsPerSecond } from './utils/time';
|
|
11
|
-
import { CoralogixInternalInstrumentation } from './instrumentations/CoralogixInternalInstrumentation';
|
|
12
|
-
import { CoralogixDOMInstrumentation } from './instrumentations/CoralogixDOMInstrumentation';
|
|
13
11
|
import { CoralogixUserInteractionInstrumentation } from './instrumentations/user-interaction/CoralogixUserInteractionInstrumentation';
|
|
14
12
|
import { CoralogixMemoryUsageInstrumentation, MEMORY_USAGE_INSTRUMENTATION_NAME, } from './instrumentations/memory-usage';
|
|
15
13
|
import { CoralogixScreenshotInstrumentation } from './instrumentations/screenshot/CoralogixScreenshotInstrumentation';
|
|
16
14
|
import { SCREENSHOT_INSTRUMENTATION_NAME } from './instrumentations/screenshot/screenshot.utils';
|
|
17
15
|
import { CoralogixCustomMeasurementInstrumentation } from './instrumentations/custom-measurements';
|
|
16
|
+
import { CoralogixInternalInstrumentation } from './instrumentations/CoralogixInternalInstrumentation';
|
|
17
|
+
import { CoralogixDOMInstrumentation } from './instrumentations/CoralogixDOMInstrumentation';
|
|
18
18
|
export const CORALOGIX_LOGS_URL_SUFFIX = '/browser/v1beta/logs';
|
|
19
19
|
export const CORALOGIX_RECORDING_URL_SUFFIX = '/sessionrecording';
|
|
20
20
|
export const MAX_EXPORT_BATCH_SIZE = 50;
|
package/src/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../libs/browser/src/constants.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,eAAe,GAChB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,0DAA0D,CAAC;AACzG,OAAO,EAAE,2BAA2B,EAAE,MAAM,wDAAwD,CAAC;AACrG,OAAO,EAAE,iCAAiC,EAAE,MAAM,sDAAsD,CAAC;AACzG,OAAO,EAAE,iCAAiC,EAAE,MAAM,sDAAsD,CAAC;AACzG,OAAO,EACL,uCAAuC,EACvC,wBAAwB,EACxB,6BAA6B,EAC7B,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AACvG,OAAO,EAAE,iCAAiC,EAAE,MAAM,sDAAsD,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../libs/browser/src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-spans.consts.js","sourceRoot":"","sources":["../../../../../libs/browser/src/custom-spans/custom-spans.consts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAChD,MAAM,CAAC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AACpD,MAAM,CAAC,MAAM,iCAAiC,GAC5C,oCAAoC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Span } from '@opentelemetry/api';
|
|
2
|
+
import { CoralogixEventType, CoralogixRumLabels } from '../types';
|
|
3
|
+
export interface GlobalSpan {
|
|
4
|
+
span: Span;
|
|
5
|
+
withContext: (fn: () => void) => void;
|
|
6
|
+
endSpan: () => void;
|
|
7
|
+
startCustomSpan: (name: string, labels?: CoralogixRumLabels) => {
|
|
8
|
+
span: Span;
|
|
9
|
+
endSpan: () => void;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export interface CustomTracer {
|
|
13
|
+
startGlobalSpan: (name: string, labels?: CoralogixRumLabels) => GlobalSpan | undefined;
|
|
14
|
+
}
|
|
15
|
+
export type CustomTracerIgnoredInstruments = CoralogixEventType.ERROR | CoralogixEventType.NETWORK_REQUEST | CoralogixEventType.USER_INTERACTION;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-spans.types.js","sourceRoot":"","sources":["../../../../../libs/browser/src/custom-spans/custom-spans.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CustomTracerIgnoredInstruments, GlobalSpan } from './custom-spans.types';
|
|
2
|
+
import { Tracer } from '@opentelemetry/sdk-trace-base';
|
|
3
|
+
import { Span } from '@opentelemetry/api';
|
|
4
|
+
export declare function setGlobalSpan(globalSpan: GlobalSpan): void;
|
|
5
|
+
export declare function getGlobalSpan(): GlobalSpan;
|
|
6
|
+
export declare function clearGlobalSpan(): void;
|
|
7
|
+
export declare function setCustomTracer(customTracer: Tracer): void;
|
|
8
|
+
export declare function getCustomTracer(): Tracer;
|
|
9
|
+
export declare function clearCustomTracer(): void;
|
|
10
|
+
export declare function setCustomTracerIgnoredInstruments(ignoredInstruments: CustomTracerIgnoredInstruments[]): void;
|
|
11
|
+
export declare function getCustomTracerIgnoredInstruments(): CustomTracerIgnoredInstruments[];
|
|
12
|
+
export declare function shouldAttachSpanToGlobalSpan(instrumentationType: CustomTracerIgnoredInstruments): boolean;
|
|
13
|
+
export declare function attachChildSpanToGlobalSpan(name: string): Span;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { CUSTOM_TRACER_IGNORED_INSTRUMENTS, CUSTOM_TRACER_KEY, GLOBAL_SPAN_KEY, } from './custom-spans.consts';
|
|
2
|
+
export function setGlobalSpan(globalSpan) {
|
|
3
|
+
window[GLOBAL_SPAN_KEY] = globalSpan;
|
|
4
|
+
}
|
|
5
|
+
export function getGlobalSpan() {
|
|
6
|
+
return window[GLOBAL_SPAN_KEY];
|
|
7
|
+
}
|
|
8
|
+
export function clearGlobalSpan() {
|
|
9
|
+
delete window[GLOBAL_SPAN_KEY];
|
|
10
|
+
}
|
|
11
|
+
export function setCustomTracer(customTracer) {
|
|
12
|
+
window[CUSTOM_TRACER_KEY] = customTracer;
|
|
13
|
+
}
|
|
14
|
+
export function getCustomTracer() {
|
|
15
|
+
return window[CUSTOM_TRACER_KEY];
|
|
16
|
+
}
|
|
17
|
+
export function clearCustomTracer() {
|
|
18
|
+
delete window[CUSTOM_TRACER_KEY];
|
|
19
|
+
}
|
|
20
|
+
export function setCustomTracerIgnoredInstruments(ignoredInstruments) {
|
|
21
|
+
window[CUSTOM_TRACER_IGNORED_INSTRUMENTS] = ignoredInstruments;
|
|
22
|
+
}
|
|
23
|
+
export function getCustomTracerIgnoredInstruments() {
|
|
24
|
+
return window[CUSTOM_TRACER_IGNORED_INSTRUMENTS];
|
|
25
|
+
}
|
|
26
|
+
export function shouldAttachSpanToGlobalSpan(instrumentationType) {
|
|
27
|
+
var _a;
|
|
28
|
+
return (getGlobalSpan() &&
|
|
29
|
+
!((_a = getCustomTracerIgnoredInstruments()) === null || _a === void 0 ? void 0 : _a.includes(instrumentationType)));
|
|
30
|
+
}
|
|
31
|
+
export function attachChildSpanToGlobalSpan(name) {
|
|
32
|
+
let span;
|
|
33
|
+
const globalSpan = getGlobalSpan();
|
|
34
|
+
globalSpan.withContext(() => {
|
|
35
|
+
const childSpan = globalSpan.startCustomSpan(name);
|
|
36
|
+
span = childSpan.span;
|
|
37
|
+
});
|
|
38
|
+
return span;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=custom-spans.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-spans.utils.js","sourceRoot":"","sources":["../../../../../libs/browser/src/custom-spans/custom-spans.utils.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,iCAAiC,EACjC,iBAAiB,EACjB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAI/B,MAAM,UAAU,aAAa,CAAC,UAAsB;IAClD,MAAM,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,MAAM,CAAC,eAAe,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,MAAM,CAAC,eAAe,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,YAAoB;IAClD,MAAM,CAAC,iBAAiB,CAAC,GAAG,YAAY,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,kBAAoD;IAEpD,MAAM,CAAC,iCAAiC,CAAC,GAAG,kBAAkB,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC/C,OAAO,MAAM,CAAC,iCAAiC,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,mBAAmD;;IAEnD,OAAO,CACL,aAAa,EAAE;QACf,CAAC,CAAA,MAAA,iCAAiC,EAAE,0CAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAA,CACpE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAY;IACtD,IAAI,IAAW,CAAC;IAEhB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE;QAC1B,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/browser/src/custom-spans/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
|