@coralogix/browser 1.1.2 → 1.1.6
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/README.md +24 -1
- package/package.json +1 -1
- package/src/CoralogixExporter.js +15 -11
- package/src/CoralogixExporter.js.map +1 -1
- package/src/before-send.d.ts +2 -0
- package/src/before-send.js +39 -0
- package/src/before-send.js.map +1 -0
- package/src/constants.d.ts +1 -0
- package/src/constants.js +3 -2
- package/src/constants.js.map +1 -1
- package/src/instrumentations/CoralogixResourcesInstrumentation.js +2 -2
- package/src/instrumentations/CoralogixResourcesInstrumentation.js.map +1 -1
- package/src/types.d.ts +15 -7
- package/src/types.js.map +1 -1
- package/src/utils/object.d.ts +1 -0
- package/src/utils/object.js +4 -0
- package/src/utils/object.js.map +1 -0
- package/src/version.d.ts +1 -1
- package/src/version.js +1 -1
package/README.md
CHANGED
|
@@ -33,7 +33,7 @@ CoralogixRum.init({
|
|
|
33
33
|
});
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
-
More properties: `instrumentations`, `traceParentInHeader`, `ignoreUrls`, `debug`, `urlBlueprinters`
|
|
36
|
+
More properties: `instrumentations`, `traceParentInHeader`, `ignoreUrls`, `debug`, `urlBlueprinters`, `beforeSend`
|
|
37
37
|
|
|
38
38
|
To provide contextual information or transmit manual logs, utilize the exported functions of `CoralogixRum`.
|
|
39
39
|
Keep in mind that these functions will remain inactive until you've invoked `CoralogixRum.init()`.
|
|
@@ -274,6 +274,29 @@ CoralogixRum.init({
|
|
|
274
274
|
});
|
|
275
275
|
````
|
|
276
276
|
|
|
277
|
+
### beforeSend
|
|
278
|
+
Enable event access and modification before sending to Coralogix, supporting content modification, and event discarding.
|
|
279
|
+
|
|
280
|
+
```javascript
|
|
281
|
+
CoralogixRum.init({
|
|
282
|
+
// ...
|
|
283
|
+
beforeSend: (event) => {
|
|
284
|
+
// Discard events from @company.com users.
|
|
285
|
+
if (event.session_context.user_email?.endsWith('@company.com')) {
|
|
286
|
+
return null;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
// Redact sensitive information from the page URL.
|
|
290
|
+
event.page_context.page_url = event.page_context.page_url.replace(
|
|
291
|
+
'sensitive-info',
|
|
292
|
+
'redacted'
|
|
293
|
+
);
|
|
294
|
+
|
|
295
|
+
return event;
|
|
296
|
+
},
|
|
297
|
+
});
|
|
298
|
+
````
|
|
299
|
+
|
|
277
300
|
## CDN
|
|
278
301
|
|
|
279
302
|
Coralogix Browser SDK is also provided via CDN.
|
package/package.json
CHANGED
package/src/CoralogixExporter.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CoralogixEventType, OtelNetworkAttrs, } from './types';
|
|
2
|
-
import { CORALOGIX_LOGS_URL_SUFFIX, CoralogixAttributes, CoralogixDomainsApiUrlMap, NETWORK_URL_LABEL_PROVIDERS_KEY, PAGE_URL_LABEL_PROVIDERS_KEY, } from './constants';
|
|
2
|
+
import { CORALOGIX_LOGS_URL_SUFFIX, CoralogixAttributes, CoralogixDomainsApiUrlMap, MAX_CHARACTERS, NETWORK_URL_LABEL_PROVIDERS_KEY, PAGE_URL_LABEL_PROVIDERS_KEY, } from './constants';
|
|
3
3
|
import { CoralogixLogSeverity } from './types-external';
|
|
4
4
|
import ErrorStackParser from 'error-stack-parser';
|
|
5
5
|
import { applyUrlBluePrinters, deepClone, flattenAttributes, getInternalRumData, getUrlFragments, hrTimeToMilliseconds, parseUserAgent, } from './utils';
|
|
@@ -8,6 +8,7 @@ import { ExportResultCode } from '@opentelemetry/core';
|
|
|
8
8
|
import { LONG_TASK_PERFORMANCE_TYPE, RESOURCES_INSTRUMENTATION_NAME, WEB_VITALS_INSTRUMENTATION_NAME, } from './instrumentations/instrumentation.consts';
|
|
9
9
|
import { getSdkConfig, getSessionManager, getSessionRecorder } from './helpers';
|
|
10
10
|
import { shouldDropEvent } from './filters/filters';
|
|
11
|
+
import { processBeforeSend } from './before-send';
|
|
11
12
|
export class CoralogixExporter {
|
|
12
13
|
constructor({ public_key, coralogixDomain }) {
|
|
13
14
|
this.isActive = true;
|
|
@@ -28,9 +29,16 @@ export class CoralogixExporter {
|
|
|
28
29
|
const session = ((_b = getSessionManager()) === null || _b === void 0 ? void 0 : _b.getSession()) || ((_c = getSessionManager()) === null || _c === void 0 ? void 0 : _c.setSession());
|
|
29
30
|
const sessionHasRecording = !!((_d = getSessionRecorder()) === null || _d === void 0 ? void 0 : _d.getSessionHasRecording());
|
|
30
31
|
const prevSession = (_e = getSessionManager()) === null || _e === void 0 ? void 0 : _e.getPrevSession();
|
|
31
|
-
const cxSpans = spans
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
const cxSpans = spans.reduce((acc, span) => {
|
|
33
|
+
const cxSpan = this._mapToCxSpan(span, session, prevSession, sessionHasRecording);
|
|
34
|
+
if (!shouldDropEvent(cxSpan.text.cx_rum, this.sdkConfig)) {
|
|
35
|
+
const resolvedCxSpan = processBeforeSend(cxSpan, this.sdkConfig);
|
|
36
|
+
if (resolvedCxSpan) {
|
|
37
|
+
acc.push(resolvedCxSpan);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return acc;
|
|
41
|
+
}, []);
|
|
34
42
|
if (cxSpans.length) {
|
|
35
43
|
fetch(this.url, {
|
|
36
44
|
method: 'POST',
|
|
@@ -56,7 +64,6 @@ export class CoralogixExporter {
|
|
|
56
64
|
const { attributes, startTime, parentSpanId, name, endTime, status, duration, kind, } = span;
|
|
57
65
|
const user_context = JSON.parse(attributes[CoralogixAttributes.USER_CONTEXT]);
|
|
58
66
|
const application_context = JSON.parse(attributes[CoralogixAttributes.APPLICATION_CONTEXT]);
|
|
59
|
-
const { user_id, user_name, user_metadata, user_email } = user_context;
|
|
60
67
|
const { application, version } = application_context;
|
|
61
68
|
const eventType = attributes[CoralogixAttributes.EVENT_TYPE];
|
|
62
69
|
const eventTypeContext = this._getEventTypeContext(attributes, eventType, span);
|
|
@@ -84,16 +91,13 @@ export class CoralogixExporter {
|
|
|
84
91
|
text: {
|
|
85
92
|
cx_rum: Object.assign(Object.assign({ timestamp }, eventTypeContext), { browser_sdk: {
|
|
86
93
|
version: SDK_VERSION,
|
|
87
|
-
}, version_metadata, session_context: Object.assign(Object.assign({ session_id: sessionId, session_creation_date: sessionCreationDate, prev_session: prevSessionId
|
|
94
|
+
}, version_metadata, session_context: Object.assign(Object.assign(Object.assign({}, user_context), { session_id: sessionId, session_creation_date: sessionCreationDate, prev_session: prevSessionId
|
|
88
95
|
? {
|
|
89
96
|
session_id: prevSessionId,
|
|
90
97
|
session_creation_date: prevSessionCreationDate,
|
|
91
98
|
hasRecording: prevSessionHasRecording,
|
|
92
99
|
}
|
|
93
|
-
: undefined, hasRecording: sessionHasRecording, user_agent: attributes[CoralogixAttributes.USER_AGENT] }, parseUserAgent(attributes[CoralogixAttributes.USER_AGENT])),
|
|
94
|
-
user_name,
|
|
95
|
-
user_email,
|
|
96
|
-
user_metadata }), page_context: this.resolvePageContext(attributes), event_context: {
|
|
100
|
+
: undefined, hasRecording: sessionHasRecording, user_agent: attributes[CoralogixAttributes.USER_AGENT] }), parseUserAgent(attributes[CoralogixAttributes.USER_AGENT])), page_context: this.resolvePageContext(attributes), event_context: {
|
|
97
101
|
type: attributes[CoralogixAttributes.EVENT_TYPE],
|
|
98
102
|
source: attributes[CoralogixAttributes.SOURCE],
|
|
99
103
|
severity,
|
|
@@ -256,7 +260,7 @@ export class CoralogixExporter {
|
|
|
256
260
|
});
|
|
257
261
|
const page_fragments = getUrlFragments(page_url_blueprint);
|
|
258
262
|
return {
|
|
259
|
-
page_url: url,
|
|
263
|
+
page_url: url.slice(0, MAX_CHARACTERS),
|
|
260
264
|
page_url_blueprint,
|
|
261
265
|
page_fragments,
|
|
262
266
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoralogixExporter.js","sourceRoot":"","sources":["../../../../libs/browser/src/CoralogixExporter.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,kBAAkB,EAUlB,gBAAgB,GAOjB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,yBAAyB,EACzB,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,gBAAgC,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAgB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,2CAA2C,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"CoralogixExporter.js","sourceRoot":"","sources":["../../../../libs/browser/src/CoralogixExporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { __rest } from "tslib";
|
|
2
|
+
import { isObject } from './utils/object';
|
|
3
|
+
export function processBeforeSend(cxSpan, options) {
|
|
4
|
+
if (!(options === null || options === void 0 ? void 0 : options.beforeSend)) {
|
|
5
|
+
return cxSpan;
|
|
6
|
+
}
|
|
7
|
+
const cxRumEvent = cxSpan.text.cx_rum;
|
|
8
|
+
const editableCxRumEvent = cxRumEventToEditable(cxRumEvent);
|
|
9
|
+
const beforeSendResult = options.beforeSend(editableCxRumEvent);
|
|
10
|
+
if (!validateBeforeSendResult(beforeSendResult)) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
const { version_metadata: { app_name: applicationName }, event_context: { severity }, } = beforeSendResult;
|
|
14
|
+
return Object.assign(Object.assign({}, cxSpan), { applicationName,
|
|
15
|
+
severity, text: { cx_rum: editableToCxRumEvent(beforeSendResult, cxRumEvent) } });
|
|
16
|
+
}
|
|
17
|
+
function validateBeforeSendResult(beforeSendResult) {
|
|
18
|
+
const requiredKeys = [
|
|
19
|
+
'version_metadata',
|
|
20
|
+
'session_context',
|
|
21
|
+
'page_context',
|
|
22
|
+
'event_context',
|
|
23
|
+
'environment',
|
|
24
|
+
];
|
|
25
|
+
const isMissingRequiredKey = () => requiredKeys.some((key) => !(beforeSendResult === null || beforeSendResult === void 0 ? void 0 : beforeSendResult[key]));
|
|
26
|
+
if (!isObject(beforeSendResult) || isMissingRequiredKey()) {
|
|
27
|
+
console.error('CoralogixRum: beforeSend must return null or a valid event.');
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
return beforeSendResult;
|
|
31
|
+
}
|
|
32
|
+
function cxRumEventToEditable(cxRumEvent) {
|
|
33
|
+
const { session_context: { user_id, user_name, user_email, user_metadata }, browser_sdk, timestamp } = cxRumEvent, rest = __rest(cxRumEvent, ["session_context", "browser_sdk", "timestamp"]);
|
|
34
|
+
return Object.assign(Object.assign({}, rest), { session_context: { user_id, user_email, user_name, user_metadata } });
|
|
35
|
+
}
|
|
36
|
+
function editableToCxRumEvent(editable, cxRumEvent) {
|
|
37
|
+
return Object.assign(Object.assign(Object.assign({}, cxRumEvent), editable), { session_context: Object.assign(Object.assign({}, cxRumEvent.session_context), editable.session_context) });
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=before-send.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"before-send.js","sourceRoot":"","sources":["../../../../libs/browser/src/before-send.ts"],"names":[],"mappings":";AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,OAAkC;IAElC,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAA,EAAE;QACxB,OAAO,MAAM,CAAC;KACf;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;IACtC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAEhE,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,EAAE;QAC/C,OAAO,IAAI,CAAC;KACb;IAED,MAAM,EACJ,gBAAgB,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,EAC/C,aAAa,EAAE,EAAE,QAAQ,EAAE,GAC5B,GAAG,gBAAiB,CAAC;IAEtB,uCACK,MAAM,KACT,eAAe;QACf,QAAQ,EACR,IAAI,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,gBAAiB,EAAE,UAAU,CAAC,EAAE,IACrE;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,gBAAkC;IAElC,MAAM,YAAY,GAA6C;QAC7D,kBAAkB;QAClB,iBAAiB;QACjB,cAAc;QACd,eAAe;QACf,aAAa;KACd,CAAC;IAEF,MAAM,oBAAoB,GAAG,GAAY,EAAE,CACzC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,GAAG,CAAC,CAAA,CAAC,CAAC;IAEvD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,oBAAoB,EAAE,EAAE;QACzD,OAAO,CAAC,KAAK,CACX,6DAA6D,CAC9D,CAAC;QACF,OAAO,IAAI,CAAC;KACb;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAsB;IAClD,MAAM,EACJ,eAAe,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,EAClE,WAAW,EACX,SAAS,KAEP,UAAU,EADT,IAAI,UACL,UAAU,EALR,+CAKL,CAAa,CAAC;IAEf,uCACK,IAAI,KACP,eAAe,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,IAClE;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAA4B,EAC5B,UAAsB;IAEtB,qDACK,UAAU,GACV,QAAQ,KACX,eAAe,kCACV,UAAU,CAAC,eAAe,GAC1B,QAAQ,CAAC,eAAe,KAE7B;AACJ,CAAC"}
|
package/src/constants.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export declare const CORALOGIX_LOGS_URL_SUFFIX = "/browser/v1beta/logs";
|
|
|
13
13
|
export declare const CORALOGIX_RECORDING_URL_SUFFIX = "/sessionrecording";
|
|
14
14
|
export declare const MAX_EXPORT_BATCH_SIZE = 50;
|
|
15
15
|
export declare const MAX_INTERACTION_ELEMENT_SIZE = 1024;
|
|
16
|
+
export declare const MAX_CHARACTERS = 1024;
|
|
16
17
|
export declare const SCHEDULE_DELAY_MILLIS: number;
|
|
17
18
|
export declare const REQUIRED_CONFIG_KEYS: Array<keyof CoralogixBrowserSdkConfig>;
|
|
18
19
|
export declare const SDK_CONFIG_KEY = "sdkConfig";
|
package/src/constants.js
CHANGED
|
@@ -14,6 +14,7 @@ export const CORALOGIX_LOGS_URL_SUFFIX = '/browser/v1beta/logs';
|
|
|
14
14
|
export const CORALOGIX_RECORDING_URL_SUFFIX = '/sessionrecording';
|
|
15
15
|
export const MAX_EXPORT_BATCH_SIZE = 50;
|
|
16
16
|
export const MAX_INTERACTION_ELEMENT_SIZE = 1024;
|
|
17
|
+
export const MAX_CHARACTERS = 1024;
|
|
17
18
|
export const SCHEDULE_DELAY_MILLIS = 2 * miillisecondsInSecond;
|
|
18
19
|
export const REQUIRED_CONFIG_KEYS = [
|
|
19
20
|
'application',
|
|
@@ -57,8 +58,8 @@ const defaultUrlBlueprinters = {
|
|
|
57
58
|
};
|
|
58
59
|
export const OPTIONS_DEFAULTS = {
|
|
59
60
|
ignoreUrls: [
|
|
60
|
-
new RegExp(
|
|
61
|
-
new RegExp(
|
|
61
|
+
new RegExp(CORALOGIX_LOGS_URL_SUFFIX),
|
|
62
|
+
new RegExp(CORALOGIX_RECORDING_URL_SUFFIX),
|
|
62
63
|
],
|
|
63
64
|
user_context: {
|
|
64
65
|
user_id: '',
|
package/src/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../libs/browser/src/constants.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,eAAe,GAChB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,iCAAiC,EAAE,MAAM,sDAAsD,CAAC;AACzG,OAAO,EAAE,uCAAuC,EAAE,MAAM,4DAA4D,CAAC;AACrH,OAAO,EAAE,iCAAiC,EAAE,MAAM,sDAAsD,CAAC;AACzG,OAAO,EACL,6BAA6B,EAC7B,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AACvG,OAAO,EAAE,iCAAiC,EAAE,MAAM,sDAAsD,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AAEvG,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAE1C,MAAM,CAAC,MAAM,yBAAyB,GAAG,sBAAsB,CAAC;AAChE,MAAM,CAAC,MAAM,8BAA8B,GAAG,mBAAmB,CAAC;AAElE,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAExC,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../libs/browser/src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { InstrumentationBase, } from '@opentelemetry/instrumentation';
|
|
2
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
3
|
import { CoralogixEventType, PerformanceTypes } from '../types';
|
|
4
|
-
import { CORALOGIX_LOGS_URL_SUFFIX, CoralogixAttributes,
|
|
4
|
+
import { CORALOGIX_LOGS_URL_SUFFIX, CoralogixAttributes, MAX_CHARACTERS, } from '../constants';
|
|
5
5
|
import { deepClone, supportedPerformanceTypes, valueEndWithOrInclude, } from '../utils';
|
|
6
6
|
import { resourceInitiatorTypeIs } from './instrumentation.helper';
|
|
7
7
|
import { ResourceInitiatorTypes } from './instrumentation.model';
|
|
@@ -107,7 +107,7 @@ export class CoralogixResourcesInstrumentation extends InstrumentationBase {
|
|
|
107
107
|
const resourceSpan = this.tracer.startSpan(RESOURCES_INSTRUMENTATION_NAME);
|
|
108
108
|
resourceSpan.setAttribute(CoralogixAttributes.TIMESTAMP, Date.now());
|
|
109
109
|
resourceSpan.setAttribute(CoralogixAttributes.EVENT_TYPE, CoralogixEventType.RESOURCES);
|
|
110
|
-
const newEntry = Object.assign(Object.assign({}, deepClone(entry)), { name: (_a = entry.name) === null || _a === void 0 ? void 0 : _a.slice(0,
|
|
110
|
+
const newEntry = Object.assign(Object.assign({}, deepClone(entry)), { name: (_a = entry.name) === null || _a === void 0 ? void 0 : _a.slice(0, MAX_CHARACTERS) });
|
|
111
111
|
resourceSpan.setAttribute(RESOURCES_INSTRUMENTATION_NAME, JSON.stringify(newEntry));
|
|
112
112
|
resourceSpan.end();
|
|
113
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoralogixResourcesInstrumentation.js","sourceRoot":"","sources":["../../../../../libs/browser/src/instrumentations/CoralogixResourcesInstrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GAEpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,cAAc,EACd,cAAc,EACd,eAAe,EACf,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,8BAA8B,EAC9B,iCAAiC,EACjC,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEhE,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"CoralogixResourcesInstrumentation.js","sourceRoot":"","sources":["../../../../../libs/browser/src/instrumentations/CoralogixResourcesInstrumentation.ts"],"names":[],"mappings":"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"}
|
package/src/types.d.ts
CHANGED
|
@@ -85,6 +85,7 @@ export interface UrlBlueprinters {
|
|
|
85
85
|
pageUrlBlueprinters?: UrlBlueprinter[];
|
|
86
86
|
networkUrlBlueprinters?: UrlBlueprinter[];
|
|
87
87
|
}
|
|
88
|
+
export type BeforeSendResult = EditableCxRumEvent | null;
|
|
88
89
|
export interface CoralogixBrowserSdkConfig {
|
|
89
90
|
/** Publicly-visible `public_key` value */
|
|
90
91
|
public_key: string;
|
|
@@ -129,6 +130,8 @@ export interface CoralogixBrowserSdkConfig {
|
|
|
129
130
|
maskInputTypes?: InputType[];
|
|
130
131
|
/** Class name that will mask elements, string or RegExp. defaults to 'cx-mask' */
|
|
131
132
|
maskClass?: string | RegExp;
|
|
133
|
+
/** Enable event access and modification before sending to Coralogix, supporting content modification, and event discarding. */
|
|
134
|
+
beforeSend?: (event: EditableCxRumEvent) => BeforeSendResult;
|
|
132
135
|
}
|
|
133
136
|
export interface CoralogixOtelWebType extends SendLog {
|
|
134
137
|
/**
|
|
@@ -222,7 +225,15 @@ export interface EventTypeContext {
|
|
|
222
225
|
longtask_context?: LongTaskContext;
|
|
223
226
|
resource_context?: ResourceContext;
|
|
224
227
|
}
|
|
225
|
-
export interface
|
|
228
|
+
export interface UserMetadata {
|
|
229
|
+
user_id: string;
|
|
230
|
+
user_name?: string;
|
|
231
|
+
user_email?: string;
|
|
232
|
+
user_metadata?: {
|
|
233
|
+
[key: string]: any;
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
export interface SessionContext extends UserMetadata {
|
|
226
237
|
session_id: string;
|
|
227
238
|
session_creation_date: number;
|
|
228
239
|
prev_session?: {
|
|
@@ -231,18 +242,12 @@ export interface SessionContext {
|
|
|
231
242
|
hasRecording: boolean;
|
|
232
243
|
};
|
|
233
244
|
user_agent: string;
|
|
234
|
-
user_id: string;
|
|
235
|
-
user_name?: string;
|
|
236
|
-
user_email?: string;
|
|
237
245
|
browser?: Browser;
|
|
238
246
|
browserVersion: string;
|
|
239
247
|
os: OS;
|
|
240
248
|
osVersion: string;
|
|
241
249
|
device: Device;
|
|
242
250
|
hasRecording: boolean;
|
|
243
|
-
user_metadata?: {
|
|
244
|
-
[key: string]: any;
|
|
245
|
-
};
|
|
246
251
|
}
|
|
247
252
|
export type EventSource = ErrorSource | FetchSource | XHRSource | LogSource;
|
|
248
253
|
export interface EventContext {
|
|
@@ -332,4 +337,7 @@ export interface GenericLabelProvider {
|
|
|
332
337
|
}
|
|
333
338
|
export type LabelProvider = UrlBasedLabelProvider | GenericLabelProvider;
|
|
334
339
|
export type InputType = 'button' | 'checkbox' | 'color' | 'date' | 'datetime-local' | 'email' | 'file' | 'hidden' | 'image' | 'month' | 'number' | 'password' | 'radio' | 'range' | 'reset' | 'search' | 'submit' | 'tel' | 'text' | 'time' | 'url' | 'week';
|
|
340
|
+
export interface EditableCxRumEvent extends Omit<CxRumEvent, 'session_context' | 'browser_sdk' | 'timestamp'> {
|
|
341
|
+
session_context: Pick<SessionContext, keyof UserMetadata>;
|
|
342
|
+
}
|
|
335
343
|
export {};
|
package/src/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../libs/browser/src/types.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAN,IAAY,kBASX;AATD,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,yDAAmC,CAAA;IACnC,iCAAW,CAAA;IACX,2DAAqC,CAAA;IACrC,+CAAyB,CAAA;IACzB,4CAAsB,CAAA;IACtB,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;AACvB,CAAC,EATW,kBAAkB,KAAlB,kBAAkB,QAS7B;AAED,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,yCAAqB,CAAA;IACrB,yCAAqB,CAAA;IACrB,6CAAyB,CAAA;AAC3B,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../libs/browser/src/types.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAN,IAAY,kBASX;AATD,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,yDAAmC,CAAA;IACnC,iCAAW,CAAA;IACX,2DAAqC,CAAA;IACrC,+CAAyB,CAAA;IACzB,4CAAsB,CAAA;IACtB,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;AACvB,CAAC,EATW,kBAAkB,KAAlB,kBAAkB,QAS7B;AAED,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,yCAAqB,CAAA;IACrB,yCAAqB,CAAA;IACrB,6CAAyB,CAAA;AAC3B,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AA4VD,MAAM,CAAN,IAAY,gBAQX;AARD,WAAY,gBAAgB;IAC1B,0CAAsB,CAAA;IACtB,oCAAgB,CAAA;IAChB,oDAAgC,CAAA;IAChC,sCAAkB,CAAA;IAClB,0CAAsB,CAAA;IACtB,oDAAgC,CAAA;IAChC,4EAAwD,CAAA;AAC1D,CAAC,EARW,gBAAgB,KAAhB,gBAAgB,QAQ3B;AAsBD,MAAM,CAAN,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,wBAAa,CAAA;IACb,8CAAmC,CAAA;AACrC,CAAC,EAHW,OAAO,KAAP,OAAO,QAGlB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isObject(value: unknown): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../../libs/browser/src/utils/object.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AACnC,CAAC"}
|
package/src/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "1.1.
|
|
1
|
+
export declare const SDK_VERSION = "1.1.6";
|
package/src/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const SDK_VERSION = '1.1.
|
|
1
|
+
export const SDK_VERSION = '1.1.6';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|