@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.
- package/CHANGELOG.md +6 -0
- package/package.json +4 -4
- package/src/Request.js +32 -0
- package/src/Request.js.map +1 -0
- package/src/add-timing.js +9 -0
- package/src/add-timing.js.map +1 -0
- package/src/before-send.js +40 -0
- package/src/before-send.js.map +1 -0
- package/src/configuration.js +67 -0
- package/src/configuration.js.map +1 -0
- package/src/constants.js +183 -0
- package/src/constants.js.map +1 -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.js +2 -0
- package/src/custom-spans/custom-spans.types.js.map +1 -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.js +4 -0
- package/src/custom-spans/index.js.map +1 -0
- package/src/filters/filters.js +28 -0
- package/src/filters/filters.js.map +1 -0
- package/src/helpers.js +21 -0
- package/src/helpers.js.map +1 -0
- package/src/index.js +391 -0
- package/src/index.js.map +1 -0
- package/src/instrumentations/CoralogixCustomLogInstrumentation.js +35 -0
- package/src/instrumentations/CoralogixCustomLogInstrumentation.js.map +1 -0
- package/src/instrumentations/CoralogixDOMInstrumentation.js +33 -0
- package/src/instrumentations/CoralogixDOMInstrumentation.js.map +1 -0
- package/src/instrumentations/CoralogixErrorInstrumentation.js +257 -0
- package/src/instrumentations/CoralogixErrorInstrumentation.js.map +1 -0
- package/src/instrumentations/CoralogixInternalInstrumentation.js +50 -0
- package/src/instrumentations/CoralogixInternalInstrumentation.js.map +1 -0
- package/src/instrumentations/CoralogixLongTaskInstrumentation.js +47 -0
- package/src/instrumentations/CoralogixLongTaskInstrumentation.js.map +1 -0
- package/src/instrumentations/CoralogixResourcesInstrumentation.js +106 -0
- package/src/instrumentations/CoralogixResourcesInstrumentation.js.map +1 -0
- package/src/instrumentations/CoralogixWebVitalsInstrumentation.js +193 -0
- package/src/instrumentations/CoralogixWebVitalsInstrumentation.js.map +1 -0
- package/src/instrumentations/custom-measurements/CoralogixCustomMeasurementInstrumentation.js +26 -0
- package/src/instrumentations/custom-measurements/CoralogixCustomMeasurementInstrumentation.js.map +1 -0
- package/src/instrumentations/custom-measurements/custom-measurements.types.js +2 -0
- package/src/instrumentations/custom-measurements/custom-measurements.types.js.map +1 -0
- package/src/instrumentations/custom-measurements/index.js +4 -0
- package/src/instrumentations/custom-measurements/index.js.map +1 -0
- package/src/instrumentations/custom-measurements/timeMeasurementTracker.js +38 -0
- package/src/instrumentations/custom-measurements/timeMeasurementTracker.js.map +1 -0
- package/src/instrumentations/instrumentation.consts.js +61 -0
- package/src/instrumentations/instrumentation.consts.js.map +1 -0
- package/src/instrumentations/instrumentation.helper.js +4 -0
- package/src/instrumentations/instrumentation.helper.js.map +1 -0
- package/src/instrumentations/instrumentation.model.js +18 -0
- package/src/instrumentations/instrumentation.model.js.map +1 -0
- package/src/instrumentations/memory-usage/CoralogixMemoryUsageInstrumentation.js +58 -0
- package/src/instrumentations/memory-usage/CoralogixMemoryUsageInstrumentation.js.map +1 -0
- package/src/instrumentations/memory-usage/index.js +5 -0
- package/src/instrumentations/memory-usage/index.js.map +1 -0
- package/src/instrumentations/memory-usage/memory-usage-constants.js +4 -0
- package/src/instrumentations/memory-usage/memory-usage-constants.js.map +1 -0
- package/src/instrumentations/memory-usage/memory-usage.types.js +2 -0
- package/src/instrumentations/memory-usage/memory-usage.types.js.map +1 -0
- package/src/instrumentations/memory-usage/memory-usage.utils.js +33 -0
- package/src/instrumentations/memory-usage/memory-usage.utils.js.map +1 -0
- package/src/instrumentations/network/CoralogixFetchInstrumentation.js +103 -0
- package/src/instrumentations/network/CoralogixFetchInstrumentation.js.map +1 -0
- package/src/instrumentations/network/CoralogixXhrInstrumentation.js +61 -0
- package/src/instrumentations/network/CoralogixXhrInstrumentation.js.map +1 -0
- package/src/instrumentations/network/HeadersManager.js +42 -0
- package/src/instrumentations/network/HeadersManager.js.map +1 -0
- package/src/instrumentations/network/NetworkDataManager.js +87 -0
- package/src/instrumentations/network/NetworkDataManager.js.map +1 -0
- package/src/instrumentations/network/constants.js +7 -0
- package/src/instrumentations/network/constants.js.map +1 -0
- package/src/instrumentations/network/network.utils.js +11 -0
- package/src/instrumentations/network/network.utils.js.map +1 -0
- package/src/instrumentations/screenshot/CoralogixScreenshotInstrumentation.js +28 -0
- package/src/instrumentations/screenshot/CoralogixScreenshotInstrumentation.js.map +1 -0
- package/src/instrumentations/screenshot/screenshot.utils.js +3 -0
- package/src/instrumentations/screenshot/screenshot.utils.js.map +1 -0
- package/src/instrumentations/user-interaction/CoralogixUserInteractionInstrumentation.js +65 -0
- package/src/instrumentations/user-interaction/CoralogixUserInteractionInstrumentation.js.map +1 -0
- package/src/instrumentations/user-interaction/user-interaction.utils.js +73 -0
- package/src/instrumentations/user-interaction/user-interaction.utils.js.map +1 -0
- package/src/internal-event-reporter.js +7 -0
- package/src/internal-event-reporter.js.map +1 -0
- package/src/label-providers/url-based-label-provider.js +24 -0
- package/src/label-providers/url-based-label-provider.js.map +1 -0
- package/src/labels/index.js +2 -0
- package/src/labels/index.js.map +1 -0
- package/src/labels/labels.utils.js +11 -0
- package/src/labels/labels.utils.js.map +1 -0
- package/src/mfe/mfe.types.js +2 -0
- package/src/mfe/mfe.types.js.map +1 -0
- package/src/otel/CoralogixPropgator.js +9 -0
- package/src/otel/CoralogixPropgator.js.map +1 -0
- package/src/otel/CoralogixWebTracerProvider.js +4 -0
- package/src/otel/CoralogixWebTracerProvider.js.map +1 -0
- package/src/otel/custom-sampler.js +9 -0
- package/src/otel/custom-sampler.js.map +1 -0
- package/src/otel/index.js +3 -0
- package/src/otel/index.js.map +1 -0
- package/src/otel/otel.consts.js +20 -0
- package/src/otel/otel.consts.js.map +1 -0
- package/src/otel/otel.utils.js +14 -0
- package/src/otel/otel.utils.js.map +1 -0
- package/src/otel/propagators.js +67 -0
- package/src/otel/propagators.js.map +1 -0
- package/src/processors/CoralogixExporter.js +103 -0
- package/src/processors/CoralogixExporter.js.map +1 -0
- package/src/processors/CoralogixNavigationProcessor.js +25 -0
- package/src/processors/CoralogixNavigationProcessor.js.map +1 -0
- package/src/processors/CoralogixSnapshotSpanProcessor.js +83 -0
- package/src/processors/CoralogixSnapshotSpanProcessor.js.map +1 -0
- package/src/processors/CoralogixSpanAttributesProcessor.js +56 -0
- package/src/processors/CoralogixSpanAttributesProcessor.js.map +1 -0
- package/src/processors/CoralogixSpanMapProcessor.js +273 -0
- package/src/processors/CoralogixSpanMapProcessor.js.map +1 -0
- package/src/processors/processor-base.model.js +2 -0
- package/src/processors/processor-base.model.js.map +1 -0
- package/src/processors/processor.helper.js +6 -0
- package/src/processors/processor.helper.js.map +1 -0
- package/src/session/session-idle.js +41 -0
- package/src/session/session-idle.js.map +1 -0
- package/src/session/session.consts.js +24 -0
- package/src/session/session.consts.js.map +1 -0
- package/src/session/session.helper.js +77 -0
- package/src/session/session.helper.js.map +1 -0
- package/src/session/session.model.js +11 -0
- package/src/session/session.model.js.map +1 -0
- package/src/session/sessionManager.js +175 -0
- package/src/session/sessionManager.js.map +1 -0
- package/src/session/sessionRecorder.js +336 -0
- package/src/session/sessionRecorder.js.map +1 -0
- package/src/session/sessionWithError.consts.js +15 -0
- package/src/session/sessionWithError.consts.js.map +1 -0
- package/src/session/workerManager.js +45 -0
- package/src/session/workerManager.js.map +1 -0
- package/src/snapshot/snapshot.consts.js +9 -0
- package/src/snapshot/snapshot.consts.js.map +1 -0
- package/src/snapshot/snapshot.model.js +2 -0
- package/src/snapshot/snapshot.model.js.map +1 -0
- package/src/snapshot/snapshotManager.js +29 -0
- package/src/snapshot/snapshotManager.js.map +1 -0
- package/src/tools/addEventListener.js +30 -0
- package/src/tools/addEventListener.js.map +1 -0
- package/src/tools/getGlobalObject.js +36 -0
- package/src/tools/getGlobalObject.js.map +1 -0
- package/src/tools/getZoneJsOriginalDom.js +17 -0
- package/src/tools/getZoneJsOriginalDom.js.map +1 -0
- package/src/tti-polyfill/tti-polyfill.d.ts +4 -0
- package/src/tti-polyfill/tti-polyfill.js +267 -0
- package/src/tti-polyfill/tti-polyfill.js.map +1 -0
- package/src/types-external.js +10 -0
- package/src/types-external.js.map +1 -0
- package/src/types.d.ts +1 -1
- package/src/types.js +39 -0
- package/src/types.js.map +1 -0
- package/src/utils/all.js +195 -0
- package/src/utils/all.js.map +1 -0
- package/src/utils/array.js +18 -0
- package/src/utils/array.js.map +1 -0
- package/src/utils/general.js +10 -0
- package/src/utils/general.js.map +1 -0
- package/src/utils/index.js +4 -0
- package/src/utils/index.js.map +1 -0
- package/src/utils/internal-rum-data.js +12 -0
- package/src/utils/internal-rum-data.js.map +1 -0
- package/src/utils/object.js +86 -0
- package/src/utils/object.js.map +1 -0
- package/src/utils/regex.js +16 -0
- package/src/utils/regex.js.map +1 -0
- package/src/utils/string.js +33 -0
- package/src/utils/string.js.map +1 -0
- package/src/utils/time.js +7 -0
- package/src/utils/time.js.map +1 -0
- package/src/version.d.ts +1 -1
- package/src/version.js +2 -0
- package/src/version.js.map +1 -0
- package/src/workers/session-recording-worker.js +77 -0
- package/src/workers/session-recording-worker.js.map +1 -0
- package/coralogix-browser-sdk.esm.d.ts +0 -1
- 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":"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"}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|