@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.
Files changed (58) hide show
  1. package/CHANGELOG.md +138 -0
  2. package/LICENSE +201 -0
  3. package/README.md +147 -30
  4. package/package.json +13 -2
  5. package/src/constants.d.ts +3 -2
  6. package/src/constants.js +2 -2
  7. package/src/constants.js.map +1 -1
  8. package/src/custom-spans/custom-spans.consts.d.ts +3 -0
  9. package/src/custom-spans/custom-spans.consts.js +4 -0
  10. package/src/custom-spans/custom-spans.consts.js.map +1 -0
  11. package/src/custom-spans/custom-spans.types.d.ts +15 -0
  12. package/src/custom-spans/custom-spans.types.js +2 -0
  13. package/src/custom-spans/custom-spans.types.js.map +1 -0
  14. package/src/custom-spans/custom-spans.utils.d.ts +13 -0
  15. package/src/custom-spans/custom-spans.utils.js +40 -0
  16. package/src/custom-spans/custom-spans.utils.js.map +1 -0
  17. package/src/custom-spans/index.d.ts +3 -0
  18. package/src/custom-spans/index.js +4 -0
  19. package/src/custom-spans/index.js.map +1 -0
  20. package/src/index.js +71 -8
  21. package/src/index.js.map +1 -1
  22. package/src/instrumentations/CoralogixErrorInstrumentation.d.ts +4 -1
  23. package/src/instrumentations/CoralogixErrorInstrumentation.js +24 -7
  24. package/src/instrumentations/CoralogixErrorInstrumentation.js.map +1 -1
  25. package/src/instrumentations/network/CoralogixFetchInstrumentation.js +4 -0
  26. package/src/instrumentations/network/CoralogixFetchInstrumentation.js.map +1 -1
  27. package/src/instrumentations/network/CoralogixXhrInstrumentation.js +4 -0
  28. package/src/instrumentations/network/CoralogixXhrInstrumentation.js.map +1 -1
  29. package/src/instrumentations/network/network.utils.d.ts +2 -0
  30. package/src/instrumentations/network/network.utils.js +11 -0
  31. package/src/instrumentations/network/network.utils.js.map +1 -0
  32. package/src/instrumentations/user-interaction/CoralogixUserInteractionInstrumentation.js +8 -1
  33. package/src/instrumentations/user-interaction/CoralogixUserInteractionInstrumentation.js.map +1 -1
  34. package/src/labels/index.d.ts +1 -0
  35. package/src/labels/index.js +2 -0
  36. package/src/labels/index.js.map +1 -0
  37. package/src/labels/labels.utils.d.ts +4 -0
  38. package/src/labels/labels.utils.js +11 -0
  39. package/src/labels/labels.utils.js.map +1 -0
  40. package/src/otel/index.d.ts +2 -0
  41. package/src/otel/index.js +3 -0
  42. package/src/otel/index.js.map +1 -0
  43. package/src/otel/otel.consts.d.ts +18 -0
  44. package/src/otel/otel.consts.js +20 -0
  45. package/src/otel/otel.consts.js.map +1 -0
  46. package/src/otel/otel.utils.d.ts +7 -0
  47. package/src/otel/otel.utils.js +14 -0
  48. package/src/otel/otel.utils.js.map +1 -0
  49. package/src/processors/CoralogixSpanMapProcessor.js +12 -5
  50. package/src/processors/CoralogixSpanMapProcessor.js.map +1 -1
  51. package/src/session/sessionManager.js +2 -0
  52. package/src/session/sessionManager.js.map +1 -1
  53. package/src/types.d.ts +18 -5
  54. package/src/types.js +1 -0
  55. package/src/types.js.map +1 -1
  56. package/src/version.d.ts +1 -1
  57. package/src/version.js +1 -1
  58. 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
  [![npm version](https://img.shields.io/npm/v/@coralogix/browser.svg)](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 get it captured as an event.
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: "/assets/worker.min.js"
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
- workerUrl: "https://cdn.rum-ingress-coralogix.com/coralogix/browser/latest/worker.min.js"
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', // Capture requests to this specific URL or regex pattern
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'], // Capture 'Cache-Control' and 'Date' headers in responses
323
- collectReqPayload: true, // Collect request payload
324
- collectResPayload: false // Do not collect response payload
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.4.12",
3
+ "version": "1.5.0",
4
4
  "description": "Official Coralogix SDK for browsers",
5
- "license": "MIT",
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",
@@ -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;
@@ -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,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AACvG,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,uCAAuC,EAAE,MAAM,6EAA6E,CAAC;AACtI,OAAO,EACL,mCAAmC,EACnC,iCAAiC,GAClC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kCAAkC,EAAE,MAAM,kEAAkE,CAAC;AACtH,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,yCAAyC,EAAE,MAAM,wCAAwC,CAAC;AAEnG,MAAM,CAAC,MAAM,yBAAyB,GAAG,sBAAsB,CAAC;AAChE,MAAM,CAAC,MAAM,8BAA8B,GAAG,mBAAmB,CAAC;AAElE,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAExC,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AAEnC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAG,qBAAqB,CAAC;AAE/D,MAAM,CAAC,MAAM,oBAAoB,GAA2C;IAC1E,aAAa;IACb,SAAS;IACT,iBAAiB;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAC1C,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC;AAClC,MAAM,CAAC,MAAM,UAAU,GAAG,mBAAmB,CAAC;AAC9C,MAAM,CAAC,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAClD,MAAM,CAAC,MAAM,4BAA4B,GAAG,0BAA0B,CAAC;AACvE,MAAM,CAAC,MAAM,+BAA+B,GAAG,6BAA6B,CAAC;AAC7E,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AACvD,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC;AACjC,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAgB;IACnD,UAAU;IACV,OAAO;IACP,KAAK;CACN,CAAC;AAEF,MAAM,UAAU,GAAyB;IACvC;QACE,OAAO,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC;QAC/B,WAAW,EAAE,WAAW;KACzB;IACD;QACE,OAAO,EAAE,IAAI,MAAM,CAAC,YAAY,CAAC;QACjC,WAAW,EAAE,WAAW;KACzB;CACF,CAAC;AAEF,MAAM,sBAAsB,GAAoB;IAC9C,mBAAmB,EAAE;QACnB,CAAC,GAAG,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;KAC7D;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAuC;IAClE,UAAU,EAAE;QACV,IAAI,MAAM,CAAC,yBAAyB,CAAC;QACrC,IAAI,MAAM,CAAC,8BAA8B,CAAC;KAC3C;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,EAAE;KACd;IACD,MAAM,EAAE,EAAE;IACV,eAAe,EAAE,sBAAsB;IACvC,aAAa,EAAE,IAAI;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B;QACE,UAAU,EAAE,6BAA6B;QACzC,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE,KAAK;KACf;IACD;QACE,UAAU,EAAE,6BAA6B;QACzC,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,KAAK;KACf;IACD;QACE,UAAU,EAAE,2BAA2B;QACvC,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,KAAK;KACf;IACD;QACE,UAAU,EAAE,iCAAiC;QAC7C,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,KAAK;KACf;IACD;QACE,UAAU,EAAE,uCAAuC;QACnD,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,KAAK;KACf;IACD;QACE,UAAU,EAAE,iCAAiC;QAC7C,OAAO,EAAE,+BAA+B;QACxC,OAAO,EAAE,KAAK;KACf;IACD;QACE,UAAU,EAAE,gCAAgC;QAC5C,OAAO,EAAE,+BAA+B;QACxC,OAAO,EAAE,KAAK;KACf;IACD;QACE,UAAU,EAAE,iCAAiC;QAC7C,OAAO,EAAE,8BAA8B;QACvC,OAAO,EAAE,KAAK;KACf;IACD;QACE,UAAU,EAAE,gCAAgC;QAC5C,OAAO,EAAE,6BAA6B;QACtC,OAAO,EAAE,KAAK;KACf;IACD;QACE,UAAU,EAAE,2BAA2B;QACvC,OAAO,EAAE,wBAAwB;QACjC,OAAO,EAAE,KAAK;KACf;IACD;QACE,UAAU,EAAE,yCAAyC;QACrD,OAAO,EAAE,uCAAuC;QAChD,OAAO,EAAE,KAAK;KACf;IACD;QACE,UAAU,EAAE,mCAAmC;QAC/C,OAAO,EAAE,iCAAiC;QAC1C,OAAO,EAAE,KAAK;KACf;IACD;QACE,UAAU,EAAE,kCAAkC;QAC9C,OAAO,EAAE,+BAA+B;QACxC,OAAO,EAAE,KAAK;KACf;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,eAAe;IAC9B,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;IACpB,mBAAmB,EAAE,qBAAqB;IAC1C,YAAY,EAAE,cAAc;IAC5B,0BAA0B,EAAE,4BAA4B;IACxD,oBAAoB,EAAE,sBAAsB;IAC5C,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,eAAe;IACtB,GAAG,EAAE,QAAQ;IACb,aAAa,EAAE,eAAe;IAC9B,WAAW,EAAE,aAAa;IAC1B,sBAAsB,EAAE,wBAAwB;IAChD,kBAAkB,EAAE,oBAAoB;IACxC,kBAAkB,EAAE,oBAAoB;IACxC,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,iBAAiB;IAClC,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,gBAAgB;IAChC,mBAAmB,EAAE,qBAAqB;IAC1C,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,YAAY,EAAE,cAAc;IAC5B,mBAAmB,EAAE,qBAAqB;IAC1C,kBAAkB,EAAE,oBAAoB;CACzC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,GAAG,EAAE,+CAA+C,EAAE,sBAAsB;IAC5E,GAAG,EAAE,+CAA+C,EAAE,yBAAyB;IAC/E,GAAG,EAAE,+CAA+C,EAAE,mBAAmB;IACzE,GAAG,EAAE,+CAA+C,EAAE,qBAAqB;IAC3E,GAAG,EAAE,+CAA+C,EAAE,sBAAsB;IAC5E,GAAG,EAAE,+CAA+C,EAAE,6BAA6B;IACnF,GAAG,EAAE,+CAA+C,EAAE,2BAA2B;IACjF,OAAO,EAAE,mDAAmD;CAC7D,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,CAAC;AAEtD,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAE/C,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC;AAC7B,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../libs/browser/src/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const GLOBAL_SPAN_KEY = "__globalSpan__";
2
+ export declare const CUSTOM_TRACER_KEY = "__customTracer__";
3
+ export declare const CUSTOM_TRACER_IGNORED_INSTRUMENTS = "__customTracerIgnoredInstruments__";
@@ -0,0 +1,4 @@
1
+ export const GLOBAL_SPAN_KEY = '__globalSpan__';
2
+ export const CUSTOM_TRACER_KEY = '__customTracer__';
3
+ export const CUSTOM_TRACER_IGNORED_INSTRUMENTS = '__customTracerIgnoredInstruments__';
4
+ //# sourceMappingURL=custom-spans.consts.js.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=custom-spans.types.js.map
@@ -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,3 @@
1
+ export * from './custom-spans.consts';
2
+ export * from './custom-spans.types';
3
+ export * from './custom-spans.utils';
@@ -0,0 +1,4 @@
1
+ export * from './custom-spans.consts';
2
+ export * from './custom-spans.types';
3
+ export * from './custom-spans.utils';
4
+ //# sourceMappingURL=index.js.map
@@ -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"}