@coralogix/browser 1.7.0 → 2.1.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 +22 -0
- package/README.md +1 -2
- package/index.esm.d.ts +1 -0
- package/index.esm.js +6689 -0
- package/package.json +4 -4
- package/src/coralogix-rum.d.ts +14 -0
- package/src/index.d.ts +5 -10
- package/src/processors/CoralogixExporter.d.ts +0 -5
- package/src/tools/getGlobalObject.d.ts +2 -5
- package/src/types.d.ts +1 -1
- package/src/version.d.ts +1 -1
- package/src/Request.js +0 -32
- package/src/Request.js.map +0 -1
- package/src/add-timing.js +0 -9
- package/src/add-timing.js.map +0 -1
- package/src/before-send.js +0 -40
- package/src/before-send.js.map +0 -1
- package/src/configuration.js +0 -67
- package/src/configuration.js.map +0 -1
- package/src/constants.js +0 -183
- package/src/constants.js.map +0 -1
- package/src/custom-spans/custom-spans.consts.js +0 -4
- package/src/custom-spans/custom-spans.consts.js.map +0 -1
- package/src/custom-spans/custom-spans.types.js +0 -2
- package/src/custom-spans/custom-spans.types.js.map +0 -1
- package/src/custom-spans/custom-spans.utils.js +0 -40
- package/src/custom-spans/custom-spans.utils.js.map +0 -1
- package/src/custom-spans/index.js +0 -4
- package/src/custom-spans/index.js.map +0 -1
- package/src/filters/filters.js +0 -28
- package/src/filters/filters.js.map +0 -1
- package/src/helpers.js +0 -21
- package/src/helpers.js.map +0 -1
- package/src/index.js +0 -391
- package/src/index.js.map +0 -1
- package/src/instrumentations/CoralogixCustomLogInstrumentation.js +0 -35
- package/src/instrumentations/CoralogixCustomLogInstrumentation.js.map +0 -1
- package/src/instrumentations/CoralogixDOMInstrumentation.js +0 -33
- package/src/instrumentations/CoralogixDOMInstrumentation.js.map +0 -1
- package/src/instrumentations/CoralogixErrorInstrumentation.js +0 -257
- package/src/instrumentations/CoralogixErrorInstrumentation.js.map +0 -1
- package/src/instrumentations/CoralogixInternalInstrumentation.js +0 -50
- package/src/instrumentations/CoralogixInternalInstrumentation.js.map +0 -1
- package/src/instrumentations/CoralogixLongTaskInstrumentation.js +0 -47
- package/src/instrumentations/CoralogixLongTaskInstrumentation.js.map +0 -1
- package/src/instrumentations/CoralogixResourcesInstrumentation.js +0 -106
- package/src/instrumentations/CoralogixResourcesInstrumentation.js.map +0 -1
- package/src/instrumentations/CoralogixWebVitalsInstrumentation.js +0 -193
- package/src/instrumentations/CoralogixWebVitalsInstrumentation.js.map +0 -1
- package/src/instrumentations/custom-measurements/CoralogixCustomMeasurementInstrumentation.js +0 -26
- package/src/instrumentations/custom-measurements/CoralogixCustomMeasurementInstrumentation.js.map +0 -1
- package/src/instrumentations/custom-measurements/custom-measurements.types.js +0 -2
- package/src/instrumentations/custom-measurements/custom-measurements.types.js.map +0 -1
- package/src/instrumentations/custom-measurements/index.js +0 -4
- package/src/instrumentations/custom-measurements/index.js.map +0 -1
- package/src/instrumentations/custom-measurements/timeMeasurementTracker.js +0 -38
- package/src/instrumentations/custom-measurements/timeMeasurementTracker.js.map +0 -1
- package/src/instrumentations/instrumentation.consts.js +0 -61
- package/src/instrumentations/instrumentation.consts.js.map +0 -1
- package/src/instrumentations/instrumentation.helper.js +0 -4
- package/src/instrumentations/instrumentation.helper.js.map +0 -1
- package/src/instrumentations/instrumentation.model.js +0 -18
- package/src/instrumentations/instrumentation.model.js.map +0 -1
- package/src/instrumentations/memory-usage/CoralogixMemoryUsageInstrumentation.js +0 -58
- package/src/instrumentations/memory-usage/CoralogixMemoryUsageInstrumentation.js.map +0 -1
- package/src/instrumentations/memory-usage/index.js +0 -5
- package/src/instrumentations/memory-usage/index.js.map +0 -1
- package/src/instrumentations/memory-usage/memory-usage-constants.js +0 -4
- package/src/instrumentations/memory-usage/memory-usage-constants.js.map +0 -1
- package/src/instrumentations/memory-usage/memory-usage.types.js +0 -2
- package/src/instrumentations/memory-usage/memory-usage.types.js.map +0 -1
- package/src/instrumentations/memory-usage/memory-usage.utils.js +0 -33
- package/src/instrumentations/memory-usage/memory-usage.utils.js.map +0 -1
- package/src/instrumentations/network/CoralogixFetchInstrumentation.js +0 -103
- package/src/instrumentations/network/CoralogixFetchInstrumentation.js.map +0 -1
- package/src/instrumentations/network/CoralogixXhrInstrumentation.js +0 -61
- package/src/instrumentations/network/CoralogixXhrInstrumentation.js.map +0 -1
- package/src/instrumentations/network/HeadersManager.js +0 -42
- package/src/instrumentations/network/HeadersManager.js.map +0 -1
- package/src/instrumentations/network/NetworkDataManager.js +0 -87
- package/src/instrumentations/network/NetworkDataManager.js.map +0 -1
- package/src/instrumentations/network/constants.js +0 -7
- package/src/instrumentations/network/constants.js.map +0 -1
- package/src/instrumentations/network/network.utils.js +0 -11
- package/src/instrumentations/network/network.utils.js.map +0 -1
- package/src/instrumentations/screenshot/CoralogixScreenshotInstrumentation.js +0 -28
- package/src/instrumentations/screenshot/CoralogixScreenshotInstrumentation.js.map +0 -1
- package/src/instrumentations/screenshot/screenshot.utils.js +0 -3
- package/src/instrumentations/screenshot/screenshot.utils.js.map +0 -1
- package/src/instrumentations/user-interaction/CoralogixUserInteractionInstrumentation.js +0 -65
- package/src/instrumentations/user-interaction/CoralogixUserInteractionInstrumentation.js.map +0 -1
- package/src/instrumentations/user-interaction/user-interaction.utils.js +0 -73
- package/src/instrumentations/user-interaction/user-interaction.utils.js.map +0 -1
- package/src/internal-event-reporter.js +0 -7
- package/src/internal-event-reporter.js.map +0 -1
- package/src/label-providers/url-based-label-provider.js +0 -24
- package/src/label-providers/url-based-label-provider.js.map +0 -1
- package/src/labels/index.js +0 -2
- package/src/labels/index.js.map +0 -1
- package/src/labels/labels.utils.js +0 -11
- package/src/labels/labels.utils.js.map +0 -1
- package/src/mfe/mfe.types.js +0 -2
- package/src/mfe/mfe.types.js.map +0 -1
- package/src/otel/CoralogixPropgator.js +0 -9
- package/src/otel/CoralogixPropgator.js.map +0 -1
- package/src/otel/CoralogixWebTracerProvider.js +0 -4
- package/src/otel/CoralogixWebTracerProvider.js.map +0 -1
- package/src/otel/custom-sampler.js +0 -9
- package/src/otel/custom-sampler.js.map +0 -1
- package/src/otel/index.js +0 -3
- package/src/otel/index.js.map +0 -1
- package/src/otel/otel.consts.js +0 -20
- package/src/otel/otel.consts.js.map +0 -1
- package/src/otel/otel.utils.js +0 -14
- package/src/otel/otel.utils.js.map +0 -1
- package/src/otel/propagators.js +0 -67
- package/src/otel/propagators.js.map +0 -1
- package/src/processors/CoralogixExporter.js +0 -103
- package/src/processors/CoralogixExporter.js.map +0 -1
- package/src/processors/CoralogixNavigationProcessor.js +0 -25
- package/src/processors/CoralogixNavigationProcessor.js.map +0 -1
- package/src/processors/CoralogixSnapshotSpanProcessor.js +0 -83
- package/src/processors/CoralogixSnapshotSpanProcessor.js.map +0 -1
- package/src/processors/CoralogixSpanAttributesProcessor.js +0 -56
- package/src/processors/CoralogixSpanAttributesProcessor.js.map +0 -1
- package/src/processors/CoralogixSpanMapProcessor.js +0 -273
- package/src/processors/CoralogixSpanMapProcessor.js.map +0 -1
- package/src/processors/processor-base.model.js +0 -2
- package/src/processors/processor-base.model.js.map +0 -1
- package/src/processors/processor.helper.js +0 -6
- package/src/processors/processor.helper.js.map +0 -1
- package/src/session/session-idle.js +0 -41
- package/src/session/session-idle.js.map +0 -1
- package/src/session/session.consts.js +0 -24
- package/src/session/session.consts.js.map +0 -1
- package/src/session/session.helper.js +0 -77
- package/src/session/session.helper.js.map +0 -1
- package/src/session/session.model.js +0 -11
- package/src/session/session.model.js.map +0 -1
- package/src/session/sessionManager.js +0 -175
- package/src/session/sessionManager.js.map +0 -1
- package/src/session/sessionRecorder.js +0 -336
- package/src/session/sessionRecorder.js.map +0 -1
- package/src/session/sessionWithError.consts.js +0 -15
- package/src/session/sessionWithError.consts.js.map +0 -1
- package/src/session/workerManager.js +0 -45
- package/src/session/workerManager.js.map +0 -1
- package/src/snapshot/snapshot.consts.js +0 -9
- package/src/snapshot/snapshot.consts.js.map +0 -1
- package/src/snapshot/snapshot.model.js +0 -2
- package/src/snapshot/snapshot.model.js.map +0 -1
- package/src/snapshot/snapshotManager.js +0 -29
- package/src/snapshot/snapshotManager.js.map +0 -1
- package/src/tools/addEventListener.js +0 -30
- package/src/tools/addEventListener.js.map +0 -1
- package/src/tools/getGlobalObject.js +0 -36
- package/src/tools/getGlobalObject.js.map +0 -1
- package/src/tools/getZoneJsOriginalDom.js +0 -17
- package/src/tools/getZoneJsOriginalDom.js.map +0 -1
- package/src/tti-polyfill/tti-polyfill.d.ts +0 -4
- package/src/tti-polyfill/tti-polyfill.js +0 -267
- package/src/tti-polyfill/tti-polyfill.js.map +0 -1
- package/src/types-external.js +0 -10
- package/src/types-external.js.map +0 -1
- package/src/types.js +0 -39
- package/src/types.js.map +0 -1
- package/src/utils/all.js +0 -195
- package/src/utils/all.js.map +0 -1
- package/src/utils/array.js +0 -18
- package/src/utils/array.js.map +0 -1
- package/src/utils/general.js +0 -10
- package/src/utils/general.js.map +0 -1
- package/src/utils/index.js +0 -4
- package/src/utils/index.js.map +0 -1
- package/src/utils/internal-rum-data.js +0 -12
- package/src/utils/internal-rum-data.js.map +0 -1
- package/src/utils/object.js +0 -86
- package/src/utils/object.js.map +0 -1
- package/src/utils/regex.js +0 -16
- package/src/utils/regex.js.map +0 -1
- package/src/utils/string.js +0 -33
- package/src/utils/string.js.map +0 -1
- package/src/utils/time.js +0 -7
- package/src/utils/time.js.map +0 -1
- package/src/version.js +0 -2
- package/src/version.js.map +0 -1
- package/src/workers/session-recording-worker.js +0 -77
- package/src/workers/session-recording-worker.js.map +0 -1
|
@@ -1,257 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { getElementXPath } from '@opentelemetry/sdk-trace-web';
|
|
3
|
-
import { InstrumentationBase, } from '@opentelemetry/instrumentation';
|
|
4
|
-
import { unwrap, wrap } from 'shimmer';
|
|
5
|
-
import { CoralogixAttributes } from '../constants';
|
|
6
|
-
import { CoralogixEventType } from '../types';
|
|
7
|
-
import { CoralogixLogSeverity } from '../types-external';
|
|
8
|
-
import { getCircularReplacer } from '../utils';
|
|
9
|
-
import ErrorStackParser from 'error-stack-parser';
|
|
10
|
-
import { getSdkConfig } from '../helpers';
|
|
11
|
-
import { attachChildSpanToGlobalSpan, shouldAttachSpanToGlobalSpan, } from '../custom-spans';
|
|
12
|
-
import { setCustomLabelsForSpan } from '../labels';
|
|
13
|
-
const CACHED_METADATA_KEY = '__cx_metadata__';
|
|
14
|
-
const ERROR_INSTRUMENTATION_VERSION = '1';
|
|
15
|
-
const STACK_LIMIT = 4096;
|
|
16
|
-
const MESSAGE_LIMIT = 1024;
|
|
17
|
-
export const ERROR_INSTRUMENTATION_NAME = 'errors';
|
|
18
|
-
export const ErrorAttributes = {
|
|
19
|
-
TYPE: 'error_type',
|
|
20
|
-
STACK: 'error_stack',
|
|
21
|
-
MESSAGE: 'error_message',
|
|
22
|
-
DATA: 'error_custom_data',
|
|
23
|
-
};
|
|
24
|
-
export var ErrorSource;
|
|
25
|
-
(function (ErrorSource) {
|
|
26
|
-
ErrorSource["CONSOLE"] = "console";
|
|
27
|
-
ErrorSource["WINDOW"] = "window";
|
|
28
|
-
ErrorSource["UNHANDLED_REJECTION"] = "unhandledrejection";
|
|
29
|
-
ErrorSource["DOCUMENT"] = "document";
|
|
30
|
-
ErrorSource["CAPTURED"] = "captured";
|
|
31
|
-
})(ErrorSource || (ErrorSource = {}));
|
|
32
|
-
function buildStacktrace(span, err) {
|
|
33
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
const { stack, message, name } = err;
|
|
35
|
-
const hasStack = !!(stack === null || stack === void 0 ? void 0 : stack.includes('at '));
|
|
36
|
-
if (err && hasStack) {
|
|
37
|
-
const { supportMfe } = getSdkConfig();
|
|
38
|
-
const stackFrames = ErrorStackParser.parse({
|
|
39
|
-
stack: stack.substring(0, STACK_LIMIT),
|
|
40
|
-
message,
|
|
41
|
-
name,
|
|
42
|
-
}).map(({ fileName, columnNumber, lineNumber, functionName }) => ({
|
|
43
|
-
fileName,
|
|
44
|
-
columnNumber,
|
|
45
|
-
lineNumber,
|
|
46
|
-
functionName,
|
|
47
|
-
}));
|
|
48
|
-
if (supportMfe) {
|
|
49
|
-
yield handleMFE(stackFrames, span);
|
|
50
|
-
}
|
|
51
|
-
span[ErrorAttributes.STACK] = stackFrames;
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
function handleMFE(stackFrames, span) {
|
|
56
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
// Only regular for loop support async await and wait for each iteration
|
|
58
|
-
for (let i = 0; i < stackFrames.length; i++) {
|
|
59
|
-
const metadata = yield extractMetadataFromMfeStacktrace(stackFrames[i].fileName);
|
|
60
|
-
stackFrames[i] = Object.assign(Object.assign({}, stackFrames[i]), (metadata || { isShell: true }));
|
|
61
|
-
}
|
|
62
|
-
const [lastFrame] = stackFrames;
|
|
63
|
-
addLabelForMFE(span, lastFrame);
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
function addLabelForMFE(span, lastFrame) {
|
|
67
|
-
const { app, version, isShell } = lastFrame;
|
|
68
|
-
// Do not add label if its shell
|
|
69
|
-
if (!isShell) {
|
|
70
|
-
setCustomLabelsForSpan(span, { mfeApp: app, mfeVersion: version });
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
function extractMetadataFromMfeStacktrace() {
|
|
74
|
-
return __awaiter(this, arguments, void 0, function* (fileName = '') {
|
|
75
|
-
let metadata;
|
|
76
|
-
const cachedMetadata = window[CACHED_METADATA_KEY];
|
|
77
|
-
const MFE_METADATA_KEY = 'cx-metadata.json';
|
|
78
|
-
const [mfePath] = fileName.match(/https?:\/\/.*\//);
|
|
79
|
-
if (mfePath) {
|
|
80
|
-
let response;
|
|
81
|
-
if (!(cachedMetadata === null || cachedMetadata === void 0 ? void 0 : cachedMetadata.has(mfePath))) {
|
|
82
|
-
try {
|
|
83
|
-
response = yield fetch(`${mfePath}${MFE_METADATA_KEY}`, {
|
|
84
|
-
//this is a browser cache control
|
|
85
|
-
cache: 'no-cache',
|
|
86
|
-
});
|
|
87
|
-
metadata = Object.assign(Object.assign({}, (yield response.json())), { mfePath });
|
|
88
|
-
}
|
|
89
|
-
catch (e) {
|
|
90
|
-
if (getSdkConfig().debug) {
|
|
91
|
-
console.warn('Coralogix Browser SDK - Error fetching metadata', e);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
window[CACHED_METADATA_KEY] = cachedMetadata.set(mfePath, metadata);
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
metadata = cachedMetadata === null || cachedMetadata === void 0 ? void 0 : cachedMetadata.get(mfePath);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
return metadata;
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
const _consoleErrorHandler = (that) => {
|
|
104
|
-
return (original) => (...args) => {
|
|
105
|
-
that.report(ErrorSource.CONSOLE, args);
|
|
106
|
-
return original.apply(that, args);
|
|
107
|
-
};
|
|
108
|
-
};
|
|
109
|
-
const _errorListener = (that) => {
|
|
110
|
-
return (event) => {
|
|
111
|
-
that.report(ErrorSource.WINDOW, event);
|
|
112
|
-
};
|
|
113
|
-
};
|
|
114
|
-
const _unhandledRejectionListener = (that) => {
|
|
115
|
-
return (event) => {
|
|
116
|
-
that.report(ErrorSource.UNHANDLED_REJECTION, event.reason);
|
|
117
|
-
};
|
|
118
|
-
};
|
|
119
|
-
const _documentErrorListener = (that) => {
|
|
120
|
-
return (event) => {
|
|
121
|
-
that.report(ErrorSource.DOCUMENT, event);
|
|
122
|
-
};
|
|
123
|
-
};
|
|
124
|
-
function addErrorDefaultAttributes(span) {
|
|
125
|
-
span.setAttribute(CoralogixAttributes.EVENT_TYPE, CoralogixEventType.ERROR);
|
|
126
|
-
span.setAttribute(CoralogixAttributes.SEVERITY, CoralogixLogSeverity.Error);
|
|
127
|
-
}
|
|
128
|
-
export class CoralogixErrorInstrumentation extends InstrumentationBase {
|
|
129
|
-
constructor(config) {
|
|
130
|
-
super(ERROR_INSTRUMENTATION_NAME, ERROR_INSTRUMENTATION_VERSION, config);
|
|
131
|
-
this.parseErrorObject = (obj) => {
|
|
132
|
-
var _a;
|
|
133
|
-
return (_a = obj === null || obj === void 0 ? void 0 : obj.message) !== null && _a !== void 0 ? _a : JSON.stringify(obj, getCircularReplacer());
|
|
134
|
-
};
|
|
135
|
-
if (getSdkConfig().supportMfe) {
|
|
136
|
-
window[CACHED_METADATA_KEY] = new Map();
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
init() { }
|
|
140
|
-
enable() {
|
|
141
|
-
wrap(console, 'error', _consoleErrorHandler(this));
|
|
142
|
-
window.addEventListener('error', _errorListener(this));
|
|
143
|
-
window.addEventListener('unhandledrejection', _unhandledRejectionListener(this));
|
|
144
|
-
document.documentElement.addEventListener('error', _documentErrorListener(this), {
|
|
145
|
-
capture: true,
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
disable() {
|
|
149
|
-
unwrap(console, 'error');
|
|
150
|
-
window.removeEventListener('error', _errorListener(this));
|
|
151
|
-
window.removeEventListener('unhandledrejection', _unhandledRejectionListener(this));
|
|
152
|
-
document.documentElement.removeEventListener('error', _documentErrorListener(this), { capture: true });
|
|
153
|
-
}
|
|
154
|
-
report(source, arg) {
|
|
155
|
-
if (arg instanceof Array) {
|
|
156
|
-
if (arg.length === 0) {
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
switch (true) {
|
|
161
|
-
case arg instanceof Error:
|
|
162
|
-
this.reportError(source, arg);
|
|
163
|
-
break;
|
|
164
|
-
case arg instanceof ErrorEvent:
|
|
165
|
-
this.reportErrorEvent(source, arg);
|
|
166
|
-
break;
|
|
167
|
-
case arg instanceof Event:
|
|
168
|
-
this.reportEvent(source, arg);
|
|
169
|
-
break;
|
|
170
|
-
case typeof arg === 'string':
|
|
171
|
-
this.reportString(source, arg);
|
|
172
|
-
break;
|
|
173
|
-
case arg instanceof Array: {
|
|
174
|
-
// if any arguments are Errors then add the stack trace even though the message is handled differently
|
|
175
|
-
const firstError = arg.find((x) => x instanceof Error);
|
|
176
|
-
const message = arg
|
|
177
|
-
.map((msg) => typeof msg === 'string' ? msg : this.parseErrorObject(msg))
|
|
178
|
-
.join(' ');
|
|
179
|
-
this.reportString(source, message, firstError);
|
|
180
|
-
break;
|
|
181
|
-
}
|
|
182
|
-
default:
|
|
183
|
-
this.reportString(source, typeof arg === 'string' ? arg : this.getPossibleEventMessage(arg));
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
reportError(source, err, customData, labels) {
|
|
187
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
188
|
-
const { message, name } = err;
|
|
189
|
-
const span = this.createSpan('error');
|
|
190
|
-
const cleanMessage = message.split('\n')[0];
|
|
191
|
-
addErrorDefaultAttributes(span);
|
|
192
|
-
span.setAttribute(CoralogixAttributes.SOURCE, source);
|
|
193
|
-
span.setAttribute(ErrorAttributes.TYPE, name);
|
|
194
|
-
span.setAttribute(ErrorAttributes.MESSAGE, cleanMessage);
|
|
195
|
-
if (customData) {
|
|
196
|
-
span[ErrorAttributes.DATA] = JSON.stringify(customData, getCircularReplacer());
|
|
197
|
-
}
|
|
198
|
-
if (labels) {
|
|
199
|
-
setCustomLabelsForSpan(span, labels);
|
|
200
|
-
}
|
|
201
|
-
yield buildStacktrace(span, err);
|
|
202
|
-
span.end();
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
reportString(source, message, firstError) {
|
|
206
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
207
|
-
const span = this.createSpan(source);
|
|
208
|
-
addErrorDefaultAttributes(span);
|
|
209
|
-
span.setAttribute(CoralogixAttributes.SOURCE, source);
|
|
210
|
-
span.setAttribute(ErrorAttributes.MESSAGE, message === null || message === void 0 ? void 0 : message.substring(0, MESSAGE_LIMIT));
|
|
211
|
-
if (firstError) {
|
|
212
|
-
yield buildStacktrace(span, firstError);
|
|
213
|
-
}
|
|
214
|
-
span.end();
|
|
215
|
-
});
|
|
216
|
-
}
|
|
217
|
-
reportErrorEvent(source, { error, message }) {
|
|
218
|
-
const event = error !== null && error !== void 0 ? error : message;
|
|
219
|
-
this.report(source, event);
|
|
220
|
-
}
|
|
221
|
-
reportEvent(source, ev) {
|
|
222
|
-
if (!ev.target) {
|
|
223
|
-
return;
|
|
224
|
-
}
|
|
225
|
-
const span = this.createSpan(source);
|
|
226
|
-
addErrorDefaultAttributes(span);
|
|
227
|
-
span.setAttribute(CoralogixAttributes.SOURCE, source);
|
|
228
|
-
if (ev.target) {
|
|
229
|
-
span.setAttribute('target_element', ev.target.tagName);
|
|
230
|
-
span.setAttribute('target_xpath', getElementXPath(ev.target, true));
|
|
231
|
-
span.setAttribute('target_src', ev.target.src);
|
|
232
|
-
}
|
|
233
|
-
span.end();
|
|
234
|
-
}
|
|
235
|
-
createSpan(name) {
|
|
236
|
-
let span;
|
|
237
|
-
if (shouldAttachSpanToGlobalSpan(CoralogixEventType.ERROR)) {
|
|
238
|
-
span = attachChildSpanToGlobalSpan(name);
|
|
239
|
-
}
|
|
240
|
-
else {
|
|
241
|
-
span = this.tracer.startSpan(name);
|
|
242
|
-
}
|
|
243
|
-
return span;
|
|
244
|
-
}
|
|
245
|
-
getPossibleEventMessage(event) {
|
|
246
|
-
const { message, statusMessage } = event || {};
|
|
247
|
-
if (message && typeof message === 'string') {
|
|
248
|
-
return message;
|
|
249
|
-
}
|
|
250
|
-
// GrpcStatusEvent
|
|
251
|
-
if (statusMessage && typeof statusMessage === 'string') {
|
|
252
|
-
return statusMessage;
|
|
253
|
-
}
|
|
254
|
-
return JSON.stringify(event);
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
//# sourceMappingURL=CoralogixErrorInstrumentation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CoralogixErrorInstrumentation.js","sourceRoot":"","sources":["../../../../../libs/browser/src/instrumentations/CoralogixErrorInstrumentation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { InstrumentationBase, } from '@opentelemetry/instrumentation';
|
|
2
|
-
import { CoralogixAttributes } from '../constants';
|
|
3
|
-
import { CoralogixLogSeverity } from '../types-external';
|
|
4
|
-
import { CoralogixEventType } from '../types';
|
|
5
|
-
import { getSdkConfig } from '../helpers';
|
|
6
|
-
import { omit } from '../utils/object';
|
|
7
|
-
export const INTERNAL_INSTRUMENTATION_VERSION = '1';
|
|
8
|
-
export class CoralogixInternalInstrumentation extends InstrumentationBase {
|
|
9
|
-
constructor(config) {
|
|
10
|
-
super(CoralogixEventType.INTERNAL, INTERNAL_INSTRUMENTATION_VERSION, config);
|
|
11
|
-
}
|
|
12
|
-
init() { }
|
|
13
|
-
disable() { }
|
|
14
|
-
enable() { }
|
|
15
|
-
reportInternalEvent(event, message = '') {
|
|
16
|
-
const span = this.tracer.startSpan(CoralogixEventType.INTERNAL);
|
|
17
|
-
let data;
|
|
18
|
-
span.setAttribute(CoralogixAttributes.EVENT_TYPE, CoralogixEventType.INTERNAL);
|
|
19
|
-
span.setAttribute(CoralogixAttributes.SEVERITY, CoralogixLogSeverity.Info);
|
|
20
|
-
switch (event) {
|
|
21
|
-
case 'init': {
|
|
22
|
-
const config = omit(getSdkConfig(), 'public_key', 'coralogixDomain');
|
|
23
|
-
data = this.stringifyConfig(config);
|
|
24
|
-
break;
|
|
25
|
-
}
|
|
26
|
-
case 'recording-start':
|
|
27
|
-
break;
|
|
28
|
-
case 'recording-stop':
|
|
29
|
-
data = message;
|
|
30
|
-
break;
|
|
31
|
-
default:
|
|
32
|
-
break;
|
|
33
|
-
}
|
|
34
|
-
span.setAttribute(CoralogixAttributes.INTERNAL, JSON.stringify({
|
|
35
|
-
event,
|
|
36
|
-
data,
|
|
37
|
-
}));
|
|
38
|
-
span.end();
|
|
39
|
-
}
|
|
40
|
-
stringifyConfig(config) {
|
|
41
|
-
const replacer = (key, value) => {
|
|
42
|
-
if (value instanceof RegExp) {
|
|
43
|
-
return value.toString();
|
|
44
|
-
}
|
|
45
|
-
return value;
|
|
46
|
-
};
|
|
47
|
-
return JSON.stringify(config, replacer);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=CoralogixInternalInstrumentation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CoralogixInternalInstrumentation.js","sourceRoot":"","sources":["../../../../../libs/browser/src/instrumentations/CoralogixInternalInstrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GAEpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAA6B,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAGvC,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,CAAC;AASpD,MAAM,OAAO,gCAAiC,SAAQ,mBAAmB;IACvE,YAAY,MAA6B;QACvC,KAAK,CACH,kBAAkB,CAAC,QAAQ,EAC3B,gCAAgC,EAChC,MAAM,CACP,CAAC;IACJ,CAAC;IAES,IAAI,KAAU,CAAC;IAEhB,OAAO,KAAI,CAAC;IAEZ,MAAM,KAAI,CAAC;IAEpB,mBAAmB,CACjB,KAA6B,EAC7B,UAAkB,EAAE;QAEpB,MAAM,IAAI,GAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,IAAS,CAAC;QAEd,IAAI,CAAC,YAAY,CACf,mBAAmB,CAAC,UAAU,EAC9B,kBAAkB,CAAC,QAAQ,CAC5B,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAE3E,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;gBAErE,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB;gBACpB,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,GAAG,OAAO,CAAC;gBACf,MAAM;YACR;gBACE,MAAM;QACV,CAAC;QAED,IAAI,CAAC,YAAY,CACf,mBAAmB,CAAC,QAAQ,EAC5B,IAAI,CAAC,SAAS,CAAC;YACb,KAAK;YACL,IAAI;SACL,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,CAAC;IAEO,eAAe,CAAC,MAA0C;QAChE,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,KAAU,EAAE,EAAE;YAC3C,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC1B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;CACF"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { InstrumentationBase, } from '@opentelemetry/instrumentation';
|
|
2
|
-
import { LONG_TASK_INSTRUMENTATION_VERSION, LONG_TASKS_INSTRUMENTATION_NAME, } from './instrumentation.consts';
|
|
3
|
-
import { CoralogixEventType, PerformanceTypes, } from '../types';
|
|
4
|
-
import { CoralogixAttributes } from '../constants';
|
|
5
|
-
import { deepClone, generateUUID, supportedPerformanceTypes } from '../utils';
|
|
6
|
-
export class CoralogixLongTaskInstrumentation extends InstrumentationBase {
|
|
7
|
-
constructor(config) {
|
|
8
|
-
super(LONG_TASKS_INSTRUMENTATION_NAME, LONG_TASK_INSTRUMENTATION_VERSION, config);
|
|
9
|
-
if (supportedPerformanceTypes.has(PerformanceTypes.LongTask)) {
|
|
10
|
-
this.registerToLongTasks();
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
console.warn('Coralogix Browser SDK - browser doesnt support longtask events');
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
registerToLongTasks() {
|
|
17
|
-
this.longTaskObserver = new PerformanceObserver((list) => {
|
|
18
|
-
list
|
|
19
|
-
.getEntries()
|
|
20
|
-
.forEach((entry) => this.createSpanFromLongTask(entry));
|
|
21
|
-
});
|
|
22
|
-
this.longTaskObserver.observe({
|
|
23
|
-
type: PerformanceTypes.LongTask,
|
|
24
|
-
buffered: true,
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
createSpanFromLongTask(entry) {
|
|
28
|
-
const longTaskSpan = this.tracer.startSpan(CoralogixEventType.LONG_TASK);
|
|
29
|
-
const longTaskContext = Object.assign(Object.assign({}, deepClone(entry)), { id: generateUUID() });
|
|
30
|
-
if (entry['toJSON']) {
|
|
31
|
-
delete longTaskContext['toJSON'];
|
|
32
|
-
}
|
|
33
|
-
if (entry['attribution']) {
|
|
34
|
-
delete longTaskContext['attribution'];
|
|
35
|
-
}
|
|
36
|
-
longTaskSpan.setAttribute(CoralogixAttributes.EVENT_TYPE, CoralogixEventType.LONG_TASK);
|
|
37
|
-
longTaskSpan.setAttribute(CoralogixEventType.LONG_TASK, JSON.stringify(longTaskContext));
|
|
38
|
-
longTaskSpan.end();
|
|
39
|
-
}
|
|
40
|
-
enable() { }
|
|
41
|
-
disable() {
|
|
42
|
-
var _a;
|
|
43
|
-
(_a = this.longTaskObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
44
|
-
}
|
|
45
|
-
init() { }
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=CoralogixLongTaskInstrumentation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CoralogixLongTaskInstrumentation.js","sourceRoot":"","sources":["../../../../../libs/browser/src/instrumentations/CoralogixLongTaskInstrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GAEpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iCAAiC,EACjC,+BAA+B,GAChC,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,kBAAkB,EAElB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAE9E,MAAM,OAAO,gCAAiC,SAAQ,mBAAmB;IAGvE,YAAY,MAA6B;QACvC,KAAK,CACH,+BAA+B,EAC/B,iCAAiC,EACjC,MAAM,CACP,CAAC;QAEF,IAAI,yBAAyB,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CACV,gEAAgE,CACjE,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,gBAAgB,GAAG,IAAI,mBAAmB,CAC7C,CAAC,IAAkC,EAAE,EAAE;YACrC,IAAI;iBACD,UAAU,EAAE;iBACZ,OAAO,CAAC,CAAC,KAAuB,EAAE,EAAE,CACnC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CACnC,CAAC;QACN,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAC,KAAuB;QACpD,MAAM,YAAY,GAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAC9C,kBAAkB,CAAC,SAAS,CAC7B,CAAC;QAEF,MAAM,eAAe,mCAChB,SAAS,CAAC,KAAK,CAAC,KACnB,EAAE,EAAE,YAAY,EAAE,GACnB,CAAC;QAEF,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpB,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;YACzB,OAAO,eAAe,CAAC,aAAa,CAAC,CAAC;QACxC,CAAC;QAED,YAAY,CAAC,YAAY,CACvB,mBAAmB,CAAC,UAAU,EAC9B,kBAAkB,CAAC,SAAS,CAC7B,CAAC;QAEF,YAAY,CAAC,YAAY,CACvB,kBAAkB,CAAC,SAAS,EAC5B,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAChC,CAAC;QAEF,YAAY,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;IAEQ,MAAM,KAAI,CAAC;IAEX,OAAO;;QACd,MAAA,IAAI,CAAC,gBAAgB,0CAAE,UAAU,EAAE,CAAC;IACtC,CAAC;IAES,IAAI,KAAU,CAAC;CAC1B"}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { InstrumentationBase, } from '@opentelemetry/instrumentation';
|
|
2
|
-
import { CSS_EXTENSIONS, DOC_EXTENSIONS, FONT_EXTENSIONS, FONTS_URL, IMG_EXTENSIONS, MEDIA_EXTENSIONS, OTHER_EXTENSIONS, RESOURCES_INSTRUMENTATION_NAME, RESOURCES_INSTRUMENTATION_VERSION, SCRIPT_EXTENSIONS, } from './instrumentation.consts';
|
|
3
|
-
import { CoralogixEventType, PerformanceTypes } from '../types';
|
|
4
|
-
import { CoralogixAttributes, MAX_CHARACTERS } from '../constants';
|
|
5
|
-
import { deepClone, supportedPerformanceTypes, valueEndWithOrInclude, } from '../utils';
|
|
6
|
-
import { resourceInitiatorTypeIs } from './instrumentation.helper';
|
|
7
|
-
import { ResourceInitiatorTypes } from './instrumentation.model';
|
|
8
|
-
import { getSdkConfig } from '../helpers';
|
|
9
|
-
import { isPatternMatch } from '../utils/regex';
|
|
10
|
-
export class CoralogixResourcesInstrumentation extends InstrumentationBase {
|
|
11
|
-
constructor(config) {
|
|
12
|
-
var _a;
|
|
13
|
-
super(RESOURCES_INSTRUMENTATION_NAME, RESOURCES_INSTRUMENTATION_VERSION, config);
|
|
14
|
-
this.ignoreUrls = (_a = getSdkConfig()) === null || _a === void 0 ? void 0 : _a.ignoreUrls;
|
|
15
|
-
if (supportedPerformanceTypes.has(PerformanceTypes.Resource)) {
|
|
16
|
-
this.registerToResources();
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
console.warn('Coralogix Browser SDK - browser doesnt support resource events');
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
registerToResources() {
|
|
23
|
-
this.resourcesObserver = new PerformanceObserver((list) => {
|
|
24
|
-
list.getEntries().forEach((entry) => {
|
|
25
|
-
if (this.isProcessableResourceEntry(entry)) {
|
|
26
|
-
const mappedEntry = this.mapResource(entry);
|
|
27
|
-
this.createSpanFromResource(mappedEntry);
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
this.resourcesObserver.observe({
|
|
32
|
-
type: PerformanceTypes.Resource,
|
|
33
|
-
buffered: true,
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
isProcessableResourceEntry(entry) {
|
|
37
|
-
const isAcceptedResourceType = ![
|
|
38
|
-
ResourceInitiatorTypes.Xhr,
|
|
39
|
-
ResourceInitiatorTypes.Fetch,
|
|
40
|
-
].includes(entry
|
|
41
|
-
.initiatorType);
|
|
42
|
-
const isNotIgnoredResource = !this.isResourceIgnored(entry.name);
|
|
43
|
-
return isAcceptedResourceType && isNotIgnoredResource;
|
|
44
|
-
}
|
|
45
|
-
isResourceIgnored(resourceName) {
|
|
46
|
-
var _a;
|
|
47
|
-
if (!resourceName || !((_a = this.ignoreUrls) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
return isPatternMatch(resourceName, this.ignoreUrls, 'ignoreUrls');
|
|
51
|
-
}
|
|
52
|
-
mapResource(resource) {
|
|
53
|
-
const resourceName = resource.name;
|
|
54
|
-
let initiatorType = resource.initiatorType;
|
|
55
|
-
switch (true) {
|
|
56
|
-
case resourceInitiatorTypeIs(initiatorType, [
|
|
57
|
-
ResourceInitiatorTypes.Beacon,
|
|
58
|
-
]) || valueEndWithOrInclude(resourceName, OTHER_EXTENSIONS):
|
|
59
|
-
initiatorType = ResourceInitiatorTypes.Other;
|
|
60
|
-
break;
|
|
61
|
-
case initiatorType !== ResourceInitiatorTypes.Css &&
|
|
62
|
-
valueEndWithOrInclude(resourceName, CSS_EXTENSIONS):
|
|
63
|
-
initiatorType = ResourceInitiatorTypes.Css;
|
|
64
|
-
break;
|
|
65
|
-
case initiatorType !== ResourceInitiatorTypes.Script &&
|
|
66
|
-
valueEndWithOrInclude(resourceName, SCRIPT_EXTENSIONS):
|
|
67
|
-
initiatorType = ResourceInitiatorTypes.Script;
|
|
68
|
-
break;
|
|
69
|
-
case initiatorType !== ResourceInitiatorTypes.Img &&
|
|
70
|
-
valueEndWithOrInclude(resourceName, IMG_EXTENSIONS):
|
|
71
|
-
initiatorType = ResourceInitiatorTypes.Img;
|
|
72
|
-
break;
|
|
73
|
-
case resourceName.includes(FONTS_URL) ||
|
|
74
|
-
valueEndWithOrInclude(resourceName, FONT_EXTENSIONS):
|
|
75
|
-
initiatorType = ResourceInitiatorTypes.Font;
|
|
76
|
-
break;
|
|
77
|
-
case initiatorType !== ResourceInitiatorTypes.Iframe &&
|
|
78
|
-
valueEndWithOrInclude(resourceName, DOC_EXTENSIONS):
|
|
79
|
-
initiatorType = ResourceInitiatorTypes.Doc;
|
|
80
|
-
break;
|
|
81
|
-
case resourceInitiatorTypeIs(initiatorType, [
|
|
82
|
-
ResourceInitiatorTypes.Video,
|
|
83
|
-
ResourceInitiatorTypes.Audio,
|
|
84
|
-
ResourceInitiatorTypes.Track,
|
|
85
|
-
]) || valueEndWithOrInclude(resourceName, MEDIA_EXTENSIONS):
|
|
86
|
-
initiatorType = ResourceInitiatorTypes.Media;
|
|
87
|
-
break;
|
|
88
|
-
}
|
|
89
|
-
return Object.assign(Object.assign({}, deepClone(resource)), { initiatorType });
|
|
90
|
-
}
|
|
91
|
-
createSpanFromResource(entry) {
|
|
92
|
-
var _a;
|
|
93
|
-
const resourceSpan = this.tracer.startSpan(RESOURCES_INSTRUMENTATION_NAME);
|
|
94
|
-
resourceSpan.setAttribute(CoralogixAttributes.EVENT_TYPE, CoralogixEventType.RESOURCES);
|
|
95
|
-
const newEntry = Object.assign(Object.assign({}, deepClone(entry)), { name: (_a = entry.name) === null || _a === void 0 ? void 0 : _a.slice(0, MAX_CHARACTERS) });
|
|
96
|
-
resourceSpan.setAttribute(RESOURCES_INSTRUMENTATION_NAME, JSON.stringify(newEntry));
|
|
97
|
-
resourceSpan.end();
|
|
98
|
-
}
|
|
99
|
-
enable() { }
|
|
100
|
-
disable() {
|
|
101
|
-
var _a;
|
|
102
|
-
(_a = this.resourcesObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
103
|
-
}
|
|
104
|
-
init() { }
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=CoralogixResourcesInstrumentation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CoralogixResourcesInstrumentation.js","sourceRoot":"","sources":["../../../../../libs/browser/src/instrumentations/CoralogixResourcesInstrumentation.ts"],"names":[],"mappings":"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"}
|