@coralogix/browser 1.6.0 → 1.7.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 (183) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/package.json +4 -4
  3. package/src/Request.js +32 -0
  4. package/src/Request.js.map +1 -0
  5. package/src/add-timing.js +9 -0
  6. package/src/add-timing.js.map +1 -0
  7. package/src/before-send.js +40 -0
  8. package/src/before-send.js.map +1 -0
  9. package/src/configuration.js +67 -0
  10. package/src/configuration.js.map +1 -0
  11. package/src/constants.js +183 -0
  12. package/src/constants.js.map +1 -0
  13. package/src/custom-spans/custom-spans.consts.js +4 -0
  14. package/src/custom-spans/custom-spans.consts.js.map +1 -0
  15. package/src/custom-spans/custom-spans.types.js +2 -0
  16. package/src/custom-spans/custom-spans.types.js.map +1 -0
  17. package/src/custom-spans/custom-spans.utils.js +40 -0
  18. package/src/custom-spans/custom-spans.utils.js.map +1 -0
  19. package/src/custom-spans/index.js +4 -0
  20. package/src/custom-spans/index.js.map +1 -0
  21. package/src/filters/filters.js +28 -0
  22. package/src/filters/filters.js.map +1 -0
  23. package/src/helpers.js +21 -0
  24. package/src/helpers.js.map +1 -0
  25. package/src/index.js +391 -0
  26. package/src/index.js.map +1 -0
  27. package/src/instrumentations/CoralogixCustomLogInstrumentation.js +35 -0
  28. package/src/instrumentations/CoralogixCustomLogInstrumentation.js.map +1 -0
  29. package/src/instrumentations/CoralogixDOMInstrumentation.js +33 -0
  30. package/src/instrumentations/CoralogixDOMInstrumentation.js.map +1 -0
  31. package/src/instrumentations/CoralogixErrorInstrumentation.js +257 -0
  32. package/src/instrumentations/CoralogixErrorInstrumentation.js.map +1 -0
  33. package/src/instrumentations/CoralogixInternalInstrumentation.js +50 -0
  34. package/src/instrumentations/CoralogixInternalInstrumentation.js.map +1 -0
  35. package/src/instrumentations/CoralogixLongTaskInstrumentation.js +47 -0
  36. package/src/instrumentations/CoralogixLongTaskInstrumentation.js.map +1 -0
  37. package/src/instrumentations/CoralogixResourcesInstrumentation.js +106 -0
  38. package/src/instrumentations/CoralogixResourcesInstrumentation.js.map +1 -0
  39. package/src/instrumentations/CoralogixWebVitalsInstrumentation.js +193 -0
  40. package/src/instrumentations/CoralogixWebVitalsInstrumentation.js.map +1 -0
  41. package/src/instrumentations/custom-measurements/CoralogixCustomMeasurementInstrumentation.js +26 -0
  42. package/src/instrumentations/custom-measurements/CoralogixCustomMeasurementInstrumentation.js.map +1 -0
  43. package/src/instrumentations/custom-measurements/custom-measurements.types.js +2 -0
  44. package/src/instrumentations/custom-measurements/custom-measurements.types.js.map +1 -0
  45. package/src/instrumentations/custom-measurements/index.js +4 -0
  46. package/src/instrumentations/custom-measurements/index.js.map +1 -0
  47. package/src/instrumentations/custom-measurements/timeMeasurementTracker.js +38 -0
  48. package/src/instrumentations/custom-measurements/timeMeasurementTracker.js.map +1 -0
  49. package/src/instrumentations/instrumentation.consts.js +61 -0
  50. package/src/instrumentations/instrumentation.consts.js.map +1 -0
  51. package/src/instrumentations/instrumentation.helper.js +4 -0
  52. package/src/instrumentations/instrumentation.helper.js.map +1 -0
  53. package/src/instrumentations/instrumentation.model.js +18 -0
  54. package/src/instrumentations/instrumentation.model.js.map +1 -0
  55. package/src/instrumentations/memory-usage/CoralogixMemoryUsageInstrumentation.js +58 -0
  56. package/src/instrumentations/memory-usage/CoralogixMemoryUsageInstrumentation.js.map +1 -0
  57. package/src/instrumentations/memory-usage/index.js +5 -0
  58. package/src/instrumentations/memory-usage/index.js.map +1 -0
  59. package/src/instrumentations/memory-usage/memory-usage-constants.js +4 -0
  60. package/src/instrumentations/memory-usage/memory-usage-constants.js.map +1 -0
  61. package/src/instrumentations/memory-usage/memory-usage.types.js +2 -0
  62. package/src/instrumentations/memory-usage/memory-usage.types.js.map +1 -0
  63. package/src/instrumentations/memory-usage/memory-usage.utils.js +33 -0
  64. package/src/instrumentations/memory-usage/memory-usage.utils.js.map +1 -0
  65. package/src/instrumentations/network/CoralogixFetchInstrumentation.js +103 -0
  66. package/src/instrumentations/network/CoralogixFetchInstrumentation.js.map +1 -0
  67. package/src/instrumentations/network/CoralogixXhrInstrumentation.js +61 -0
  68. package/src/instrumentations/network/CoralogixXhrInstrumentation.js.map +1 -0
  69. package/src/instrumentations/network/HeadersManager.js +42 -0
  70. package/src/instrumentations/network/HeadersManager.js.map +1 -0
  71. package/src/instrumentations/network/NetworkDataManager.js +87 -0
  72. package/src/instrumentations/network/NetworkDataManager.js.map +1 -0
  73. package/src/instrumentations/network/constants.js +7 -0
  74. package/src/instrumentations/network/constants.js.map +1 -0
  75. package/src/instrumentations/network/network.utils.js +11 -0
  76. package/src/instrumentations/network/network.utils.js.map +1 -0
  77. package/src/instrumentations/screenshot/CoralogixScreenshotInstrumentation.js +28 -0
  78. package/src/instrumentations/screenshot/CoralogixScreenshotInstrumentation.js.map +1 -0
  79. package/src/instrumentations/screenshot/screenshot.utils.js +3 -0
  80. package/src/instrumentations/screenshot/screenshot.utils.js.map +1 -0
  81. package/src/instrumentations/user-interaction/CoralogixUserInteractionInstrumentation.js +65 -0
  82. package/src/instrumentations/user-interaction/CoralogixUserInteractionInstrumentation.js.map +1 -0
  83. package/src/instrumentations/user-interaction/user-interaction.utils.js +73 -0
  84. package/src/instrumentations/user-interaction/user-interaction.utils.js.map +1 -0
  85. package/src/internal-event-reporter.js +7 -0
  86. package/src/internal-event-reporter.js.map +1 -0
  87. package/src/label-providers/url-based-label-provider.js +24 -0
  88. package/src/label-providers/url-based-label-provider.js.map +1 -0
  89. package/src/labels/index.js +2 -0
  90. package/src/labels/index.js.map +1 -0
  91. package/src/labels/labels.utils.js +11 -0
  92. package/src/labels/labels.utils.js.map +1 -0
  93. package/src/mfe/mfe.types.js +2 -0
  94. package/src/mfe/mfe.types.js.map +1 -0
  95. package/src/otel/CoralogixPropgator.js +9 -0
  96. package/src/otel/CoralogixPropgator.js.map +1 -0
  97. package/src/otel/CoralogixWebTracerProvider.js +4 -0
  98. package/src/otel/CoralogixWebTracerProvider.js.map +1 -0
  99. package/src/otel/custom-sampler.js +9 -0
  100. package/src/otel/custom-sampler.js.map +1 -0
  101. package/src/otel/index.js +3 -0
  102. package/src/otel/index.js.map +1 -0
  103. package/src/otel/otel.consts.js +20 -0
  104. package/src/otel/otel.consts.js.map +1 -0
  105. package/src/otel/otel.utils.js +14 -0
  106. package/src/otel/otel.utils.js.map +1 -0
  107. package/src/otel/propagators.js +67 -0
  108. package/src/otel/propagators.js.map +1 -0
  109. package/src/processors/CoralogixExporter.js +103 -0
  110. package/src/processors/CoralogixExporter.js.map +1 -0
  111. package/src/processors/CoralogixNavigationProcessor.js +25 -0
  112. package/src/processors/CoralogixNavigationProcessor.js.map +1 -0
  113. package/src/processors/CoralogixSnapshotSpanProcessor.js +83 -0
  114. package/src/processors/CoralogixSnapshotSpanProcessor.js.map +1 -0
  115. package/src/processors/CoralogixSpanAttributesProcessor.js +56 -0
  116. package/src/processors/CoralogixSpanAttributesProcessor.js.map +1 -0
  117. package/src/processors/CoralogixSpanMapProcessor.js +273 -0
  118. package/src/processors/CoralogixSpanMapProcessor.js.map +1 -0
  119. package/src/processors/processor-base.model.js +2 -0
  120. package/src/processors/processor-base.model.js.map +1 -0
  121. package/src/processors/processor.helper.js +6 -0
  122. package/src/processors/processor.helper.js.map +1 -0
  123. package/src/session/session-idle.js +41 -0
  124. package/src/session/session-idle.js.map +1 -0
  125. package/src/session/session.consts.js +24 -0
  126. package/src/session/session.consts.js.map +1 -0
  127. package/src/session/session.helper.js +77 -0
  128. package/src/session/session.helper.js.map +1 -0
  129. package/src/session/session.model.js +11 -0
  130. package/src/session/session.model.js.map +1 -0
  131. package/src/session/sessionManager.js +175 -0
  132. package/src/session/sessionManager.js.map +1 -0
  133. package/src/session/sessionRecorder.js +336 -0
  134. package/src/session/sessionRecorder.js.map +1 -0
  135. package/src/session/sessionWithError.consts.js +15 -0
  136. package/src/session/sessionWithError.consts.js.map +1 -0
  137. package/src/session/workerManager.js +45 -0
  138. package/src/session/workerManager.js.map +1 -0
  139. package/src/snapshot/snapshot.consts.js +9 -0
  140. package/src/snapshot/snapshot.consts.js.map +1 -0
  141. package/src/snapshot/snapshot.model.js +2 -0
  142. package/src/snapshot/snapshot.model.js.map +1 -0
  143. package/src/snapshot/snapshotManager.js +29 -0
  144. package/src/snapshot/snapshotManager.js.map +1 -0
  145. package/src/tools/addEventListener.js +30 -0
  146. package/src/tools/addEventListener.js.map +1 -0
  147. package/src/tools/getGlobalObject.js +36 -0
  148. package/src/tools/getGlobalObject.js.map +1 -0
  149. package/src/tools/getZoneJsOriginalDom.js +17 -0
  150. package/src/tools/getZoneJsOriginalDom.js.map +1 -0
  151. package/src/tti-polyfill/tti-polyfill.d.ts +4 -0
  152. package/src/tti-polyfill/tti-polyfill.js +267 -0
  153. package/src/tti-polyfill/tti-polyfill.js.map +1 -0
  154. package/src/types-external.js +10 -0
  155. package/src/types-external.js.map +1 -0
  156. package/src/types.d.ts +1 -1
  157. package/src/types.js +39 -0
  158. package/src/types.js.map +1 -0
  159. package/src/utils/all.js +195 -0
  160. package/src/utils/all.js.map +1 -0
  161. package/src/utils/array.js +18 -0
  162. package/src/utils/array.js.map +1 -0
  163. package/src/utils/general.js +10 -0
  164. package/src/utils/general.js.map +1 -0
  165. package/src/utils/index.js +4 -0
  166. package/src/utils/index.js.map +1 -0
  167. package/src/utils/internal-rum-data.js +12 -0
  168. package/src/utils/internal-rum-data.js.map +1 -0
  169. package/src/utils/object.js +86 -0
  170. package/src/utils/object.js.map +1 -0
  171. package/src/utils/regex.js +16 -0
  172. package/src/utils/regex.js.map +1 -0
  173. package/src/utils/string.js +33 -0
  174. package/src/utils/string.js.map +1 -0
  175. package/src/utils/time.js +7 -0
  176. package/src/utils/time.js.map +1 -0
  177. package/src/version.d.ts +1 -1
  178. package/src/version.js +2 -0
  179. package/src/version.js.map +1 -0
  180. package/src/workers/session-recording-worker.js +77 -0
  181. package/src/workers/session-recording-worker.js.map +1 -0
  182. package/coralogix-browser-sdk.esm.d.ts +0 -1
  183. package/coralogix-browser-sdk.esm.js +0 -6635
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoralogixFetchInstrumentation.js","sourceRoot":"","sources":["../../../../../../libs/browser/src/instrumentations/network/CoralogixFetchInstrumentation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { XMLHttpRequestInstrumentation, } from '@opentelemetry/instrumentation-xml-http-request';
2
+ import { CoralogixAttributes } from '../../constants';
3
+ import { CoralogixEventType } from '../../types';
4
+ import { CoralogixLogSeverity } from '../../types-external';
5
+ import { isNetworkError } from '../../utils';
6
+ import { propagateTraceHeaderCorsUrls } from '../../otel/CoralogixPropgator';
7
+ import { NetworkDataManager } from './NetworkDataManager';
8
+ import { getSdkConfig } from '../../helpers';
9
+ import { HeadersManager } from './HeadersManager';
10
+ import { NetworkInstrumentationAttributes } from './constants';
11
+ import { markSpanAsOtelToSend } from '../../otel';
12
+ import { checkAttachingNetworkSpanToGlobalSpan } from './network.utils';
13
+ export var XHRSource;
14
+ (function (XHRSource) {
15
+ XHRSource["XHR"] = "xhr";
16
+ })(XHRSource || (XHRSource = {}));
17
+ export class CoralogixXhrInstrumentation extends XMLHttpRequestInstrumentation {
18
+ constructor(config) {
19
+ propagateTraceHeaderCorsUrls(config);
20
+ config.applyCustomAttributesOnSpan = (span, xhr) => {
21
+ markSpanAsOtelToSend(span);
22
+ checkAttachingNetworkSpanToGlobalSpan(span);
23
+ this.setNetworkSpanAttributes(span, xhr);
24
+ };
25
+ super(config);
26
+ this.networkDataManager = new NetworkDataManager();
27
+ this.headersManager = new HeadersManager();
28
+ }
29
+ setNetworkSpanAttributes(span, xhr) {
30
+ const { status } = xhr;
31
+ const { networkExtraConfig } = getSdkConfig();
32
+ const resolvedConfig = this.networkDataManager.resolveConfigForUrl(xhr.responseURL, networkExtraConfig);
33
+ span.setAttributes({
34
+ [CoralogixAttributes.SEVERITY]: isNetworkError(status)
35
+ ? CoralogixLogSeverity.Error
36
+ : CoralogixLogSeverity.Info,
37
+ [CoralogixAttributes.EVENT_TYPE]: CoralogixEventType.NETWORK_REQUEST,
38
+ [CoralogixAttributes.SOURCE]: XHRSource.XHR,
39
+ });
40
+ if (resolvedConfig) {
41
+ this.setResponseAttributes(span, xhr, resolvedConfig);
42
+ }
43
+ }
44
+ setResponseAttributes(span, xhr, resolvedConfig) {
45
+ const { resHeaders, collectResPayload } = resolvedConfig;
46
+ const responsePayload = collectResPayload
47
+ ? this.networkDataManager.truncateIfExceedsLimit(xhr.responseText)
48
+ : undefined;
49
+ const sanitizedHeaders = (resHeaders === null || resHeaders === void 0 ? void 0 : resHeaders.length)
50
+ ? this.headersManager.filterHeaders(xhr.getAllResponseHeaders(), resHeaders)
51
+ : undefined;
52
+ if (responsePayload) {
53
+ span[NetworkInstrumentationAttributes.RESPONSE_PAYLOAD] = responsePayload;
54
+ }
55
+ if (sanitizedHeaders === null || sanitizedHeaders === void 0 ? void 0 : sanitizedHeaders.size) {
56
+ span[NetworkInstrumentationAttributes.RESPONSE_HEADERS] =
57
+ Object.fromEntries(sanitizedHeaders);
58
+ }
59
+ }
60
+ }
61
+ //# sourceMappingURL=CoralogixXhrInstrumentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoralogixXhrInstrumentation.js","sourceRoot":"","sources":["../../../../../../libs/browser/src/instrumentations/network/CoralogixXhrInstrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,GAE9B,MAAM,iDAAiD,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAsB,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qCAAqC,EAAE,MAAM,iBAAiB,CAAC;AAExE,MAAM,CAAN,IAAY,SAEX;AAFD,WAAY,SAAS;IACnB,wBAAW,CAAA;AACb,CAAC,EAFW,SAAS,KAAT,SAAS,QAEpB;AAED,MAAM,OAAO,2BAA4B,SAAQ,6BAA6B;IAG5E,YAAY,MAA2C;QACrD,4BAA4B,CAAC,MAAM,CAAC,CAAC;QAErC,MAAM,CAAC,2BAA2B,GAAG,CAAC,IAAU,EAAE,GAAmB,EAAE,EAAE;YACvE,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC3B,qCAAqC,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEF,KAAK,CAAC,MAAM,CAAC,CAAC;QAXR,uBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC9C,mBAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAW9C,CAAC;IAEO,wBAAwB,CAAC,IAAU,EAAE,GAAmB;QAC9D,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;QACvB,MAAM,EAAE,kBAAkB,EAAE,GAAG,YAAY,EAAE,CAAC;QAC9C,MAAM,cAAc,GAClB,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CACzC,GAAG,CAAC,WAAW,EACf,kBAAkB,CACnB,CAAC;QACJ,IAAI,CAAC,aAAa,CAAC;YACjB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC;gBACpD,CAAC,CAAC,oBAAoB,CAAC,KAAK;gBAC5B,CAAC,CAAC,oBAAoB,CAAC,IAAI;YAC7B,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC,eAAe;YACpE,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG;SAC5C,CAAC,CAAC;QACH,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAEO,qBAAqB,CAC3B,IAAU,EACV,GAAmB,EACnB,cAAkC;QAElC,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,cAAc,CAAC;QACzD,MAAM,eAAe,GAAuB,iBAAiB;YAC3D,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC;YAClE,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,gBAAgB,GAAoC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM;YAC1E,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAC/B,GAAG,CAAC,qBAAqB,EAAE,EAC3B,UAAU,CACX;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,gCAAgC,CAAC,gBAAgB,CAAC,GAAG,eAAe,CAAC;QAC5E,CAAC;QACD,IAAI,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,gCAAgC,CAAC,gBAAgB,CAAC;gBACrD,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,42 @@
1
+ export class HeadersManager {
2
+ filterHeaders(headersInit, allowedKeys = []) {
3
+ if (!headersInit) {
4
+ return new Map();
5
+ }
6
+ const normalized = this.normalizeHeaders(headersInit);
7
+ const filteredHeaders = new Map();
8
+ allowedKeys.forEach((headerKey) => {
9
+ const normalizedKey = headerKey.toLowerCase();
10
+ if (normalized.has(normalizedKey)) {
11
+ filteredHeaders.set(headerKey, normalized.get(normalizedKey));
12
+ }
13
+ });
14
+ return filteredHeaders;
15
+ }
16
+ normalizeHeaders(headersInit) {
17
+ if (typeof headersInit === 'string') {
18
+ return this.normalizeHeadersFromString(headersInit);
19
+ }
20
+ const headers = new Headers(headersInit);
21
+ const headersMap = new Map();
22
+ headers.forEach((value, key) => {
23
+ headersMap.set(key.toLowerCase(), value);
24
+ });
25
+ return headersMap;
26
+ }
27
+ normalizeHeadersFromString(headersString) {
28
+ const headerMap = new Map();
29
+ if (!headersString) {
30
+ return headerMap;
31
+ }
32
+ const lines = headersString.trim().split(/\r\n/);
33
+ lines.forEach((line) => {
34
+ const [key, value] = line.split(': ', 2);
35
+ if (key && value) {
36
+ headerMap.set(key.trim().toLowerCase(), value.trim());
37
+ }
38
+ });
39
+ return headerMap;
40
+ }
41
+ }
42
+ //# sourceMappingURL=HeadersManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeadersManager.js","sourceRoot":"","sources":["../../../../../../libs/browser/src/instrumentations/network/HeadersManager.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAc;IACzB,aAAa,CACX,WAA6C,EAC7C,cAAwB,EAAE;QAE1B,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC;QAED,MAAM,UAAU,GAAwB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC3E,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAElD,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAChC,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAC9C,IAAI,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,eAAe,CAAC;IACzB,CAAC;IAEO,gBAAgB,CACtB,WAAiC;QAEjC,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE7C,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC7B,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,0BAA0B,CAChC,aAAqB;QAErB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACzC,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;gBACjB,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -0,0 +1,87 @@
1
+ import { __awaiter } from "tslib";
2
+ import { MAX_CHARACTERS } from '../../constants';
3
+ export class NetworkDataManager {
4
+ constructor() {
5
+ this.responseBodyParsers = new Map([
6
+ [MimeType.Json, (body) => __awaiter(this, void 0, void 0, function* () { return JSON.stringify(yield body.json()); })],
7
+ [MimeType.TextPlain, (body) => __awaiter(this, void 0, void 0, function* () { return yield body.text(); })],
8
+ [MimeType.TextHtml, (body) => __awaiter(this, void 0, void 0, function* () { return yield body.text(); })],
9
+ [MimeType.TextCss, (body) => __awaiter(this, void 0, void 0, function* () { return yield body.text(); })],
10
+ [MimeType.TextJavascript, (body) => __awaiter(this, void 0, void 0, function* () { return yield body.text(); })],
11
+ [MimeType.Xml, (body) => __awaiter(this, void 0, void 0, function* () { return yield body.text(); })],
12
+ [MimeType.FormData, (body) => __awaiter(this, void 0, void 0, function* () { return yield body.text(); })],
13
+ ]);
14
+ this.requestBodySerializers = new Map([
15
+ [BodyType.String, (body) => __awaiter(this, void 0, void 0, function* () { return body; })],
16
+ [BodyType.Blob, (body) => __awaiter(this, void 0, void 0, function* () { return body.text(); })],
17
+ [
18
+ BodyType.FormData,
19
+ (body) => __awaiter(this, void 0, void 0, function* () { return this.serializeFormData(body); }),
20
+ ],
21
+ [
22
+ BodyType.URLSearchParams,
23
+ (body) => __awaiter(this, void 0, void 0, function* () { return body.toString(); }),
24
+ ],
25
+ [BodyType.JsonObject, (body) => __awaiter(this, void 0, void 0, function* () { return JSON.stringify(body); })],
26
+ ]);
27
+ }
28
+ resolveConfigForUrl(url, configs = []) {
29
+ return configs.find(({ url: configUrl }) => configUrl === url ||
30
+ (configUrl instanceof RegExp && configUrl.test(url)));
31
+ }
32
+ stringifyRequestBody(request) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ if (!(request === null || request === void 0 ? void 0 : request.body))
35
+ return '';
36
+ const bodyContent = yield this.serializeRequestBody(request.body);
37
+ return this.truncateIfExceedsLimit(bodyContent);
38
+ });
39
+ }
40
+ stringifyResponseBody(response) {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ const contentType = response.headers.get('content-type') || '';
43
+ const mimeType = contentType.split(';')[0].trim();
44
+ const parser = this.responseBodyParsers.get(mimeType);
45
+ if (!parser)
46
+ return '';
47
+ const parsedContent = yield parser(response);
48
+ return this.truncateIfExceedsLimit(parsedContent);
49
+ });
50
+ }
51
+ truncateIfExceedsLimit(content) {
52
+ return content.length > MAX_CHARACTERS ? undefined : content;
53
+ }
54
+ serializeRequestBody(body) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ const handler = this.requestBodySerializers.get(body.constructor.name);
57
+ return handler ? yield handler(body) : '';
58
+ });
59
+ }
60
+ serializeFormData(formData) {
61
+ let result = '';
62
+ formData.forEach((value, key) => {
63
+ result += `${key}: ${value}\n`;
64
+ });
65
+ return result.trim();
66
+ }
67
+ }
68
+ var MimeType;
69
+ (function (MimeType) {
70
+ MimeType["Json"] = "application/json";
71
+ MimeType["TextPlain"] = "text/plain";
72
+ MimeType["TextHtml"] = "text/html";
73
+ MimeType["TextCss"] = "text/css";
74
+ MimeType["TextJavascript"] = "application/javascript";
75
+ MimeType["Xml"] = "application/xml";
76
+ MimeType["FormData"] = "multipart/form-data";
77
+ })(MimeType || (MimeType = {}));
78
+ var BodyType;
79
+ (function (BodyType) {
80
+ BodyType["String"] = "String";
81
+ BodyType["Blob"] = "Blob";
82
+ BodyType["FormData"] = "FormData";
83
+ BodyType["URLSearchParams"] = "URLSearchParams";
84
+ BodyType["JsonObject"] = "JsonObject";
85
+ BodyType["Unknown"] = "Unknown";
86
+ })(BodyType || (BodyType = {}));
87
+ //# sourceMappingURL=NetworkDataManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetworkDataManager.js","sourceRoot":"","sources":["../../../../../../libs/browser/src/instrumentations/network/NetworkDataManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export const NetworkInstrumentationAttributes = {
2
+ REQUEST_HEADERS: 'request_headers',
3
+ RESPONSE_HEADERS: 'response_headers',
4
+ RESPONSE_PAYLOAD: 'response_payload',
5
+ REQUEST_PAYLOAD: 'request_payload',
6
+ };
7
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../libs/browser/src/instrumentations/network/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,eAAe,EAAE,iBAAiB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,eAAe,EAAE,iBAAiB;CACnC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { getGlobalSpan, shouldAttachSpanToGlobalSpan, } from '../../custom-spans';
2
+ import { CoralogixEventType } from '../../types';
3
+ export function checkAttachingNetworkSpanToGlobalSpan(span) {
4
+ if (shouldAttachSpanToGlobalSpan(CoralogixEventType.NETWORK_REQUEST)) {
5
+ const globalSpan = getGlobalSpan();
6
+ const { traceId, spanId: globalSpanId } = globalSpan.span.spanContext();
7
+ span['_spanContext'].traceId = traceId;
8
+ span['parentSpanId'] = globalSpanId;
9
+ }
10
+ }
11
+ //# sourceMappingURL=network.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.utils.js","sourceRoot":"","sources":["../../../../../../libs/browser/src/instrumentations/network/network.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,UAAU,qCAAqC,CAAC,IAAU;IAC9D,IAAI,4BAA4B,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,CAAC;QACrE,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACxE,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC;IACtC,CAAC;AACH,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { InstrumentationBase, } from '@opentelemetry/instrumentation';
2
+ import { CoralogixEventType } from '../../types';
3
+ import { CoralogixAttributes } from '../../constants';
4
+ import { CoralogixLogSeverity } from '../../types-external';
5
+ import { getSessionRecorder } from '../../helpers';
6
+ import { SCREENSHOT_INSTRUMENTATION_NAME, SCREENSHOT_INSTRUMENTATION_VERSION, } from './screenshot.utils';
7
+ export class CoralogixScreenshotInstrumentation extends InstrumentationBase {
8
+ constructor(config) {
9
+ super(SCREENSHOT_INSTRUMENTATION_NAME, SCREENSHOT_INSTRUMENTATION_VERSION, config);
10
+ }
11
+ init() { }
12
+ disable() { }
13
+ enable() { }
14
+ screenshot(id, description) {
15
+ if (!getSessionRecorder()) {
16
+ return;
17
+ }
18
+ const span = this.tracer.startSpan(CoralogixEventType.SCREENSHOT);
19
+ span.setAttribute(CoralogixAttributes.EVENT_TYPE, CoralogixEventType.SCREENSHOT);
20
+ span.setAttribute(CoralogixAttributes.SEVERITY, CoralogixLogSeverity.Info);
21
+ span[CoralogixAttributes.SCREENSHOT_CONTEXT] = {
22
+ id,
23
+ description,
24
+ };
25
+ span.end();
26
+ }
27
+ }
28
+ //# sourceMappingURL=CoralogixScreenshotInstrumentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoralogixScreenshotInstrumentation.js","sourceRoot":"","sources":["../../../../../../libs/browser/src/instrumentations/screenshot/CoralogixScreenshotInstrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GAEpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,+BAA+B,EAC/B,kCAAkC,GACnC,MAAM,oBAAoB,CAAC;AAE5B,MAAM,OAAO,kCAAmC,SAAQ,mBAAmB;IACzE,YAAY,MAA6B;QACvC,KAAK,CACH,+BAA+B,EAC/B,kCAAkC,EAClC,MAAM,CACP,CAAC;IACJ,CAAC;IAES,IAAI,KAAU,CAAC;IAEhB,OAAO,KAAI,CAAC;IAEZ,MAAM,KAAI,CAAC;IAEpB,UAAU,CAAC,EAAU,EAAE,WAAoB;QACzC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAElE,IAAI,CAAC,YAAY,CACf,mBAAmB,CAAC,UAAU,EAC9B,kBAAkB,CAAC,UAAU,CAC9B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAE3E,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,GAAG;YAC7C,EAAE;YACF,WAAW;SACZ,CAAC;QAEF,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ export const SCREENSHOT_INSTRUMENTATION_NAME = 'screenshot';
2
+ export const SCREENSHOT_INSTRUMENTATION_VERSION = '1.0.0';
3
+ //# sourceMappingURL=screenshot.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshot.utils.js","sourceRoot":"","sources":["../../../../../../libs/browser/src/instrumentations/screenshot/screenshot.utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,+BAA+B,GAAG,YAAY,CAAC;AAC5D,MAAM,CAAC,MAAM,kCAAkC,GAAG,OAAO,CAAA"}
@@ -0,0 +1,65 @@
1
+ import { InstrumentationBase, } from '@opentelemetry/instrumentation';
2
+ import { CoralogixAttributes, MAX_INTERACTION_ELEMENT_SIZE, } from '../../constants';
3
+ import { CoralogixEventType, } from '../../types';
4
+ import { addEventListeners } from '../../tools/addEventListener';
5
+ import { getSdkConfig } from '../../helpers';
6
+ import { extractMaskedOrTextContent } from './user-interaction.utils';
7
+ import { attachChildSpanToGlobalSpan, shouldAttachSpanToGlobalSpan, } from '../../custom-spans';
8
+ export const USER_INTERACTION_INSTRUMENTATION_NAME = 'user-interaction';
9
+ export const USER_INTERACTION_INSTRUMENTATION_VERSION = '1';
10
+ export const DEFAULT_INSTRUMENTED_EVENTS = {
11
+ ["click" /* DOM_EVENT.CLICK */]: true,
12
+ };
13
+ export class CoralogixUserInteractionInstrumentation extends InstrumentationBase {
14
+ constructor(config) {
15
+ super(USER_INTERACTION_INSTRUMENTATION_NAME, USER_INTERACTION_INSTRUMENTATION_VERSION, config);
16
+ this.handler = (_) => { };
17
+ this.stop = () => { };
18
+ }
19
+ enable() {
20
+ var _a;
21
+ this.handler = (e) => {
22
+ let span;
23
+ if (shouldAttachSpanToGlobalSpan(CoralogixEventType.USER_INTERACTION)) {
24
+ span = attachChildSpanToGlobalSpan(USER_INTERACTION_INSTRUMENTATION_NAME);
25
+ }
26
+ else {
27
+ span = this.tracer.startSpan(USER_INTERACTION_INSTRUMENTATION_NAME);
28
+ }
29
+ const eventTarget = e.target;
30
+ const config = getSdkConfig();
31
+ const { id, type, className, nodeName } = eventTarget;
32
+ const elementText = extractMaskedOrTextContent(eventTarget, config);
33
+ span.setAttribute(CoralogixAttributes.EVENT_TYPE, CoralogixEventType.USER_INTERACTION);
34
+ span.setAttribute(CoralogixAttributes.INTERACTION_EVENT_NAME, e.type);
35
+ if (eventTarget && eventTarget instanceof HTMLElement) {
36
+ [
37
+ [CoralogixAttributes.ELEMENT_ID, id],
38
+ [CoralogixAttributes.ELEMENT_CLASSES, className],
39
+ [CoralogixAttributes.TARGET_ELEMENT_TYPE, type],
40
+ [
41
+ CoralogixAttributes.ELEMENT_INNER_TEXT,
42
+ elementText === null || elementText === void 0 ? void 0 : elementText.slice(0, MAX_INTERACTION_ELEMENT_SIZE),
43
+ ],
44
+ [CoralogixAttributes.TARGET_ELEMENT, nodeName],
45
+ ].forEach(([key, value]) => {
46
+ span.setAttribute(key, value);
47
+ });
48
+ }
49
+ span.end();
50
+ };
51
+ const eventsMap = Object.assign(Object.assign({}, DEFAULT_INSTRUMENTED_EVENTS), (_a = this._config) === null || _a === void 0 ? void 0 : _a['events']);
52
+ const eventNames = Object.entries(eventsMap)
53
+ .filter(([_, enabled]) => enabled)
54
+ .map(([eventName]) => eventName);
55
+ this.stop = addEventListeners(document, eventNames, this.handler, {
56
+ capture: true,
57
+ passive: true,
58
+ }).stop;
59
+ }
60
+ disable() {
61
+ this.stop();
62
+ }
63
+ init() { }
64
+ }
65
+ //# sourceMappingURL=CoralogixUserInteractionInstrumentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoralogixUserInteractionInstrumentation.js","sourceRoot":"","sources":["../../../../../../libs/browser/src/instrumentations/user-interaction/CoralogixUserInteractionInstrumentation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import { MASKED_TEXT } from '../../constants';
2
+ const PARENT_SEARCH_DEPTH = 5;
3
+ const CLICKABLE_ELEMENTS = ['BUTTON', 'LABEL', 'A', 'INPUT', 'OPTION'];
4
+ export function extractMaskedOrTextContent(element, config) {
5
+ if (!element)
6
+ return '';
7
+ const clickableElement = findClickableElement(element, PARENT_SEARCH_DEPTH);
8
+ if (!clickableElement)
9
+ return '';
10
+ return getMaskedOrTextualContent(clickableElement, config);
11
+ }
12
+ function findClickableElement(element, maxDepth) {
13
+ if (!element || maxDepth <= 0) {
14
+ return null;
15
+ }
16
+ if (CLICKABLE_ELEMENTS.includes(element.nodeName))
17
+ return element;
18
+ return findClickableElement(element.parentElement, maxDepth - 1);
19
+ }
20
+ function getMaskedOrTextualContent(element, config) {
21
+ if (shouldMaskElement(element, config.maskInputTypes, config.maskClass) ||
22
+ isParentMasked(element, config.maskClass, PARENT_SEARCH_DEPTH)) {
23
+ return MASKED_TEXT;
24
+ }
25
+ const maskedChild = findMaskedChildren(element, config);
26
+ if (maskedChild) {
27
+ return MASKED_TEXT;
28
+ }
29
+ return getTextualContent(element);
30
+ }
31
+ function isParentMasked(element, maskClass, maxDepth = PARENT_SEARCH_DEPTH) {
32
+ if (!element || maxDepth <= 0) {
33
+ return false;
34
+ }
35
+ if (isMaskedByClass(element.className, maskClass)) {
36
+ return true;
37
+ }
38
+ return isParentMasked(element.parentElement, maskClass, maxDepth - 1);
39
+ }
40
+ function findMaskedChildren(element, config) {
41
+ if (!element.children)
42
+ return null;
43
+ return Array.from(element.children).find((child) => shouldMaskElement(child, config.maskInputTypes, config.maskClass));
44
+ }
45
+ function shouldMaskElement(element, maskInputTypes, maskClass) {
46
+ if (!element)
47
+ return false;
48
+ return (isMaskedInput(element, maskInputTypes) ||
49
+ isMaskedByClass(element.className, maskClass));
50
+ }
51
+ function isMaskedInput(element, maskInputTypes) {
52
+ if (element instanceof HTMLInputElement) {
53
+ const inputType = element.type || 'text';
54
+ return maskInputTypes.includes(inputType);
55
+ }
56
+ return false;
57
+ }
58
+ function isMaskedByClass(className, maskClass) {
59
+ if (maskClass instanceof RegExp) {
60
+ return maskClass.test(className);
61
+ }
62
+ if (typeof className !== 'string') {
63
+ return false;
64
+ }
65
+ return className.includes(maskClass);
66
+ }
67
+ function getTextualContent(element) {
68
+ if (element instanceof HTMLInputElement) {
69
+ return element.value || '';
70
+ }
71
+ return 'innerText' in element ? element.innerText : '';
72
+ }
73
+ //# sourceMappingURL=user-interaction.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-interaction.utils.js","sourceRoot":"","sources":["../../../../../../libs/browser/src/instrumentations/user-interaction/user-interaction.utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { getInternalRumData } from './utils';
2
+ import { INTERNAL_INSTRUMENTATION_NAME } from './instrumentations/instrumentation.consts';
3
+ export const reportInternalEvent = (event, message) => {
4
+ const internalInstrumentation = getInternalRumData(INTERNAL_INSTRUMENTATION_NAME);
5
+ internalInstrumentation === null || internalInstrumentation === void 0 ? void 0 : internalInstrumentation.reportInternalEvent(event, message);
6
+ };
7
+ //# sourceMappingURL=internal-event-reporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal-event-reporter.js","sourceRoot":"","sources":["../../../../libs/browser/src/internal-event-reporter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC;AAE1F,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAA6B,EAC7B,OAAgB,EACV,EAAE;IACR,MAAM,uBAAuB,GAC3B,kBAAkB,CAChB,6BAA6B,CAC9B,CAAC;IAEJ,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC/D,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { isEmpty, isNotEmpty } from '../utils/object';
2
+ export class UrlBasedLabelProvider {
3
+ constructor(config) {
4
+ const { urlPatterns, defaultLabels, urlType } = config;
5
+ const compiledRegexps = urlPatterns.map(({ regexps }) => regexps.map((regexp) => new RegExp(regexp)));
6
+ this.urlType = urlType;
7
+ this.providerFunc = (url, _) => {
8
+ let providerLabels = {};
9
+ outerLoop: for (const [index, compiledRegex,] of compiledRegexps.entries()) {
10
+ const { labels } = urlPatterns[index];
11
+ if (compiledRegex.some((regexp) => regexp.test(url))) {
12
+ providerLabels = Object.assign(Object.assign({}, providerLabels), labels);
13
+ break outerLoop;
14
+ }
15
+ }
16
+ const shouldAddDefaultLabels = isEmpty(providerLabels) && isNotEmpty(defaultLabels);
17
+ if (shouldAddDefaultLabels) {
18
+ providerLabels = Object.assign(Object.assign({}, providerLabels), defaultLabels);
19
+ }
20
+ return providerLabels;
21
+ };
22
+ }
23
+ }
24
+ //# sourceMappingURL=url-based-label-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-based-label-provider.js","sourceRoot":"","sources":["../../../../../libs/browser/src/label-providers/url-based-label-provider.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAatD,MAAM,OAAO,qBAAqB;IAIhC,YAAY,MAAmC;QAC7C,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QACvD,MAAM,eAAe,GAAe,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAClE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CACpD,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,CAAC,GAAW,EAAE,CAAa,EAAE,EAAE;YACjD,IAAI,cAAc,GAAuB,EAAE,CAAC;YAE5C,SAAS,EAAE,KAAK,MAAM,CACpB,KAAK,EACL,aAAa,EACd,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBACrD,cAAc,mCAAQ,cAAc,GAAK,MAAM,CAAE,CAAC;oBAClD,MAAM,SAAS,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,MAAM,sBAAsB,GAC1B,OAAO,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC;YAEvD,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,cAAc,mCAAQ,cAAc,GAAK,aAAa,CAAE,CAAC;YAC3D,CAAC;YAED,OAAO,cAAc,CAAC;QACxB,CAAC,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export * from './labels.utils';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/browser/src/labels/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { CoralogixAttributes } from '../constants';
2
+ import { getAttrProcessor } from '../otel';
3
+ export function setCustomLabelsForSpan(span, labels = {}) {
4
+ span.setAttribute(CoralogixAttributes.CUSTOM_LABELS, JSON.stringify(getCustomMergedLabels(labels)));
5
+ }
6
+ export function getCustomMergedLabels(labels = {}) {
7
+ var _a;
8
+ const globalLabels = ((_a = getAttrProcessor()) === null || _a === void 0 ? void 0 : _a.getCustomLabels()) || {};
9
+ return Object.assign(Object.assign({}, globalLabels), labels);
10
+ }
11
+ //# sourceMappingURL=labels.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labels.utils.js","sourceRoot":"","sources":["../../../../../libs/browser/src/labels/labels.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C,MAAM,UAAU,sBAAsB,CACpC,IAAU,EACV,SAA6B,EAAE;IAE/B,IAAI,CAAC,YAAY,CACf,mBAAmB,CAAC,aAAa,EACjC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAC9C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,SAA6B,EAAE;;IAE/B,MAAM,YAAY,GAChB,CAAA,MAAA,gBAAgB,EAAE,0CAAE,eAAe,EAAE,KAAI,EAAE,CAAC;IAE9C,uCAAY,YAAY,GAAK,MAAM,EAAG;AACxC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mfe.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mfe.types.js","sourceRoot":"","sources":["../../../../../libs/browser/src/mfe/mfe.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export const propagateTraceHeaderCorsUrls = (config) => {
2
+ var _a;
3
+ const { traceParentInHeader } = config;
4
+ const propagateCorsUrls = (_a = traceParentInHeader === null || traceParentInHeader === void 0 ? void 0 : traceParentInHeader.options) === null || _a === void 0 ? void 0 : _a.propagateTraceHeaderCorsUrls;
5
+ if ((traceParentInHeader === null || traceParentInHeader === void 0 ? void 0 : traceParentInHeader.enabled) && propagateCorsUrls) {
6
+ config.propagateTraceHeaderCorsUrls = propagateCorsUrls;
7
+ }
8
+ };
9
+ //# sourceMappingURL=CoralogixPropgator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoralogixPropgator.js","sourceRoot":"","sources":["../../../../../libs/browser/src/otel/CoralogixPropgator.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,MAAwE,EACxE,EAAE;;IACF,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAmC,CAAC;IAEpE,MAAM,iBAAiB,GACrB,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,0CAAE,4BAA4B,CAAC;IAE7D,IAAI,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,KAAI,iBAAiB,EAAE,CAAC;QACtD,MAAM,CAAC,4BAA4B,GAAG,iBAAiB,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { WebTracerProvider } from '@opentelemetry/sdk-trace-web';
2
+ export class CoralogixWebTracerProvider extends WebTracerProvider {
3
+ }
4
+ //# sourceMappingURL=CoralogixWebTracerProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoralogixWebTracerProvider.js","sourceRoot":"","sources":["../../../../../libs/browser/src/otel/CoralogixWebTracerProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,MAAM,OAAO,0BAA2B,SAAQ,iBAAiB;CAAG"}
@@ -0,0 +1,9 @@
1
+ import { SamplingDecision, } from '@opentelemetry/sdk-trace-base';
2
+ export class CxCustomSampler {
3
+ shouldSample() {
4
+ return {
5
+ decision: SamplingDecision.RECORD, // RECORDED BUT SAMPLED = 00
6
+ };
7
+ }
8
+ }
9
+ //# sourceMappingURL=custom-sampler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-sampler.js","sourceRoot":"","sources":["../../../../../libs/browser/src/otel/custom-sampler.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,GAEjB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,OAAO,eAAe;IAC1B,YAAY;QACV,OAAO;YACL,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE,4BAA4B;SAChE,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ export * from './otel.utils';
2
+ export * from './otel.consts';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/browser/src/otel/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,20 @@
1
+ export const IS_OTEL_READY = 'otelReady';
2
+ export const MAIN_TRACER_KEY = '@';
3
+ export const ATTR_PROCESSOR_KEY = 'attrProcessor';
4
+ export var SpanStatusCode;
5
+ (function (SpanStatusCode) {
6
+ /**
7
+ * The default status.
8
+ */
9
+ SpanStatusCode[SpanStatusCode["UNSET"] = 0] = "UNSET";
10
+ /**
11
+ * The operation has been validated by an Application developer or
12
+ * Operator to have completed successfully.
13
+ */
14
+ SpanStatusCode[SpanStatusCode["OK"] = 1] = "OK";
15
+ /**
16
+ * The operation contains an error.
17
+ */
18
+ SpanStatusCode[SpanStatusCode["ERROR"] = 2] = "ERROR";
19
+ })(SpanStatusCode || (SpanStatusCode = {}));
20
+ //# sourceMappingURL=otel.consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel.consts.js","sourceRoot":"","sources":["../../../../../libs/browser/src/otel/otel.consts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;AACzC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AACnC,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAClD,MAAM,CAAN,IAAY,cAcX;AAdD,WAAY,cAAc;IACxB;;OAEG;IACH,qDAAS,CAAA;IACT;;;OAGG;IACH,+CAAM,CAAA;IACN;;OAEG;IACH,qDAAS,CAAA;AACX,CAAC,EAdW,cAAc,KAAd,cAAc,QAczB"}
@@ -0,0 +1,14 @@
1
+ import { ATTR_PROCESSOR_KEY, IS_OTEL_READY } from './otel.consts';
2
+ export function markSpanAsOtelToSend(span) {
3
+ span[IS_OTEL_READY] = true;
4
+ }
5
+ export function shouldAddOtelAttr(span) {
6
+ return !!span[IS_OTEL_READY];
7
+ }
8
+ export function setAttrProcessor(processor) {
9
+ window[ATTR_PROCESSOR_KEY] = processor;
10
+ }
11
+ export function getAttrProcessor() {
12
+ return window[ATTR_PROCESSOR_KEY];
13
+ }
14
+ //# sourceMappingURL=otel.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel.utils.js","sourceRoot":"","sources":["../../../../../libs/browser/src/otel/otel.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAIlE,MAAM,UAAU,oBAAoB,CAAC,IAAU;IAC7C,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAkB;IAClD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,SAA2C;IAE3C,MAAM,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACpC,CAAC"}