@cloudcare/browser-core 3.2.19 → 3.2.24
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/cjs/browser/addEventListener.js +4 -2
- package/cjs/browser/addEventListener.js.map +1 -1
- package/cjs/browser/asyncClocks.js +68 -0
- package/cjs/browser/asyncClocks.js.map +1 -0
- package/cjs/browser/pageExitObservable.js +1 -2
- package/cjs/browser/pageExitObservable.js.map +1 -1
- package/cjs/configuration/configuration.js +1 -2
- package/cjs/configuration/configuration.js.map +1 -1
- package/cjs/configuration/remoteConfiguration.js +214 -0
- package/cjs/configuration/remoteConfiguration.js.map +1 -0
- package/cjs/configuration/transportConfiguration.js +1 -0
- package/cjs/configuration/transportConfiguration.js.map +1 -1
- package/cjs/dataMap.js +4 -7
- package/cjs/dataMap.js.map +1 -1
- package/cjs/helper/byteUtils.js +2 -4
- package/cjs/helper/byteUtils.js.map +1 -1
- package/cjs/helper/createEventRateLimiter.js.map +1 -1
- package/cjs/helper/deviceInfo.js +11 -7
- package/cjs/helper/deviceInfo.js.map +1 -1
- package/cjs/helper/display.js +4 -8
- package/cjs/helper/display.js.map +1 -1
- package/cjs/helper/encoder.js.map +1 -1
- package/cjs/helper/enums.js +11 -22
- package/cjs/helper/enums.js.map +1 -1
- package/cjs/helper/errorTools.js +2 -4
- package/cjs/helper/errorTools.js.map +1 -1
- package/cjs/helper/eventEmitter.js +1 -2
- package/cjs/helper/eventEmitter.js.map +1 -1
- package/cjs/helper/getZoneJsOriginalValue.js +2 -1
- package/cjs/helper/getZoneJsOriginalValue.js.map +1 -1
- package/cjs/helper/instrumentMethod.js.map +1 -1
- package/cjs/helper/lifeCycle.js +1 -2
- package/cjs/helper/lifeCycle.js.map +1 -1
- package/cjs/helper/limitModification.js +7 -7
- package/cjs/helper/limitModification.js.map +1 -1
- package/cjs/helper/mobileUtil.js +5 -10
- package/cjs/helper/mobileUtil.js.map +1 -1
- package/cjs/helper/observable.js +1 -2
- package/cjs/helper/observable.js.map +1 -1
- package/cjs/helper/requestIdleCallback.js +1 -2
- package/cjs/helper/requestIdleCallback.js.map +1 -1
- package/cjs/helper/sanitize.js +1 -1
- package/cjs/helper/sanitize.js.map +1 -1
- package/cjs/helper/serialisation/const.js +1 -2
- package/cjs/helper/serialisation/const.js.map +1 -1
- package/cjs/helper/serialisation/contextManager.js +15 -15
- package/cjs/helper/serialisation/contextManager.js.map +1 -1
- package/cjs/helper/serialisation/customerDataTracker.js +4 -8
- package/cjs/helper/serialisation/customerDataTracker.js.map +1 -1
- package/cjs/helper/serialisation/jsonStringify.js +1 -1
- package/cjs/helper/serialisation/jsonStringify.js.map +1 -1
- package/cjs/helper/serialisation/rowData.js +1 -1
- package/cjs/helper/serialisation/rowData.js.map +1 -1
- package/cjs/helper/taskQueue.js +1 -2
- package/cjs/helper/taskQueue.js.map +1 -1
- package/cjs/helper/tools.js +74 -145
- package/cjs/helper/tools.js.map +1 -1
- package/cjs/helper/valueHistory.js +20 -8
- package/cjs/helper/valueHistory.js.map +1 -1
- package/cjs/index.js +12 -0
- package/cjs/index.js.map +1 -1
- package/cjs/init.js +1 -1
- package/cjs/init.js.map +1 -1
- package/cjs/report/reportObservable.js +1 -2
- package/cjs/report/reportObservable.js.map +1 -1
- package/cjs/session/sessionConstants.js +3 -6
- package/cjs/session/sessionConstants.js.map +1 -1
- package/cjs/session/sessionInCookie.js.map +1 -1
- package/cjs/session/sessionManagement.js +1 -2
- package/cjs/session/sessionManagement.js.map +1 -1
- package/cjs/session/sessionState.js +6 -7
- package/cjs/session/sessionState.js.map +1 -1
- package/cjs/session/sessionStore.js +2 -3
- package/cjs/session/sessionStore.js.map +1 -1
- package/cjs/session/sessionStoreOperations.js +6 -8
- package/cjs/session/sessionStoreOperations.js.map +1 -1
- package/cjs/synthetics/syntheticsWorkerValues.js +3 -6
- package/cjs/synthetics/syntheticsWorkerValues.js.map +1 -1
- package/cjs/telemetry/telemetry.js +1 -2
- package/cjs/telemetry/telemetry.js.map +1 -1
- package/cjs/telemetry/types.js +2 -4
- package/cjs/telemetry/types.js.map +1 -1
- package/cjs/tracekit/computeStackTrace.js +2 -4
- package/cjs/tracekit/computeStackTrace.js.map +1 -1
- package/cjs/tracekit/tracekit.js.map +1 -1
- package/cjs/transport/batch.js +1 -3
- package/cjs/transport/batch.js.map +1 -1
- package/cjs/transport/eventBridge.js +36 -3
- package/cjs/transport/eventBridge.js.map +1 -1
- package/cjs/transport/flushController.js.map +1 -1
- package/cjs/transport/httpRequest.js.map +1 -1
- package/cjs/transport/index.js +12 -0
- package/cjs/transport/index.js.map +1 -1
- package/cjs/transport/sendWithRetryStrategy.js +5 -10
- package/cjs/transport/sendWithRetryStrategy.js.map +1 -1
- package/cjs/transport/startBatchWithReplica.js.map +1 -1
- package/esm/browser/addEventListener.js +4 -2
- package/esm/browser/addEventListener.js.map +1 -1
- package/esm/browser/asyncClocks.js +60 -0
- package/esm/browser/asyncClocks.js.map +1 -0
- package/esm/configuration/remoteConfiguration.js +205 -0
- package/esm/configuration/remoteConfiguration.js.map +1 -0
- package/esm/configuration/transportConfiguration.js +1 -1
- package/esm/configuration/transportConfiguration.js.map +1 -1
- package/esm/dataMap.js +1 -1
- package/esm/dataMap.js.map +1 -1
- package/esm/helper/createEventRateLimiter.js.map +1 -1
- package/esm/helper/deviceInfo.js +10 -5
- package/esm/helper/deviceInfo.js.map +1 -1
- package/esm/helper/encoder.js.map +1 -1
- package/esm/helper/eventEmitter.js.map +1 -1
- package/esm/helper/getZoneJsOriginalValue.js +2 -1
- package/esm/helper/getZoneJsOriginalValue.js.map +1 -1
- package/esm/helper/instrumentMethod.js.map +1 -1
- package/esm/helper/lifeCycle.js.map +1 -1
- package/esm/helper/limitModification.js +7 -7
- package/esm/helper/mobileUtil.js.map +1 -1
- package/esm/helper/observable.js.map +1 -1
- package/esm/helper/requestIdleCallback.js.map +1 -1
- package/esm/helper/sanitize.js +1 -1
- package/esm/helper/serialisation/contextManager.js +15 -15
- package/esm/helper/serialisation/contextManager.js.map +1 -1
- package/esm/helper/serialisation/customerDataTracker.js.map +1 -1
- package/esm/helper/serialisation/jsonStringify.js +1 -1
- package/esm/helper/serialisation/rowData.js +1 -1
- package/esm/helper/taskQueue.js.map +1 -1
- package/esm/helper/tools.js +10 -8
- package/esm/helper/tools.js.map +1 -1
- package/esm/helper/valueHistory.js +19 -6
- package/esm/helper/valueHistory.js.map +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/init.js +1 -1
- package/esm/init.js.map +1 -1
- package/esm/session/sessionInCookie.js.map +1 -1
- package/esm/session/sessionManagement.js.map +1 -1
- package/esm/session/sessionState.js +5 -5
- package/esm/session/sessionStore.js +1 -1
- package/esm/session/sessionStore.js.map +1 -1
- package/esm/session/sessionStoreOperations.js +4 -4
- package/esm/session/sessionStoreOperations.js.map +1 -1
- package/esm/telemetry/telemetry.js.map +1 -1
- package/esm/tracekit/computeStackTrace.js +2 -4
- package/esm/tracekit/computeStackTrace.js.map +1 -1
- package/esm/tracekit/tracekit.js.map +1 -1
- package/esm/transport/batch.js +0 -1
- package/esm/transport/batch.js.map +1 -1
- package/esm/transport/eventBridge.js +34 -3
- package/esm/transport/eventBridge.js.map +1 -1
- package/esm/transport/flushController.js.map +1 -1
- package/esm/transport/httpRequest.js.map +1 -1
- package/esm/transport/index.js +1 -1
- package/esm/transport/index.js.map +1 -1
- package/esm/transport/sendWithRetryStrategy.js.map +1 -1
- package/esm/transport/startBatchWithReplica.js.map +1 -1
- package/package.json +24 -24
- package/src/browser/addEventListener.js +7 -2
- package/src/browser/asyncClocks.js +69 -0
- package/src/configuration/remoteConfiguration.js +213 -0
- package/src/configuration/transportConfiguration.js +1 -1
- package/src/dataMap.js +1 -0
- package/src/helper/deviceInfo.js +6 -1
- package/src/helper/getZoneJsOriginalValue.js +2 -1
- package/src/helper/valueHistory.js +18 -6
- package/src/index.js +1 -0
- package/src/session/sessionStore.js +1 -1
- package/src/session/sessionStoreOperations.js +4 -16
- package/src/tracekit/computeStackTrace.js +2 -1
- package/src/transport/eventBridge.js +56 -4
- package/src/transport/index.js +6 -1
- package/types/index.d.ts +8 -0
|
@@ -37,12 +37,14 @@ function addEventListeners(eventTarget, eventNames, listener, options) {
|
|
|
37
37
|
capture: options.capture,
|
|
38
38
|
passive: options.passive
|
|
39
39
|
} : options && options.capture;
|
|
40
|
-
|
|
40
|
+
// Use the window.EventTarget.prototype when possible to avoid wrong overrides (e.g: https://github.com/salesforce/lwc/issues/1824)
|
|
41
|
+
var listenerTarget = window.EventTarget && eventTarget instanceof EventTarget ? window.EventTarget.prototype : eventTarget;
|
|
42
|
+
var add = (0, _getZoneJsOriginalValue.getZoneJsOriginalValue)(listenerTarget, 'addEventListener');
|
|
41
43
|
(0, _tools.each)(eventNames, function (eventName) {
|
|
42
44
|
add.call(eventTarget, eventName, wrappedListener, options);
|
|
43
45
|
});
|
|
44
46
|
var stop = function stop() {
|
|
45
|
-
var remove = (0, _getZoneJsOriginalValue.getZoneJsOriginalValue)(
|
|
47
|
+
var remove = (0, _getZoneJsOriginalValue.getZoneJsOriginalValue)(listenerTarget, 'removeEventListener');
|
|
46
48
|
(0, _tools.each)(eventNames, function (eventName) {
|
|
47
49
|
remove.call(eventTarget, eventName, wrappedListener, options);
|
|
48
50
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addEventListener.js","names":["_tools","require","_getZoneJsOriginalValue","_monitor","addEventListener","eventTarget","event","listener","options","addEventListeners","eventNames","wrappedListener","monitor","once","stop","passive","capture","add","getZoneJsOriginalValue","each","eventName","call","remove"],"sources":["../../src/browser/addEventListener.js"],"sourcesContent":["import { each } from '../helper/tools'\nimport { getZoneJsOriginalValue } from '../helper/getZoneJsOriginalValue'\nimport { monitor } from '../helper/monitor'\nexport function addEventListener(eventTarget, event, listener, options) {\n return addEventListeners(eventTarget, [event], listener, options)\n}\n\n/**\n * Add event listeners to an event emitter object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by:\n * * using an option object only if needed\n * * emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n *\n * * with `once: true`, the listener will be called at most once, even if different events are\n * listened\n */\n\nexport function addEventListeners(eventTarget, eventNames, listener, options) {\n var wrappedListener = monitor(\n options && options.once\n ? function (event) {\n stop()\n listener(event)\n }\n : listener\n )\n options =\n options && options.passive\n ? { capture: options.capture, passive: options.passive }\n : options && options.capture\n var add = getZoneJsOriginalValue(
|
|
1
|
+
{"version":3,"file":"addEventListener.js","names":["_tools","require","_getZoneJsOriginalValue","_monitor","addEventListener","eventTarget","event","listener","options","addEventListeners","eventNames","wrappedListener","monitor","once","stop","passive","capture","listenerTarget","window","EventTarget","prototype","add","getZoneJsOriginalValue","each","eventName","call","remove"],"sources":["../../src/browser/addEventListener.js"],"sourcesContent":["import { each } from '../helper/tools'\nimport { getZoneJsOriginalValue } from '../helper/getZoneJsOriginalValue'\nimport { monitor } from '../helper/monitor'\nexport function addEventListener(eventTarget, event, listener, options) {\n return addEventListeners(eventTarget, [event], listener, options)\n}\n\n/**\n * Add event listeners to an event emitter object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by:\n * * using an option object only if needed\n * * emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n *\n * * with `once: true`, the listener will be called at most once, even if different events are\n * listened\n */\n\nexport function addEventListeners(eventTarget, eventNames, listener, options) {\n var wrappedListener = monitor(\n options && options.once\n ? function (event) {\n stop()\n listener(event)\n }\n : listener\n )\n options =\n options && options.passive\n ? { capture: options.capture, passive: options.passive }\n : options && options.capture\n // Use the window.EventTarget.prototype when possible to avoid wrong overrides (e.g: https://github.com/salesforce/lwc/issues/1824)\n const listenerTarget =\n window.EventTarget && eventTarget instanceof EventTarget\n ? window.EventTarget.prototype\n : eventTarget\n var add = getZoneJsOriginalValue(listenerTarget, 'addEventListener')\n\n each(eventNames, function (eventName) {\n add.call(eventTarget, eventName, wrappedListener, options)\n })\n var stop = function () {\n var remove = getZoneJsOriginalValue(listenerTarget, 'removeEventListener')\n each(eventNames, function (eventName) {\n remove.call(eventTarget, eventName, wrappedListener, options)\n })\n }\n return {\n stop: stop\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACO,SAASG,gBAAgBA,CAACC,WAAW,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,OAAO,EAAE;EACtE,OAAOC,iBAAiB,CAACJ,WAAW,EAAE,CAACC,KAAK,CAAC,EAAEC,QAAQ,EAAEC,OAAO,CAAC;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,SAASC,iBAAiBA,CAACJ,WAAW,EAAEK,UAAU,EAAEH,QAAQ,EAAEC,OAAO,EAAE;EAC5E,IAAIG,eAAe,GAAG,IAAAC,gBAAO,EAC3BJ,OAAO,IAAIA,OAAO,CAACK,IAAI,GACnB,UAAUP,KAAK,EAAE;IACfQ,IAAI,CAAC,CAAC;IACNP,QAAQ,CAACD,KAAK,CAAC;EACjB,CAAC,GACDC,QACN,CAAC;EACDC,OAAO,GACLA,OAAO,IAAIA,OAAO,CAACO,OAAO,GACtB;IAAEC,OAAO,EAAER,OAAO,CAACQ,OAAO;IAAED,OAAO,EAAEP,OAAO,CAACO;EAAQ,CAAC,GACtDP,OAAO,IAAIA,OAAO,CAACQ,OAAO;EAChC;EACA,IAAMC,cAAc,GAClBC,MAAM,CAACC,WAAW,IAAId,WAAW,YAAYc,WAAW,GACpDD,MAAM,CAACC,WAAW,CAACC,SAAS,GAC5Bf,WAAW;EACjB,IAAIgB,GAAG,GAAG,IAAAC,8CAAsB,EAACL,cAAc,EAAE,kBAAkB,CAAC;EAEpE,IAAAM,WAAI,EAACb,UAAU,EAAE,UAAUc,SAAS,EAAE;IACpCH,GAAG,CAACI,IAAI,CAACpB,WAAW,EAAEmB,SAAS,EAAEb,eAAe,EAAEH,OAAO,CAAC;EAC5D,CAAC,CAAC;EACF,IAAIM,IAAI,GAAG,SAAPA,IAAIA,CAAA,EAAe;IACrB,IAAIY,MAAM,GAAG,IAAAJ,8CAAsB,EAACL,cAAc,EAAE,qBAAqB,CAAC;IAC1E,IAAAM,WAAI,EAACb,UAAU,EAAE,UAAUc,SAAS,EAAE;MACpCE,MAAM,CAACD,IAAI,CAACpB,WAAW,EAAEmB,SAAS,EAAEb,eAAe,EAAEH,OAAO,CAAC;IAC/D,CAAC,CAAC;EACJ,CAAC;EACD,OAAO;IACLM,IAAI,EAAEA;EACR,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.buildEndpoint = buildEndpoint;
|
|
7
|
+
exports.fetchAndApplyRemoteClocks = fetchAndApplyRemoteClocks;
|
|
8
|
+
exports.fetchRemoteClocks = fetchRemoteClocks;
|
|
9
|
+
var _addEventListener = require("./addEventListener");
|
|
10
|
+
var _display = require("../helper/display");
|
|
11
|
+
var _transportConfiguration = require("../configuration/transportConfiguration");
|
|
12
|
+
var timeOffset;
|
|
13
|
+
function fetchAndApplyRemoteClocks(initConfiguration, callback) {
|
|
14
|
+
var start = performance.now();
|
|
15
|
+
fetchRemoteClocks(initConfiguration, function (serverTimestamp) {
|
|
16
|
+
var end = performance.now();
|
|
17
|
+
var rtt = end - start;
|
|
18
|
+
callback(applyRemoteClocks(serverTimestamp, rtt));
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function applyRemoteClocks(serverTimestamp, rtt) {
|
|
22
|
+
var estimatedClientTime = performance.timing.navigationStart + start + rtt / 2;
|
|
23
|
+
|
|
24
|
+
// 计算时间偏移
|
|
25
|
+
var offset = serverTimestamp - estimatedClientTime;
|
|
26
|
+
return offset;
|
|
27
|
+
}
|
|
28
|
+
function fetchRemoteClocks(configuration, callback) {
|
|
29
|
+
var xhr = new XMLHttpRequest();
|
|
30
|
+
(0, _addEventListener.addEventListener)(xhr, 'load', function () {
|
|
31
|
+
if (xhr.status === 200) {
|
|
32
|
+
var remoteConfiguration = JSON.parse(xhr.responseText);
|
|
33
|
+
callback(remoteConfiguration.content);
|
|
34
|
+
} else {
|
|
35
|
+
displayRemoteClocksFetchingError();
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
(0, _addEventListener.addEventListener)(xhr, 'error', function () {
|
|
39
|
+
callback({});
|
|
40
|
+
displayRemoteClocksFetchingError();
|
|
41
|
+
});
|
|
42
|
+
xhr.open('GET', buildEndpoint(configuration));
|
|
43
|
+
xhr.send();
|
|
44
|
+
}
|
|
45
|
+
function buildEndpoint(configuration) {
|
|
46
|
+
var url = configuration.datakitOrigin || configuration.datakitUrl || configuration.site;
|
|
47
|
+
if (url.indexOf('/') === 0) {
|
|
48
|
+
// 绝对路径这种 /xxx
|
|
49
|
+
url = location.origin + (0, _transportConfiguration.trim)(url);
|
|
50
|
+
}
|
|
51
|
+
var endpoint = url;
|
|
52
|
+
if (url.lastIndexOf('/') === url.length - 1) {
|
|
53
|
+
endpoint = (0, _transportConfiguration.trim)(url) + 'v1/env_variable';
|
|
54
|
+
} else {
|
|
55
|
+
endpoint = (0, _transportConfiguration.trim)(url) + '/v1/env_variable';
|
|
56
|
+
}
|
|
57
|
+
// 这里需要加上token和app_id
|
|
58
|
+
endpoint += '?app_id=' + configuration.applicationId;
|
|
59
|
+
//testing-openway.dataflux.cn/v1/env_variable?token=a47fb0cdddaa4561a90d941317cdbc0b&app_id=d1b454d0_22eb_11ef_9b66_95ca11aa2c6c&to_headless=true
|
|
60
|
+
if (configuration.site && configuration.clientToken) {
|
|
61
|
+
endpoint = endpoint + '&token=' + configuration.clientToken + '&to_headless=true';
|
|
62
|
+
}
|
|
63
|
+
return endpoint;
|
|
64
|
+
}
|
|
65
|
+
function displayRemoteClocksFetchingError() {
|
|
66
|
+
_display.display.error('Error fetching the remote configuration.');
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=asyncClocks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncClocks.js","names":["_addEventListener","require","_display","_transportConfiguration","timeOffset","fetchAndApplyRemoteClocks","initConfiguration","callback","start","performance","now","fetchRemoteClocks","serverTimestamp","end","rtt","applyRemoteClocks","estimatedClientTime","timing","navigationStart","offset","configuration","xhr","XMLHttpRequest","addEventListener","status","remoteConfiguration","JSON","parse","responseText","content","displayRemoteClocksFetchingError","open","buildEndpoint","send","url","datakitOrigin","datakitUrl","site","indexOf","location","origin","trim","endpoint","lastIndexOf","length","applicationId","clientToken","display","error"],"sources":["../../src/browser/asyncClocks.js"],"sourcesContent":["import { addEventListener } from './addEventListener'\nimport { display } from '../helper/display'\nimport { trim } from '../configuration/transportConfiguration'\nlet timeOffset\nexport function fetchAndApplyRemoteClocks(initConfiguration, callback) {\n const start = performance.now()\n fetchRemoteClocks(initConfiguration, (serverTimestamp) => {\n const end = performance.now()\n const rtt = end - start\n callback(applyRemoteClocks(serverTimestamp, rtt))\n })\n}\nfunction applyRemoteClocks(serverTimestamp, rtt) {\n const estimatedClientTime =\n performance.timing.navigationStart + start + rtt / 2\n\n // 计算时间偏移\n const offset = serverTimestamp - estimatedClientTime\n return offset\n}\nexport function fetchRemoteClocks(configuration, callback) {\n const xhr = new XMLHttpRequest()\n\n addEventListener(xhr, 'load', function () {\n if (xhr.status === 200) {\n const remoteConfiguration = JSON.parse(xhr.responseText)\n callback(remoteConfiguration.content)\n } else {\n displayRemoteClocksFetchingError()\n }\n })\n\n addEventListener(xhr, 'error', function () {\n callback({})\n displayRemoteClocksFetchingError()\n })\n\n xhr.open('GET', buildEndpoint(configuration))\n xhr.send()\n}\n\nexport function buildEndpoint(configuration) {\n var url =\n configuration.datakitOrigin ||\n configuration.datakitUrl ||\n configuration.site\n if (url.indexOf('/') === 0) {\n // 绝对路径这种 /xxx\n url = location.origin + trim(url)\n }\n var endpoint = url\n if (url.lastIndexOf('/') === url.length - 1) {\n endpoint = trim(url) + 'v1/env_variable'\n } else {\n endpoint = trim(url) + '/v1/env_variable'\n }\n // 这里需要加上token和app_id\n endpoint += '?app_id=' + configuration.applicationId\n //testing-openway.dataflux.cn/v1/env_variable?token=a47fb0cdddaa4561a90d941317cdbc0b&app_id=d1b454d0_22eb_11ef_9b66_95ca11aa2c6c&to_headless=true\n if (configuration.site && configuration.clientToken) {\n endpoint =\n endpoint + '&token=' + configuration.clientToken + '&to_headless=true'\n }\n return endpoint\n}\n\nfunction displayRemoteClocksFetchingError() {\n display.error('Error fetching the remote configuration.')\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,uBAAA,GAAAF,OAAA;AACA,IAAIG,UAAU;AACP,SAASC,yBAAyBA,CAACC,iBAAiB,EAAEC,QAAQ,EAAE;EACrE,IAAMC,KAAK,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;EAC/BC,iBAAiB,CAACL,iBAAiB,EAAE,UAACM,eAAe,EAAK;IACxD,IAAMC,GAAG,GAAGJ,WAAW,CAACC,GAAG,CAAC,CAAC;IAC7B,IAAMI,GAAG,GAAGD,GAAG,GAAGL,KAAK;IACvBD,QAAQ,CAACQ,iBAAiB,CAACH,eAAe,EAAEE,GAAG,CAAC,CAAC;EACnD,CAAC,CAAC;AACJ;AACA,SAASC,iBAAiBA,CAACH,eAAe,EAAEE,GAAG,EAAE;EAC/C,IAAME,mBAAmB,GACvBP,WAAW,CAACQ,MAAM,CAACC,eAAe,GAAGV,KAAK,GAAGM,GAAG,GAAG,CAAC;;EAEtD;EACA,IAAMK,MAAM,GAAGP,eAAe,GAAGI,mBAAmB;EACpD,OAAOG,MAAM;AACf;AACO,SAASR,iBAAiBA,CAACS,aAAa,EAAEb,QAAQ,EAAE;EACzD,IAAMc,GAAG,GAAG,IAAIC,cAAc,CAAC,CAAC;EAEhC,IAAAC,kCAAgB,EAACF,GAAG,EAAE,MAAM,EAAE,YAAY;IACxC,IAAIA,GAAG,CAACG,MAAM,KAAK,GAAG,EAAE;MACtB,IAAMC,mBAAmB,GAAGC,IAAI,CAACC,KAAK,CAACN,GAAG,CAACO,YAAY,CAAC;MACxDrB,QAAQ,CAACkB,mBAAmB,CAACI,OAAO,CAAC;IACvC,CAAC,MAAM;MACLC,gCAAgC,CAAC,CAAC;IACpC;EACF,CAAC,CAAC;EAEF,IAAAP,kCAAgB,EAACF,GAAG,EAAE,OAAO,EAAE,YAAY;IACzCd,QAAQ,CAAC,CAAC,CAAC,CAAC;IACZuB,gCAAgC,CAAC,CAAC;EACpC,CAAC,CAAC;EAEFT,GAAG,CAACU,IAAI,CAAC,KAAK,EAAEC,aAAa,CAACZ,aAAa,CAAC,CAAC;EAC7CC,GAAG,CAACY,IAAI,CAAC,CAAC;AACZ;AAEO,SAASD,aAAaA,CAACZ,aAAa,EAAE;EAC3C,IAAIc,GAAG,GACLd,aAAa,CAACe,aAAa,IAC3Bf,aAAa,CAACgB,UAAU,IACxBhB,aAAa,CAACiB,IAAI;EACpB,IAAIH,GAAG,CAACI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;IAC1B;IACAJ,GAAG,GAAGK,QAAQ,CAACC,MAAM,GAAG,IAAAC,4BAAI,EAACP,GAAG,CAAC;EACnC;EACA,IAAIQ,QAAQ,GAAGR,GAAG;EAClB,IAAIA,GAAG,CAACS,WAAW,CAAC,GAAG,CAAC,KAAKT,GAAG,CAACU,MAAM,GAAG,CAAC,EAAE;IAC3CF,QAAQ,GAAG,IAAAD,4BAAI,EAACP,GAAG,CAAC,GAAG,iBAAiB;EAC1C,CAAC,MAAM;IACLQ,QAAQ,GAAG,IAAAD,4BAAI,EAACP,GAAG,CAAC,GAAG,kBAAkB;EAC3C;EACA;EACAQ,QAAQ,IAAI,UAAU,GAAGtB,aAAa,CAACyB,aAAa;EACpD;EACA,IAAIzB,aAAa,CAACiB,IAAI,IAAIjB,aAAa,CAAC0B,WAAW,EAAE;IACnDJ,QAAQ,GACNA,QAAQ,GAAG,SAAS,GAAGtB,aAAa,CAAC0B,WAAW,GAAG,mBAAmB;EAC1E;EACA,OAAOJ,QAAQ;AACjB;AAEA,SAASZ,gCAAgCA,CAAA,EAAG;EAC1CiB,gBAAO,CAACC,KAAK,CAAC,0CAA0C,CAAC;AAC3D","ignoreList":[]}
|
|
@@ -10,13 +10,12 @@ var _observable = require("../helper/observable");
|
|
|
10
10
|
var _tools = require("../helper/tools");
|
|
11
11
|
var _enums = require("../helper/enums");
|
|
12
12
|
var _addEventListener = require("../browser/addEventListener");
|
|
13
|
-
var PageExitReason = {
|
|
13
|
+
var PageExitReason = exports.PageExitReason = {
|
|
14
14
|
HIDDEN: 'visibility_hidden',
|
|
15
15
|
UNLOADING: 'before_unload',
|
|
16
16
|
PAGEHIDE: 'page_hide',
|
|
17
17
|
FROZEN: 'page_frozen'
|
|
18
18
|
};
|
|
19
|
-
exports.PageExitReason = PageExitReason;
|
|
20
19
|
function createPageExitObservable() {
|
|
21
20
|
return new _observable.Observable(function (observable) {
|
|
22
21
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageExitObservable.js","names":["_observable","require","_tools","_enums","_addEventListener","PageExitReason","HIDDEN","UNLOADING","PAGEHIDE","FROZEN","
|
|
1
|
+
{"version":3,"file":"pageExitObservable.js","names":["_observable","require","_tools","_enums","_addEventListener","PageExitReason","exports","HIDDEN","UNLOADING","PAGEHIDE","FROZEN","createPageExitObservable","Observable","observable","visibilityChangeListener","addEventListeners","window","DOM_EVENT","VISIBILITY_CHANGE","FREEZE","event","type","document","visibilityState","notify","reason","capture","beforeUnloadListener","addEventListener","BEFORE_UNLOAD","stop","isPageExitReason","includes","values"],"sources":["../../src/browser/pageExitObservable.js"],"sourcesContent":["import { Observable } from '../helper/observable'\nimport { includes, values } from '../helper/tools'\nimport { DOM_EVENT } from '../helper/enums'\nimport {\n addEventListener,\n addEventListeners\n} from '../browser/addEventListener'\nexport var PageExitReason = {\n HIDDEN: 'visibility_hidden',\n UNLOADING: 'before_unload',\n PAGEHIDE: 'page_hide',\n FROZEN: 'page_frozen'\n}\n\nexport function createPageExitObservable() {\n return new Observable(function (observable) {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n var visibilityChangeListener = addEventListeners(\n window,\n [DOM_EVENT.VISIBILITY_CHANGE, DOM_EVENT.FREEZE],\n function (event) {\n if (\n event.type === DOM_EVENT.VISIBILITY_CHANGE &&\n document.visibilityState === 'hidden'\n ) {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n observable.notify({ reason: PageExitReason.HIDDEN })\n } else if (event.type === DOM_EVENT.FREEZE) {\n /**\n * After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)\n * Allow to collect events happening between hidden and frozen state.\n */\n observable.notify({ reason: PageExitReason.FROZEN })\n }\n },\n { capture: true }\n )\n\n /**\n * Safari does not support yet to send a request during:\n * - a visibility change during doc unload (cf: https://bugs.webkit.org/show_bug.cgi?id=194897)\n * - a page hide transition (cf: https://bugs.webkit.org/show_bug.cgi?id=188329)\n */\n var beforeUnloadListener = addEventListener(\n window,\n DOM_EVENT.BEFORE_UNLOAD,\n function () {\n observable.notify({ reason: PageExitReason.UNLOADING })\n }\n )\n\n return function () {\n visibilityChangeListener.stop()\n beforeUnloadListener.stop()\n }\n })\n}\n\nexport function isPageExitReason(reason) {\n return includes(values(PageExitReason), reason)\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAIO,IAAII,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG;EAC1BE,MAAM,EAAE,mBAAmB;EAC3BC,SAAS,EAAE,eAAe;EAC1BC,QAAQ,EAAE,WAAW;EACrBC,MAAM,EAAE;AACV,CAAC;AAEM,SAASC,wBAAwBA,CAAA,EAAG;EACzC,OAAO,IAAIC,sBAAU,CAAC,UAAUC,UAAU,EAAE;IAC1C;AACJ;AACA;AACA;IACI,IAAIC,wBAAwB,GAAG,IAAAC,mCAAiB,EAC9CC,MAAM,EACN,CAACC,gBAAS,CAACC,iBAAiB,EAAED,gBAAS,CAACE,MAAM,CAAC,EAC/C,UAAUC,KAAK,EAAE;MACf,IACEA,KAAK,CAACC,IAAI,KAAKJ,gBAAS,CAACC,iBAAiB,IAC1CI,QAAQ,CAACC,eAAe,KAAK,QAAQ,EACrC;QACA;AACV;AACA;AACA;QACUV,UAAU,CAACW,MAAM,CAAC;UAAEC,MAAM,EAAEpB,cAAc,CAACE;QAAO,CAAC,CAAC;MACtD,CAAC,MAAM,IAAIa,KAAK,CAACC,IAAI,KAAKJ,gBAAS,CAACE,MAAM,EAAE;QAC1C;AACV;AACA;AACA;QACUN,UAAU,CAACW,MAAM,CAAC;UAAEC,MAAM,EAAEpB,cAAc,CAACK;QAAO,CAAC,CAAC;MACtD;IACF,CAAC,EACD;MAAEgB,OAAO,EAAE;IAAK,CAClB,CAAC;;IAED;AACJ;AACA;AACA;AACA;IACI,IAAIC,oBAAoB,GAAG,IAAAC,kCAAgB,EACzCZ,MAAM,EACNC,gBAAS,CAACY,aAAa,EACvB,YAAY;MACVhB,UAAU,CAACW,MAAM,CAAC;QAAEC,MAAM,EAAEpB,cAAc,CAACG;MAAU,CAAC,CAAC;IACzD,CACF,CAAC;IAED,OAAO,YAAY;MACjBM,wBAAwB,CAACgB,IAAI,CAAC,CAAC;MAC/BH,oBAAoB,CAACG,IAAI,CAAC,CAAC;IAC7B,CAAC;EACH,CAAC,CAAC;AACJ;AAEO,SAASC,gBAAgBA,CAACN,MAAM,EAAE;EACvC,OAAO,IAAAO,eAAQ,EAAC,IAAAC,aAAM,EAAC5B,cAAc,CAAC,EAAEoB,MAAM,CAAC;AACjD","ignoreList":[]}
|
|
@@ -12,12 +12,11 @@ var _tools = require("../helper/tools");
|
|
|
12
12
|
var _byteUtils = require("../helper/byteUtils");
|
|
13
13
|
var _transportConfiguration = require("./transportConfiguration");
|
|
14
14
|
var _sessionStore = require("../session/sessionStore");
|
|
15
|
-
var DefaultPrivacyLevel = {
|
|
15
|
+
var DefaultPrivacyLevel = exports.DefaultPrivacyLevel = {
|
|
16
16
|
ALLOW: 'allow',
|
|
17
17
|
MASK: 'mask',
|
|
18
18
|
MASK_USER_INPUT: 'mask-user-input'
|
|
19
19
|
};
|
|
20
|
-
exports.DefaultPrivacyLevel = DefaultPrivacyLevel;
|
|
21
20
|
function validateAndBuildConfiguration(initConfiguration) {
|
|
22
21
|
if (initConfiguration.sampleRate !== undefined && !(0, _tools.isPercentage)(initConfiguration.sampleRate)) {
|
|
23
22
|
_display.display.error('Sample Rate should be a number between 0 and 100');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration.js","names":["_catchUserErrors","require","_display","_tools","_byteUtils","_transportConfiguration","_sessionStore","DefaultPrivacyLevel","ALLOW","MASK","MASK_USER_INPUT","
|
|
1
|
+
{"version":3,"file":"configuration.js","names":["_catchUserErrors","require","_display","_tools","_byteUtils","_transportConfiguration","_sessionStore","DefaultPrivacyLevel","exports","ALLOW","MASK","MASK_USER_INPUT","validateAndBuildConfiguration","initConfiguration","sampleRate","undefined","isPercentage","display","error","sessionSampleRate","telemetrySampleRate","isNullUndefinedDefaultValue","assign","beforeSend","catchUserErrors","sessionStoreStrategyType","selectSessionStoreStrategyType","service","version","env","telemetryEnabled","silentMultipleInit","batchBytesLimit","ONE_KIBI_BYTE","eventRateLimiterThreshold","maxTelemetryEventsPerPage","flushTimeout","ONE_SECOND","batchMessagesLimit","messageBytesLimit","resourceUrlLimit","storeContextsToLocal","storeContextsKey","sendContentTypeByJson","retryMaxSize","computeTransportConfiguration","validatePostRequestRequireParamsConfiguration","site","datakitOrigin","datakitUrl","clientToken"],"sources":["../../src/configuration/configuration.js"],"sourcesContent":["import { catchUserErrors } from '../helper/catchUserErrors'\nimport { display } from '../helper/display'\nimport {\n assign,\n isPercentage,\n ONE_SECOND,\n isNullUndefinedDefaultValue\n} from '../helper/tools'\nimport { ONE_KIBI_BYTE } from '../helper/byteUtils'\nimport { computeTransportConfiguration } from './transportConfiguration'\nimport { selectSessionStoreStrategyType } from '../session/sessionStore'\nexport var DefaultPrivacyLevel = {\n ALLOW: 'allow',\n MASK: 'mask',\n MASK_USER_INPUT: 'mask-user-input'\n}\nexport function validateAndBuildConfiguration(initConfiguration) {\n if (\n initConfiguration.sampleRate !== undefined &&\n !isPercentage(initConfiguration.sampleRate)\n ) {\n display.error('Sample Rate should be a number between 0 and 100')\n return\n }\n if (\n initConfiguration.sessionSampleRate !== undefined &&\n !isPercentage(initConfiguration.sessionSampleRate)\n ) {\n display.error('Sample Rate should be a number between 0 and 100')\n return\n }\n if (\n initConfiguration.telemetrySampleRate !== undefined &&\n !isPercentage(initConfiguration.telemetrySampleRate)\n ) {\n display.error('Telemetry Sample Rate should be a number between 0 and 100')\n return\n }\n\n var sessionSampleRate = isNullUndefinedDefaultValue(\n initConfiguration.sessionSampleRate,\n initConfiguration.sampleRate\n )\n return assign(\n {\n beforeSend:\n initConfiguration.beforeSend &&\n catchUserErrors(\n initConfiguration.beforeSend,\n 'beforeSend threw an error:'\n ),\n sessionStoreStrategyType:\n selectSessionStoreStrategyType(initConfiguration),\n sessionSampleRate: isNullUndefinedDefaultValue(sessionSampleRate, 100),\n service: initConfiguration.service,\n version: initConfiguration.version,\n env: initConfiguration.env,\n telemetrySampleRate: isNullUndefinedDefaultValue(\n initConfiguration.telemetrySampleRate,\n 100\n ),\n telemetryEnabled: isNullUndefinedDefaultValue(\n initConfiguration.telemetryEnabled,\n false\n ),\n silentMultipleInit: !!initConfiguration.silentMultipleInit,\n\n /**\n * beacon payload max queue size implementation is 64kb\n * ensure that we leave room for logs, rum and potential other users\n */\n batchBytesLimit: 16 * ONE_KIBI_BYTE,\n\n eventRateLimiterThreshold: 3000,\n maxTelemetryEventsPerPage: 15,\n\n /**\n * flush automatically, aim to be lower than ALB connection timeout\n * to maximize connection reuse.\n */\n flushTimeout: 30 * ONE_SECOND,\n\n /**\n * Logs intake limit\n */\n batchMessagesLimit: 50,\n messageBytesLimit: 256 * ONE_KIBI_BYTE,\n resourceUrlLimit: 5 * ONE_KIBI_BYTE,\n storeContextsToLocal: !!initConfiguration.storeContextsToLocal,\n // 存储到localstorage key ,默认不填,自动生成\n storeContextsKey: initConfiguration.storeContextsKey,\n sendContentTypeByJson: !!initConfiguration.sendContentTypeByJson,\n retryMaxSize: isNullUndefinedDefaultValue(\n initConfiguration.retryMaxSize,\n -1\n )\n },\n computeTransportConfiguration(initConfiguration)\n )\n}\nexport function validatePostRequestRequireParamsConfiguration(\n initConfiguration\n) {\n if (\n !initConfiguration.site &&\n !initConfiguration.datakitOrigin &&\n !initConfiguration.datakitUrl\n ) {\n display.error(\n 'datakitOrigin or site is not configured, no RUM data will be collected.'\n )\n return false\n }\n // if (!initConfiguration.datakitUrl && !initConfiguration.datakitOrigin) {\n // display.error(\n // 'datakitOrigin is not configured, no RUM data will be collected.'\n // )\n // return false\n // }\n if (initConfiguration.site && !initConfiguration.clientToken) {\n display.error(\n 'clientToken is not configured, no RUM data will be collected.'\n )\n return false\n }\n return true\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.applyRemoteConfiguration = applyRemoteConfiguration;
|
|
8
|
+
exports.buildEndpoint = buildEndpoint;
|
|
9
|
+
exports.fetchAndApplyRemoteConfiguration = fetchAndApplyRemoteConfiguration;
|
|
10
|
+
exports.fetchRemoteConfiguration = fetchRemoteConfiguration;
|
|
11
|
+
var _addEventListener = require("../browser/addEventListener");
|
|
12
|
+
var _display = require("../helper/display");
|
|
13
|
+
var _transportConfiguration = require("./transportConfiguration");
|
|
14
|
+
var _tools = require("../helper/tools");
|
|
15
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
18
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
19
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
20
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
21
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
22
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
23
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
24
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
25
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
26
|
+
function fetchAndApplyRemoteConfiguration(initConfiguration, callback) {
|
|
27
|
+
fetchRemoteConfiguration(initConfiguration, function (remoteInitConfiguration) {
|
|
28
|
+
callback(applyRemoteConfiguration(initConfiguration, remoteInitConfiguration));
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 数据上报采样率,100 表示全收集;0 表示不收集。默认 100
|
|
33
|
+
*/
|
|
34
|
+
// sessionSampleRate?: number | undefined
|
|
35
|
+
// telemetrySampleRate?: number | undefined
|
|
36
|
+
// silentMultipleInit?: boolean | undefined
|
|
37
|
+
|
|
38
|
+
// service?: string | undefined
|
|
39
|
+
// /** Web 应用当前环境,如 prod:线上环境;gray:灰度环境;pre:预发布环境;common:日常环境;local:本地环境。 */
|
|
40
|
+
// env?: string | undefined
|
|
41
|
+
// /** Web 应用的版本号。 */
|
|
42
|
+
// version?: string | undefined
|
|
43
|
+
// /** 链路数据采样百分比:100 表示全收集;0 表示不收集。 */
|
|
44
|
+
// tracingSampleRate?: number | undefined
|
|
45
|
+
// /**
|
|
46
|
+
// * @deprecated use usePartitionedCrossSiteSessionCookie instead
|
|
47
|
+
// */
|
|
48
|
+
// useCrossSiteSessionCookie?: boolean | undefined
|
|
49
|
+
// /**
|
|
50
|
+
// * 是否使用跨域 cookie,开启第三方 cookie 跨分区实现。默认不允许跨域,例如嵌套跨域 iframe 的情况。
|
|
51
|
+
// */
|
|
52
|
+
// usePartitionedCrossSiteSessionCookie?: boolean | undefined
|
|
53
|
+
// useSecureSessionCookie?: boolean | undefined
|
|
54
|
+
// trackSessionAcrossSubdomains?: boolean | undefined
|
|
55
|
+
// /**
|
|
56
|
+
// * 是否把公共数据存储到localstorage,默认不存储
|
|
57
|
+
// */
|
|
58
|
+
// storeContextsToLocal?: boolean | undefined
|
|
59
|
+
// /**
|
|
60
|
+
// * 定义存储到 localstorage 的 key ,默认不填,自动生成, 该参数主要是为了区分在同一个域名下,不同子路径共用store 的问题
|
|
61
|
+
// */
|
|
62
|
+
// storeContextsKey?: string | undefined
|
|
63
|
+
// /**
|
|
64
|
+
// * 数据以 application/json 的发送方式,默认text
|
|
65
|
+
// */
|
|
66
|
+
// sendContentTypeByJson?: boolean | undefined
|
|
67
|
+
// /**
|
|
68
|
+
// * 在 cookie 不可用的情况下,可以开启该选项,把数据储存到 localstorage
|
|
69
|
+
// */
|
|
70
|
+
// allowFallbackToLocalStorage ?: boolean | undefined
|
|
71
|
+
// /**
|
|
72
|
+
// * 错误会话补偿采样率:
|
|
73
|
+
// * - 当会话未被 `sessionSampleRate` 采样时,若会话期间发生错误,则按此比例采集
|
|
74
|
+
// * 此类会话将在错误发生时开始记录事件,并持续记录直到会话结束。
|
|
75
|
+
// * - 取值范围 0-100,100 表示全采错误会话,0 表示忽略错误会话
|
|
76
|
+
// */
|
|
77
|
+
// sessionOnErrorSampleRate?: number | undefined
|
|
78
|
+
|
|
79
|
+
// /**
|
|
80
|
+
// * Session Replay 全量采集采样率:
|
|
81
|
+
// * - 用于控制所有会话重放的全量数据采集比例
|
|
82
|
+
// * - 取值范围 0-100,100 表示全量采集,0 表示不采集
|
|
83
|
+
// **/
|
|
84
|
+
// sessionReplaySampleRate?: number | undefined
|
|
85
|
+
|
|
86
|
+
// /** 错误会话重放补偿采样率:
|
|
87
|
+
// * - 当会话未被 `sessionReplaySampleRate` 采样时,若会话期间发生错误,则按此比例采集
|
|
88
|
+
// * 此类回放将记录错误发生前最多一分钟的事件,并持续记录直到会话结束。
|
|
89
|
+
// 100 表示全收集;0 表示不收集。
|
|
90
|
+
// */
|
|
91
|
+
// sessionReplayOnErrorSampleRate?: number | undefined
|
|
92
|
+
// /**
|
|
93
|
+
// * 是否开启用户行为采集。
|
|
94
|
+
// */
|
|
95
|
+
// trackUserInteractions?: boolean | undefined
|
|
96
|
+
// /**
|
|
97
|
+
// * 指定 action 数据 name 获取方式,默认自动获取,可以指定元素特定属性名称,alt,name,title,aria-labelledby,aria-label,data-guance-action-name 这些属性
|
|
98
|
+
// */
|
|
99
|
+
// actionNameAttribute?: string | undefined
|
|
100
|
+
// trackViewsManually?: boolean | undefined
|
|
101
|
+
// /**
|
|
102
|
+
// * sessionReplay 和 compressIntakeRequests数据压缩都是在 webwork 线程中完成,所以默认情况下,需要在开启csp 安全访问的情况下,允许 worker-src blob:; workerUrl 配置允许自行托管 worker 地址
|
|
103
|
+
// */
|
|
104
|
+
// workerUrl?: string
|
|
105
|
+
// /**
|
|
106
|
+
// * 压缩 RUM 数据请求内容,以减少发送大量数据时的带宽使用量。压缩在 Worker 线程中完成。
|
|
107
|
+
// */
|
|
108
|
+
// compressIntakeRequests ?: boolean | undefined
|
|
109
|
+
// /**
|
|
110
|
+
// * 配置链路追踪工具类型,如果不配置默认为 ddtrace。目前支持 ddtrace、zipkin、skywalking_v3、jaeger、zipkin_single_header、w3c_traceparent 6 种数据类型。
|
|
111
|
+
// */
|
|
112
|
+
// traceType?: TraceType
|
|
113
|
+
|
|
114
|
+
var modifiableFieldPaths = {
|
|
115
|
+
sessionSampleRate: 'number',
|
|
116
|
+
telemetrySampleRate: 'number',
|
|
117
|
+
silentMultipleInit: 'boolean',
|
|
118
|
+
service: 'string',
|
|
119
|
+
env: 'string',
|
|
120
|
+
version: 'string',
|
|
121
|
+
tracingSampleRate: 'number',
|
|
122
|
+
useCrossSiteSessionCookie: 'boolean',
|
|
123
|
+
usePartitionedCrossSiteSessionCookie: 'boolean',
|
|
124
|
+
useSecureSessionCookie: 'boolean',
|
|
125
|
+
trackSessionAcrossSubdomains: 'boolean',
|
|
126
|
+
storeContextsToLocal: 'boolean',
|
|
127
|
+
storeContextsKey: 'string',
|
|
128
|
+
sendContentTypeByJson: 'boolean',
|
|
129
|
+
allowFallbackToLocalStorage: 'boolean',
|
|
130
|
+
sessionOnErrorSampleRate: 'number',
|
|
131
|
+
sessionReplaySampleRate: 'number',
|
|
132
|
+
sessionReplayOnErrorSampleRate: 'number',
|
|
133
|
+
trackUserInteractions: 'boolean',
|
|
134
|
+
trackInteractions: 'boolean',
|
|
135
|
+
actionNameAttribute: 'string',
|
|
136
|
+
trackViewsManually: 'boolean',
|
|
137
|
+
workerUrl: 'string',
|
|
138
|
+
compressIntakeRequests: 'boolean',
|
|
139
|
+
traceType: 'string'
|
|
140
|
+
};
|
|
141
|
+
function modificationByFieldsPath(remoteConfiguration, modifiableFieldPaths) {
|
|
142
|
+
var result = {};
|
|
143
|
+
(0, _tools.objectEntries)(modifiableFieldPaths).forEach(function (_ref) {
|
|
144
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
145
|
+
fieldPath = _ref2[0],
|
|
146
|
+
fieldType = _ref2[1];
|
|
147
|
+
// const sourceValue = sourceConfiguration[fieldPath]
|
|
148
|
+
var remoteValue = remoteConfiguration[fieldPath];
|
|
149
|
+
if ((0, _tools.getType)(remoteValue) === fieldType) {
|
|
150
|
+
result[fieldPath] = remoteValue;
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
return result;
|
|
154
|
+
}
|
|
155
|
+
function applyRemoteConfiguration(initConfiguration, remoteInitConfiguration) {
|
|
156
|
+
var simpleRemoteInitConfiguration = {};
|
|
157
|
+
for (var key in remoteInitConfiguration) {
|
|
158
|
+
if (remoteInitConfiguration[key] !== undefined) {
|
|
159
|
+
// ex
|
|
160
|
+
// {
|
|
161
|
+
// "R.d1b454d0_22eb_11ef_9b66_95ca11aa2c6c.sessionSampleRate": 80
|
|
162
|
+
// }
|
|
163
|
+
// transform to
|
|
164
|
+
// {
|
|
165
|
+
// "sessionSampleRate": 80
|
|
166
|
+
// }
|
|
167
|
+
var simpleKey = key.replace('R.' + initConfiguration.applicationId + '.', '');
|
|
168
|
+
simpleRemoteInitConfiguration[simpleKey] = remoteInitConfiguration[key];
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return _objectSpread(_objectSpread({}, initConfiguration), modificationByFieldsPath(simpleRemoteInitConfiguration, modifiableFieldPaths));
|
|
172
|
+
}
|
|
173
|
+
function fetchRemoteConfiguration(configuration, callback) {
|
|
174
|
+
var xhr = new XMLHttpRequest();
|
|
175
|
+
(0, _addEventListener.addEventListener)(xhr, 'load', function () {
|
|
176
|
+
if (xhr.status === 200) {
|
|
177
|
+
var remoteConfiguration = JSON.parse(xhr.responseText);
|
|
178
|
+
callback(remoteConfiguration.content);
|
|
179
|
+
} else {
|
|
180
|
+
callback({});
|
|
181
|
+
displayRemoteConfigurationFetchingError();
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
(0, _addEventListener.addEventListener)(xhr, 'error', function () {
|
|
185
|
+
callback({});
|
|
186
|
+
displayRemoteConfigurationFetchingError();
|
|
187
|
+
});
|
|
188
|
+
xhr.open('GET', buildEndpoint(configuration));
|
|
189
|
+
xhr.send();
|
|
190
|
+
}
|
|
191
|
+
function buildEndpoint(configuration) {
|
|
192
|
+
var url = configuration.datakitOrigin || configuration.datakitUrl || configuration.site;
|
|
193
|
+
if (url.indexOf('/') === 0) {
|
|
194
|
+
// 绝对路径这种 /xxx
|
|
195
|
+
url = location.origin + (0, _transportConfiguration.trim)(url);
|
|
196
|
+
}
|
|
197
|
+
var endpoint = url;
|
|
198
|
+
if (url.lastIndexOf('/') === url.length - 1) {
|
|
199
|
+
endpoint = (0, _transportConfiguration.trim)(url) + 'v1/env_variable';
|
|
200
|
+
} else {
|
|
201
|
+
endpoint = (0, _transportConfiguration.trim)(url) + '/v1/env_variable';
|
|
202
|
+
}
|
|
203
|
+
// 这里需要加上token和app_id
|
|
204
|
+
endpoint += '?app_id=' + configuration.applicationId;
|
|
205
|
+
//testing-openway.dataflux.cn/v1/env_variable?token=a47fb0cdddaa4561a90d941317cdbc0b&app_id=d1b454d0_22eb_11ef_9b66_95ca11aa2c6c&to_headless=true
|
|
206
|
+
if (configuration.site && configuration.clientToken) {
|
|
207
|
+
endpoint = endpoint + '&token=' + configuration.clientToken + '&to_headless=true';
|
|
208
|
+
}
|
|
209
|
+
return endpoint;
|
|
210
|
+
}
|
|
211
|
+
function displayRemoteConfigurationFetchingError() {
|
|
212
|
+
_display.display.error('Error fetching the remote configuration.');
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=remoteConfiguration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remoteConfiguration.js","names":["_addEventListener","require","_display","_transportConfiguration","_tools","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","n","l","iterator","u","f","next","done","isArray","fetchAndApplyRemoteConfiguration","initConfiguration","callback","fetchRemoteConfiguration","remoteInitConfiguration","applyRemoteConfiguration","modifiableFieldPaths","sessionSampleRate","telemetrySampleRate","silentMultipleInit","service","env","version","tracingSampleRate","useCrossSiteSessionCookie","usePartitionedCrossSiteSessionCookie","useSecureSessionCookie","trackSessionAcrossSubdomains","storeContextsToLocal","storeContextsKey","sendContentTypeByJson","allowFallbackToLocalStorage","sessionOnErrorSampleRate","sessionReplaySampleRate","sessionReplayOnErrorSampleRate","trackUserInteractions","trackInteractions","actionNameAttribute","trackViewsManually","workerUrl","compressIntakeRequests","traceType","modificationByFieldsPath","remoteConfiguration","result","objectEntries","_ref","_ref2","fieldPath","fieldType","remoteValue","getType","simpleRemoteInitConfiguration","key","undefined","simpleKey","replace","applicationId","configuration","xhr","XMLHttpRequest","addEventListener","status","JSON","parse","responseText","content","displayRemoteConfigurationFetchingError","open","buildEndpoint","send","url","datakitOrigin","datakitUrl","site","indexOf","location","origin","trim","endpoint","lastIndexOf","clientToken","display","error"],"sources":["../../src/configuration/remoteConfiguration.js"],"sourcesContent":["import { addEventListener } from '../browser/addEventListener'\nimport { display } from '../helper/display'\nimport { trim } from './transportConfiguration'\nimport { objectEntries, getType } from '../helper/tools'\nexport function fetchAndApplyRemoteConfiguration(initConfiguration, callback) {\n fetchRemoteConfiguration(initConfiguration, (remoteInitConfiguration) => {\n callback(\n applyRemoteConfiguration(initConfiguration, remoteInitConfiguration)\n )\n })\n}\n/**\n * 数据上报采样率,100 表示全收集;0 表示不收集。默认 100\n */\n// sessionSampleRate?: number | undefined\n// telemetrySampleRate?: number | undefined\n// silentMultipleInit?: boolean | undefined\n\n// service?: string | undefined\n// /** Web 应用当前环境,如 prod:线上环境;gray:灰度环境;pre:预发布环境;common:日常环境;local:本地环境。 */\n// env?: string | undefined\n// /** Web 应用的版本号。 */\n// version?: string | undefined\n// /** 链路数据采样百分比:100 表示全收集;0 表示不收集。 */\n// tracingSampleRate?: number | undefined\n// /**\n// * @deprecated use usePartitionedCrossSiteSessionCookie instead\n// */\n// useCrossSiteSessionCookie?: boolean | undefined\n// /**\n// * 是否使用跨域 cookie,开启第三方 cookie 跨分区实现。默认不允许跨域,例如嵌套跨域 iframe 的情况。\n// */\n// usePartitionedCrossSiteSessionCookie?: boolean | undefined\n// useSecureSessionCookie?: boolean | undefined\n// trackSessionAcrossSubdomains?: boolean | undefined\n// /**\n// * 是否把公共数据存储到localstorage,默认不存储\n// */\n// storeContextsToLocal?: boolean | undefined\n// /**\n// * 定义存储到 localstorage 的 key ,默认不填,自动生成, 该参数主要是为了区分在同一个域名下,不同子路径共用store 的问题\n// */\n// storeContextsKey?: string | undefined\n// /**\n// * 数据以 application/json 的发送方式,默认text\n// */\n// sendContentTypeByJson?: boolean | undefined\n// /**\n// * 在 cookie 不可用的情况下,可以开启该选项,把数据储存到 localstorage\n// */\n// allowFallbackToLocalStorage ?: boolean | undefined\n// /**\n// * 错误会话补偿采样率:\n// * - 当会话未被 `sessionSampleRate` 采样时,若会话期间发生错误,则按此比例采集\n// * 此类会话将在错误发生时开始记录事件,并持续记录直到会话结束。\n// * - 取值范围 0-100,100 表示全采错误会话,0 表示忽略错误会话\n// */\n// sessionOnErrorSampleRate?: number | undefined\n\n// /**\n// * Session Replay 全量采集采样率:\n// * - 用于控制所有会话重放的全量数据采集比例\n// * - 取值范围 0-100,100 表示全量采集,0 表示不采集\n// **/\n// sessionReplaySampleRate?: number | undefined\n\n// /** 错误会话重放补偿采样率:\n// * - 当会话未被 `sessionReplaySampleRate` 采样时,若会话期间发生错误,则按此比例采集\n// * 此类回放将记录错误发生前最多一分钟的事件,并持续记录直到会话结束。\n// 100 表示全收集;0 表示不收集。\n// */\n// sessionReplayOnErrorSampleRate?: number | undefined\n// /**\n// * 是否开启用户行为采集。\n// */\n// trackUserInteractions?: boolean | undefined\n// /**\n// * 指定 action 数据 name 获取方式,默认自动获取,可以指定元素特定属性名称,alt,name,title,aria-labelledby,aria-label,data-guance-action-name 这些属性\n// */\n// actionNameAttribute?: string | undefined\n// trackViewsManually?: boolean | undefined\n// /**\n// * sessionReplay 和 compressIntakeRequests数据压缩都是在 webwork 线程中完成,所以默认情况下,需要在开启csp 安全访问的情况下,允许 worker-src blob:; workerUrl 配置允许自行托管 worker 地址\n// */\n// workerUrl?: string\n// /**\n// * 压缩 RUM 数据请求内容,以减少发送大量数据时的带宽使用量。压缩在 Worker 线程中完成。\n// */\n// compressIntakeRequests ?: boolean | undefined\n// /**\n// * 配置链路追踪工具类型,如果不配置默认为 ddtrace。目前支持 ddtrace、zipkin、skywalking_v3、jaeger、zipkin_single_header、w3c_traceparent 6 种数据类型。\n// */\n// traceType?: TraceType\n\nconst modifiableFieldPaths = {\n sessionSampleRate: 'number',\n telemetrySampleRate: 'number',\n silentMultipleInit: 'boolean',\n service: 'string',\n env: 'string',\n version: 'string',\n tracingSampleRate: 'number',\n useCrossSiteSessionCookie: 'boolean',\n usePartitionedCrossSiteSessionCookie: 'boolean',\n useSecureSessionCookie: 'boolean',\n trackSessionAcrossSubdomains: 'boolean',\n storeContextsToLocal: 'boolean',\n storeContextsKey: 'string',\n sendContentTypeByJson: 'boolean',\n allowFallbackToLocalStorage: 'boolean',\n sessionOnErrorSampleRate: 'number',\n sessionReplaySampleRate: 'number',\n sessionReplayOnErrorSampleRate: 'number',\n trackUserInteractions: 'boolean',\n trackInteractions: 'boolean',\n actionNameAttribute: 'string',\n trackViewsManually: 'boolean',\n workerUrl: 'string',\n compressIntakeRequests: 'boolean',\n traceType: 'string'\n}\nfunction modificationByFieldsPath(remoteConfiguration, modifiableFieldPaths) {\n const result = {}\n objectEntries(modifiableFieldPaths).forEach(([fieldPath, fieldType]) => {\n // const sourceValue = sourceConfiguration[fieldPath]\n const remoteValue = remoteConfiguration[fieldPath]\n if (getType(remoteValue) === fieldType) {\n result[fieldPath] = remoteValue\n }\n })\n return result\n}\nexport function applyRemoteConfiguration(\n initConfiguration,\n remoteInitConfiguration\n) {\n const simpleRemoteInitConfiguration = {}\n for (const key in remoteInitConfiguration) {\n if (remoteInitConfiguration[key] !== undefined) {\n // ex\n // {\n // \"R.d1b454d0_22eb_11ef_9b66_95ca11aa2c6c.sessionSampleRate\": 80\n // }\n // transform to\n // {\n // \"sessionSampleRate\": 80\n // }\n const simpleKey = key.replace(\n 'R.' + initConfiguration.applicationId + '.',\n ''\n )\n simpleRemoteInitConfiguration[simpleKey] = remoteInitConfiguration[key]\n }\n }\n return {\n ...initConfiguration,\n ...modificationByFieldsPath(\n simpleRemoteInitConfiguration,\n modifiableFieldPaths\n )\n }\n}\n\nexport function fetchRemoteConfiguration(configuration, callback) {\n const xhr = new XMLHttpRequest()\n\n addEventListener(xhr, 'load', function () {\n if (xhr.status === 200) {\n const remoteConfiguration = JSON.parse(xhr.responseText)\n callback(remoteConfiguration.content)\n } else {\n callback({})\n displayRemoteConfigurationFetchingError()\n }\n })\n\n addEventListener(xhr, 'error', function () {\n callback({})\n displayRemoteConfigurationFetchingError()\n })\n\n xhr.open('GET', buildEndpoint(configuration))\n xhr.send()\n}\n\nexport function buildEndpoint(configuration) {\n var url =\n configuration.datakitOrigin ||\n configuration.datakitUrl ||\n configuration.site\n if (url.indexOf('/') === 0) {\n // 绝对路径这种 /xxx\n url = location.origin + trim(url)\n }\n var endpoint = url\n if (url.lastIndexOf('/') === url.length - 1) {\n endpoint = trim(url) + 'v1/env_variable'\n } else {\n endpoint = trim(url) + '/v1/env_variable'\n }\n // 这里需要加上token和app_id\n endpoint += '?app_id=' + configuration.applicationId\n //testing-openway.dataflux.cn/v1/env_variable?token=a47fb0cdddaa4561a90d941317cdbc0b&app_id=d1b454d0_22eb_11ef_9b66_95ca11aa2c6c&to_headless=true\n if (configuration.site && configuration.clientToken) {\n endpoint =\n endpoint + '&token=' + configuration.clientToken + '&to_headless=true'\n }\n return endpoint\n}\n\nfunction displayRemoteConfigurationFetchingError() {\n display.error('Error fetching the remote configuration.')\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.computeTransportConfiguration = computeTransportConfiguration;
|
|
7
7
|
exports.isIntakeRequest = isIntakeRequest;
|
|
8
|
+
exports.trim = trim;
|
|
8
9
|
var _tools = require("../helper/tools");
|
|
9
10
|
var TRIM_REGIX = /^\s+|\s+$/g;
|
|
10
11
|
var typeMap = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transportConfiguration.js","names":["_tools","require","TRIM_REGIX","typeMap","rum","log","sessionReplay","getEndPointUrl","configuration","type","subUrl","url","datakitOrigin","datakitUrl","site","indexOf","location","origin","trim","endpoint","lastIndexOf","length","clientToken","str","replace","computeTransportConfiguration","initConfiguration","isIntakeUrl","isFunction","isBoolean","isServerError","request","rumEndpoint","logsEndpoint","sessionReplayEndPoint","isIntakeRequest","notTakeRequest","push","some","takeUrl"],"sources":["../../src/configuration/transportConfiguration.js"],"sourcesContent":["import { isFunction, isBoolean, some } from '../helper/tools'\nvar TRIM_REGIX = /^\\s+|\\s+$/g\nvar typeMap = {\n rum: '/rum',\n log: '/logging',\n sessionReplay: '/rum/replay'\n}\nfunction getEndPointUrl(configuration, type) {\n // type: rum, log,replay\n var subUrl = typeMap[type]\n if (!subUrl) return ''\n var url =\n configuration.datakitOrigin ||\n configuration.datakitUrl ||\n configuration.site\n if (url.indexOf('/') === 0) {\n // 绝对路径这种 /xxx\n url = location.origin + trim(url)\n }\n var endpoint = url\n if (url.lastIndexOf('/') === url.length - 1) {\n endpoint = trim(url) + 'v1/write' + subUrl\n } else {\n endpoint = trim(url) + '/v1/write' + subUrl\n }\n if (configuration.site && configuration.clientToken) {\n endpoint =\n endpoint + '?token=' + configuration.clientToken + '&to_headless=true'\n }\n return endpoint\n}\n\
|
|
1
|
+
{"version":3,"file":"transportConfiguration.js","names":["_tools","require","TRIM_REGIX","typeMap","rum","log","sessionReplay","getEndPointUrl","configuration","type","subUrl","url","datakitOrigin","datakitUrl","site","indexOf","location","origin","trim","endpoint","lastIndexOf","length","clientToken","str","replace","computeTransportConfiguration","initConfiguration","isIntakeUrl","isFunction","isBoolean","isServerError","request","rumEndpoint","logsEndpoint","sessionReplayEndPoint","isIntakeRequest","notTakeRequest","push","some","takeUrl"],"sources":["../../src/configuration/transportConfiguration.js"],"sourcesContent":["import { isFunction, isBoolean, some } from '../helper/tools'\nvar TRIM_REGIX = /^\\s+|\\s+$/g\nvar typeMap = {\n rum: '/rum',\n log: '/logging',\n sessionReplay: '/rum/replay'\n}\nfunction getEndPointUrl(configuration, type) {\n // type: rum, log,replay\n var subUrl = typeMap[type]\n if (!subUrl) return ''\n var url =\n configuration.datakitOrigin ||\n configuration.datakitUrl ||\n configuration.site\n if (url.indexOf('/') === 0) {\n // 绝对路径这种 /xxx\n url = location.origin + trim(url)\n }\n var endpoint = url\n if (url.lastIndexOf('/') === url.length - 1) {\n endpoint = trim(url) + 'v1/write' + subUrl\n } else {\n endpoint = trim(url) + '/v1/write' + subUrl\n }\n if (configuration.site && configuration.clientToken) {\n endpoint =\n endpoint + '?token=' + configuration.clientToken + '&to_headless=true'\n }\n return endpoint\n}\n\nexport function trim(str) {\n return str.replace(TRIM_REGIX, '')\n}\n\nexport function computeTransportConfiguration(initConfiguration) {\n var isIntakeUrl = function (url) {\n return false\n }\n if (\n 'isIntakeUrl' in initConfiguration &&\n isFunction(initConfiguration.isIntakeUrl) &&\n isBoolean(initConfiguration.isIntakeUrl())\n ) {\n isIntakeUrl = initConfiguration.isIntakeUrl\n }\n var isServerError = function (request) {\n return false\n }\n if (\n 'isServerError' in initConfiguration &&\n isFunction(initConfiguration.isServerError) &&\n isBoolean(initConfiguration.isServerError())\n ) {\n isServerError = initConfiguration.isServerError\n }\n return {\n rumEndpoint: getEndPointUrl(initConfiguration, 'rum'),\n logsEndpoint: getEndPointUrl(initConfiguration, 'log'),\n sessionReplayEndPoint: getEndPointUrl(initConfiguration, 'sessionReplay'),\n isIntakeUrl: isIntakeUrl,\n isServerError: isServerError\n }\n}\nexport function isIntakeRequest(url, configuration) {\n var notTakeRequest = [configuration.rumEndpoint]\n if (configuration.logsEndpoint) {\n notTakeRequest.push(configuration.logsEndpoint)\n }\n if (configuration.sessionReplayEndPoint) {\n notTakeRequest.push(configuration.sessionReplayEndPoint)\n }\n // datakit 地址,log 地址,以及客户自定义过滤方法定义url\n return (\n some(notTakeRequest, function (takeUrl) {\n return url.indexOf(takeUrl) === 0\n }) || configuration.isIntakeUrl(url)\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
package/cjs/dataMap.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.dataMap = exports.commonTags = exports.commonFields = void 0;
|
|
7
7
|
var _enums = require("./helper/enums");
|
|
8
|
-
var commonTags = {
|
|
8
|
+
var commonTags = exports.commonTags = {
|
|
9
9
|
sdk_name: '_gc.sdk_name',
|
|
10
10
|
sdk_version: '_gc.sdk_version',
|
|
11
11
|
app_id: 'application.id',
|
|
@@ -28,6 +28,7 @@ var commonTags = {
|
|
|
28
28
|
browser_version_major: 'device.browser_version_major',
|
|
29
29
|
screen_size: 'device.screen_size',
|
|
30
30
|
network_type: 'device.network_type',
|
|
31
|
+
time_zone: 'device.time_zone',
|
|
31
32
|
device: 'device.device',
|
|
32
33
|
view_id: 'view.id',
|
|
33
34
|
view_referrer: 'view.referrer',
|
|
@@ -38,8 +39,7 @@ var commonTags = {
|
|
|
38
39
|
// 冗余一个字段
|
|
39
40
|
view_path_group: 'view.path_group'
|
|
40
41
|
};
|
|
41
|
-
exports.
|
|
42
|
-
var commonFields = {
|
|
42
|
+
var commonFields = exports.commonFields = {
|
|
43
43
|
view_url_query: 'view.url_query',
|
|
44
44
|
action_id: 'action.id',
|
|
45
45
|
action_ids: 'action.ids',
|
|
@@ -55,8 +55,7 @@ var commonFields = {
|
|
|
55
55
|
drift: '_gc.drift'
|
|
56
56
|
};
|
|
57
57
|
// 需要用双引号将字符串类型的field value括起来, 这里有数组标示[string, path]
|
|
58
|
-
exports.
|
|
59
|
-
var dataMap = {
|
|
58
|
+
var dataMap = exports.dataMap = {
|
|
60
59
|
view: {
|
|
61
60
|
type: _enums.RumEventType.VIEW,
|
|
62
61
|
tags: {
|
|
@@ -160,7 +159,6 @@ var dataMap = {
|
|
|
160
159
|
// resource_status_group: 'error.resource.status_group',
|
|
161
160
|
// resource_method: 'error.resource.method'
|
|
162
161
|
},
|
|
163
|
-
|
|
164
162
|
fields: {
|
|
165
163
|
error_message: ['string', 'error.message'],
|
|
166
164
|
error_stack: ['string', 'error.stack'],
|
|
@@ -236,5 +234,4 @@ var dataMap = {
|
|
|
236
234
|
}
|
|
237
235
|
}
|
|
238
236
|
};
|
|
239
|
-
exports.dataMap = dataMap;
|
|
240
237
|
//# sourceMappingURL=dataMap.js.map
|