@atlaskit/react-ufo 2.0.4 → 2.0.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/CHANGELOG.md +16 -0
- package/dist/cjs/config/index.js +38 -16
- package/dist/cjs/create-payload/index.js +7 -1
- package/dist/cjs/create-post-interaction-log-payload/index.js +5 -0
- package/dist/cjs/interaction-metrics/index.js +3 -3
- package/dist/cjs/interaction-metrics-init/index.js +4 -2
- package/dist/es2019/config/index.js +22 -0
- package/dist/es2019/create-payload/index.js +7 -1
- package/dist/es2019/create-post-interaction-log-payload/index.js +6 -1
- package/dist/es2019/interaction-metrics/index.js +6 -6
- package/dist/es2019/interaction-metrics-init/index.js +4 -2
- package/dist/esm/config/index.js +37 -16
- package/dist/esm/create-payload/index.js +7 -1
- package/dist/esm/create-post-interaction-log-payload/index.js +6 -1
- package/dist/esm/interaction-metrics/index.js +3 -3
- package/dist/esm/interaction-metrics-init/index.js +4 -2
- package/dist/types/config/index.d.ts +11 -5
- package/dist/types/create-payload/index.d.ts +4 -0
- package/dist/types-ts4.5/config/index.d.ts +11 -5
- package/dist/types-ts4.5/create-payload/index.d.ts +4 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @atlaskit/ufo-interaction-ignore
|
|
2
2
|
|
|
3
|
+
## 2.0.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#157418](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/157418)
|
|
8
|
+
[`e6939ccf435a3`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/e6939ccf435a3) -
|
|
9
|
+
Add payload size as part of UFO payload
|
|
10
|
+
|
|
11
|
+
## 2.0.5
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- [#158480](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/158480)
|
|
16
|
+
[`fcbd1c4e6293b`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/fcbd1c4e6293b) -
|
|
17
|
+
Sending `custom.post-interaction-log` event for certain Perf Push experiences
|
|
18
|
+
|
|
3
19
|
## 2.0.4
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
package/dist/cjs/config/index.js
CHANGED
|
@@ -9,6 +9,7 @@ exports.getConfig = getConfig;
|
|
|
9
9
|
exports.getDoNotAbortActivePressInteraction = getDoNotAbortActivePressInteraction;
|
|
10
10
|
exports.getDoNotAbortActivePressInteractionOnTransition = getDoNotAbortActivePressInteractionOnTransition;
|
|
11
11
|
exports.getInteractionRate = getInteractionRate;
|
|
12
|
+
exports.getPostInteractionRate = getPostInteractionRate;
|
|
12
13
|
exports.getRemoveInteractionsUFOPrefixes = getRemoveInteractionsUFOPrefixes;
|
|
13
14
|
exports.getRemovePageSegmentsUFOPrefixes = getRemovePageSegmentsUFOPrefixes;
|
|
14
15
|
exports.getTypingPerformanceTracingMethod = getTypingPerformanceTracingMethod;
|
|
@@ -80,13 +81,34 @@ function getInteractionRate(name, interactionKind) {
|
|
|
80
81
|
return 0;
|
|
81
82
|
}
|
|
82
83
|
}
|
|
83
|
-
function
|
|
84
|
+
function getPostInteractionRate(name, interactionType) {
|
|
84
85
|
try {
|
|
85
86
|
if (!config) {
|
|
86
87
|
return 0;
|
|
87
88
|
}
|
|
88
89
|
var _config2 = config,
|
|
89
|
-
|
|
90
|
+
postInteractionLog = _config2.postInteractionLog;
|
|
91
|
+
if (!(postInteractionLog !== null && postInteractionLog !== void 0 && postInteractionLog.enabled)) {
|
|
92
|
+
return 0;
|
|
93
|
+
}
|
|
94
|
+
if (postInteractionLog.rates && typeof postInteractionLog.rates[name] === 'number') {
|
|
95
|
+
return postInteractionLog.rates[name];
|
|
96
|
+
}
|
|
97
|
+
if (postInteractionLog.kind && typeof postInteractionLog.kind[interactionType] === 'number') {
|
|
98
|
+
return postInteractionLog.kind[interactionType];
|
|
99
|
+
}
|
|
100
|
+
return 0;
|
|
101
|
+
} catch (e) {
|
|
102
|
+
return 0;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
function getCapabilityRate(capability) {
|
|
106
|
+
try {
|
|
107
|
+
if (!config) {
|
|
108
|
+
return 0;
|
|
109
|
+
}
|
|
110
|
+
var _config3 = config,
|
|
111
|
+
capabilityRate = _config3.capability;
|
|
90
112
|
if (capabilityRate != null) {
|
|
91
113
|
var rate = capabilityRate[capability];
|
|
92
114
|
if (rate != null) {
|
|
@@ -105,8 +127,8 @@ function getTypingPerformanceTracingMethod() {
|
|
|
105
127
|
if (!config) {
|
|
106
128
|
return defaultMethod;
|
|
107
129
|
}
|
|
108
|
-
var
|
|
109
|
-
typingMethod =
|
|
130
|
+
var _config4 = config,
|
|
131
|
+
typingMethod = _config4.typingMethod;
|
|
110
132
|
if (typingMethod != null && validTypingMethods.find(function (m) {
|
|
111
133
|
return m === typingMethod;
|
|
112
134
|
})) {
|
|
@@ -125,8 +147,8 @@ function getAwaitBM3TTIList() {
|
|
|
125
147
|
if (!config) {
|
|
126
148
|
return [];
|
|
127
149
|
}
|
|
128
|
-
var
|
|
129
|
-
awaitBM3TTI =
|
|
150
|
+
var _config5 = config,
|
|
151
|
+
awaitBM3TTI = _config5.awaitBM3TTI;
|
|
130
152
|
if (awaitBM3TTI != null) {
|
|
131
153
|
return awaitBM3TTI;
|
|
132
154
|
} else {
|
|
@@ -143,8 +165,8 @@ function getRemovePageSegmentsUFOPrefixes() {
|
|
|
143
165
|
if (!config) {
|
|
144
166
|
return false;
|
|
145
167
|
}
|
|
146
|
-
var
|
|
147
|
-
removePageSegmentsUFOPrefixes =
|
|
168
|
+
var _config6 = config,
|
|
169
|
+
removePageSegmentsUFOPrefixes = _config6.removePageSegmentsUFOPrefixes;
|
|
148
170
|
if (removePageSegmentsUFOPrefixes != null) {
|
|
149
171
|
return removePageSegmentsUFOPrefixes;
|
|
150
172
|
} else {
|
|
@@ -161,8 +183,8 @@ function getRemoveInteractionsUFOPrefixes() {
|
|
|
161
183
|
if (!config) {
|
|
162
184
|
return false;
|
|
163
185
|
}
|
|
164
|
-
var
|
|
165
|
-
removeInteractionsUFOPrefixes =
|
|
186
|
+
var _config7 = config,
|
|
187
|
+
removeInteractionsUFOPrefixes = _config7.removeInteractionsUFOPrefixes;
|
|
166
188
|
if (removeInteractionsUFOPrefixes != null) {
|
|
167
189
|
return removeInteractionsUFOPrefixes;
|
|
168
190
|
} else {
|
|
@@ -182,8 +204,8 @@ function getUfoNameOverrides() {
|
|
|
182
204
|
if (!config) {
|
|
183
205
|
return undefined;
|
|
184
206
|
}
|
|
185
|
-
var
|
|
186
|
-
ufoNameOverrides =
|
|
207
|
+
var _config8 = config,
|
|
208
|
+
ufoNameOverrides = _config8.ufoNameOverrides;
|
|
187
209
|
if (ufoNameOverrides != null) {
|
|
188
210
|
return ufoNameOverrides;
|
|
189
211
|
}
|
|
@@ -199,8 +221,8 @@ function getDoNotAbortActivePressInteraction() {
|
|
|
199
221
|
if (!config) {
|
|
200
222
|
return undefined;
|
|
201
223
|
}
|
|
202
|
-
var
|
|
203
|
-
doNotAbortActivePressInteraction =
|
|
224
|
+
var _config9 = config,
|
|
225
|
+
doNotAbortActivePressInteraction = _config9.doNotAbortActivePressInteraction;
|
|
204
226
|
return doNotAbortActivePressInteraction;
|
|
205
227
|
} catch (e) {
|
|
206
228
|
return undefined;
|
|
@@ -213,8 +235,8 @@ function getDoNotAbortActivePressInteractionOnTransition() {
|
|
|
213
235
|
if (!config) {
|
|
214
236
|
return undefined;
|
|
215
237
|
}
|
|
216
|
-
var
|
|
217
|
-
doNotAbortActivePressInteractionOnTransition =
|
|
238
|
+
var _config10 = config,
|
|
239
|
+
doNotAbortActivePressInteractionOnTransition = _config10.doNotAbortActivePressInteractionOnTransition;
|
|
218
240
|
return doNotAbortActivePressInteractionOnTransition;
|
|
219
241
|
} catch (e) {
|
|
220
242
|
return undefined;
|
|
@@ -632,6 +632,9 @@ function getSSRDoneTimeValue(config) {
|
|
|
632
632
|
var _config$ssr, _config$ssr2;
|
|
633
633
|
return config !== null && config !== void 0 && (_config$ssr = config.ssr) !== null && _config$ssr !== void 0 && _config$ssr.getSSRDoneTime ? config === null || config === void 0 || (_config$ssr2 = config.ssr) === null || _config$ssr2 === void 0 ? void 0 : _config$ssr2.getSSRDoneTime() : ssr.getSSRDoneTime();
|
|
634
634
|
}
|
|
635
|
+
function getPayloadSize(payload) {
|
|
636
|
+
return Math.round(new TextEncoder().encode(JSON.stringify(payload)).length / 1024);
|
|
637
|
+
}
|
|
635
638
|
function createInteractionMetricsPayload(interaction, interactionId) {
|
|
636
639
|
var _window$location, _config$additionalPay;
|
|
637
640
|
var interactionPayloadStart = performance.now();
|
|
@@ -716,7 +719,7 @@ function createInteractionMetricsPayload(interaction, interactionId) {
|
|
|
716
719
|
};
|
|
717
720
|
};
|
|
718
721
|
var newUFOName = (0, _utils.sanitizeUfoName)(ufoName);
|
|
719
|
-
|
|
722
|
+
var payload = {
|
|
720
723
|
actionSubject: 'experience',
|
|
721
724
|
action: 'measured',
|
|
722
725
|
eventType: 'operational',
|
|
@@ -728,6 +731,7 @@ function createInteractionMetricsPayload(interaction, interactionId) {
|
|
|
728
731
|
'event:hostname': ((_window$location = window.location) === null || _window$location === void 0 ? void 0 : _window$location.hostname) || 'unknown',
|
|
729
732
|
'event:product': config.product,
|
|
730
733
|
'event:schema': '1.0.0',
|
|
734
|
+
'event:sizeInKb': 0,
|
|
731
735
|
'event:source': {
|
|
732
736
|
name: 'react-ufo/web',
|
|
733
737
|
version: _constants.REACT_UFO_VERSION,
|
|
@@ -773,6 +777,8 @@ function createInteractionMetricsPayload(interaction, interactionId) {
|
|
|
773
777
|
})
|
|
774
778
|
}
|
|
775
779
|
};
|
|
780
|
+
payload.attributes.properties['event:sizeInKb'] = getPayloadSize(payload.attributes.properties);
|
|
781
|
+
return payload;
|
|
776
782
|
}
|
|
777
783
|
function createPayloads(interactionId, interaction) {
|
|
778
784
|
var ufoNameOverride = getUfoNameOverride(interaction);
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = createPostInteractionLogPayload;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
+
var _coinflip = _interopRequireDefault(require("../coinflip"));
|
|
10
11
|
var _constants = require("../common/constants");
|
|
11
12
|
var _config = require("../config");
|
|
12
13
|
var _utils = require("../create-payload/common/utils");
|
|
@@ -125,6 +126,10 @@ function createPostInteractionLogPayload(_ref2) {
|
|
|
125
126
|
throw Error('UFO Configuration not provided');
|
|
126
127
|
}
|
|
127
128
|
var ufoName = (0, _utils.sanitizeUfoName)(lastInteractionFinish.ufoName);
|
|
129
|
+
var rate = (0, _config.getPostInteractionRate)(ufoName, lastInteractionFinish.type);
|
|
130
|
+
if (!(0, _coinflip.default)(rate)) {
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
128
133
|
var pageVisibilityState = (0, _hiddenTiming.getPageVisibilityState)(lastInteractionFinish.start, lastInteractionFinish.end);
|
|
129
134
|
if (pageVisibilityState !== 'visible') {
|
|
130
135
|
return null;
|
|
@@ -441,7 +441,7 @@ var addProfilerTimings = exports.addProfilerTimings = function addProfilerTiming
|
|
|
441
441
|
startTime: startTime,
|
|
442
442
|
commitTime: commitTime
|
|
443
443
|
});
|
|
444
|
-
} else if ((_getConfig = (0, _config.getConfig)()) !== null && _getConfig !== void 0 && _getConfig.
|
|
444
|
+
} else if ((_getConfig = (0, _config.getConfig)()) !== null && _getConfig !== void 0 && (_getConfig = _getConfig.postInteractionLog) !== null && _getConfig !== void 0 && _getConfig.enabled) {
|
|
445
445
|
postInteractionLog.addProfilerTimings(labelStack, type, actualDuration, baseDuration, startTime, commitTime);
|
|
446
446
|
}
|
|
447
447
|
};
|
|
@@ -553,7 +553,7 @@ function tryComplete(interactionId, endTime) {
|
|
|
553
553
|
if (noMoreHolds) {
|
|
554
554
|
var _getConfig3;
|
|
555
555
|
finishInteraction(interactionId, interaction, endTime);
|
|
556
|
-
if ((_getConfig3 = (0, _config.getConfig)()) !== null && _getConfig3 !== void 0 && _getConfig3.
|
|
556
|
+
if ((_getConfig3 = (0, _config.getConfig)()) !== null && _getConfig3 !== void 0 && (_getConfig3 = _getConfig3.postInteractionLog) !== null && _getConfig3 !== void 0 && _getConfig3.enabled) {
|
|
557
557
|
postInteractionLog.onInteractionComplete(interaction);
|
|
558
558
|
}
|
|
559
559
|
}
|
|
@@ -603,7 +603,7 @@ function addOnCancelCallback(id, cancelCallback) {
|
|
|
603
603
|
function addNewInteraction(interactionId, ufoName, type, startTime, rate, labelStack, routeName) {
|
|
604
604
|
var _getConfig4;
|
|
605
605
|
var trace = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null;
|
|
606
|
-
if ((_getConfig4 = (0, _config.getConfig)()) !== null && _getConfig4 !== void 0 && _getConfig4.
|
|
606
|
+
if ((_getConfig4 = (0, _config.getConfig)()) !== null && _getConfig4 !== void 0 && (_getConfig4 = _getConfig4.postInteractionLog) !== null && _getConfig4 !== void 0 && _getConfig4.enabled) {
|
|
607
607
|
postInteractionLog.reset();
|
|
608
608
|
}
|
|
609
609
|
var previousTime = startTime;
|
|
@@ -73,15 +73,17 @@ var init = exports.init = function init(analyticsWebClientAsync, config) {
|
|
|
73
73
|
createPostInteractionLogPayloadPackage = _ref2[2];
|
|
74
74
|
if (awc.getAnalyticsWebClientPromise) {
|
|
75
75
|
awc.getAnalyticsWebClientPromise().then(function (client) {
|
|
76
|
+
var _config$postInteracti;
|
|
76
77
|
var instance = client.getInstance();
|
|
77
78
|
sinkInteraction(instance, payloadPackage);
|
|
78
|
-
if (config.
|
|
79
|
+
if ((_config$postInteracti = config.postInteractionLog) !== null && _config$postInteracti !== void 0 && _config$postInteracti.enabled) {
|
|
79
80
|
sinkPostInteractionLog(instance, createPostInteractionLogPayloadPackage.default);
|
|
80
81
|
}
|
|
81
82
|
});
|
|
82
83
|
} else if (awc.sendOperationalEvent) {
|
|
84
|
+
var _config$postInteracti2;
|
|
83
85
|
sinkInteraction(awc, payloadPackage);
|
|
84
|
-
if (config.
|
|
86
|
+
if ((_config$postInteracti2 = config.postInteractionLog) !== null && _config$postInteracti2 !== void 0 && _config$postInteracti2.enabled) {
|
|
85
87
|
sinkPostInteractionLog(awc, createPostInteractionLogPayloadPackage.default);
|
|
86
88
|
}
|
|
87
89
|
}
|
|
@@ -67,6 +67,28 @@ export function getInteractionRate(name, interactionKind) {
|
|
|
67
67
|
return 0;
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
+
export function getPostInteractionRate(name, interactionType) {
|
|
71
|
+
try {
|
|
72
|
+
if (!config) {
|
|
73
|
+
return 0;
|
|
74
|
+
}
|
|
75
|
+
const {
|
|
76
|
+
postInteractionLog
|
|
77
|
+
} = config;
|
|
78
|
+
if (!(postInteractionLog !== null && postInteractionLog !== void 0 && postInteractionLog.enabled)) {
|
|
79
|
+
return 0;
|
|
80
|
+
}
|
|
81
|
+
if (postInteractionLog.rates && typeof postInteractionLog.rates[name] === 'number') {
|
|
82
|
+
return postInteractionLog.rates[name];
|
|
83
|
+
}
|
|
84
|
+
if (postInteractionLog.kind && typeof postInteractionLog.kind[interactionType] === 'number') {
|
|
85
|
+
return postInteractionLog.kind[interactionType];
|
|
86
|
+
}
|
|
87
|
+
return 0;
|
|
88
|
+
} catch (e) {
|
|
89
|
+
return 0;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
70
92
|
export function getCapabilityRate(capability) {
|
|
71
93
|
try {
|
|
72
94
|
if (!config) {
|
|
@@ -623,6 +623,9 @@ function getSSRDoneTimeValue(config) {
|
|
|
623
623
|
var _config$ssr, _config$ssr2;
|
|
624
624
|
return config !== null && config !== void 0 && (_config$ssr = config.ssr) !== null && _config$ssr !== void 0 && _config$ssr.getSSRDoneTime ? config === null || config === void 0 ? void 0 : (_config$ssr2 = config.ssr) === null || _config$ssr2 === void 0 ? void 0 : _config$ssr2.getSSRDoneTime() : ssr.getSSRDoneTime();
|
|
625
625
|
}
|
|
626
|
+
function getPayloadSize(payload) {
|
|
627
|
+
return Math.round(new TextEncoder().encode(JSON.stringify(payload)).length / 1024);
|
|
628
|
+
}
|
|
626
629
|
function createInteractionMetricsPayload(interaction, interactionId) {
|
|
627
630
|
var _window$location, _config$additionalPay;
|
|
628
631
|
const interactionPayloadStart = performance.now();
|
|
@@ -710,7 +713,7 @@ function createInteractionMetricsPayload(interaction, interactionId) {
|
|
|
710
713
|
};
|
|
711
714
|
};
|
|
712
715
|
const newUFOName = sanitizeUfoName(ufoName);
|
|
713
|
-
|
|
716
|
+
const payload = {
|
|
714
717
|
actionSubject: 'experience',
|
|
715
718
|
action: 'measured',
|
|
716
719
|
eventType: 'operational',
|
|
@@ -722,6 +725,7 @@ function createInteractionMetricsPayload(interaction, interactionId) {
|
|
|
722
725
|
'event:hostname': ((_window$location = window.location) === null || _window$location === void 0 ? void 0 : _window$location.hostname) || 'unknown',
|
|
723
726
|
'event:product': config.product,
|
|
724
727
|
'event:schema': '1.0.0',
|
|
728
|
+
'event:sizeInKb': 0,
|
|
725
729
|
'event:source': {
|
|
726
730
|
name: 'react-ufo/web',
|
|
727
731
|
version: REACT_UFO_VERSION,
|
|
@@ -780,6 +784,8 @@ function createInteractionMetricsPayload(interaction, interactionId) {
|
|
|
780
784
|
}
|
|
781
785
|
}
|
|
782
786
|
};
|
|
787
|
+
payload.attributes.properties['event:sizeInKb'] = getPayloadSize(payload.attributes.properties);
|
|
788
|
+
return payload;
|
|
783
789
|
}
|
|
784
790
|
export function createPayloads(interactionId, interaction) {
|
|
785
791
|
const ufoNameOverride = getUfoNameOverride(interaction);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import coinflip from '../coinflip';
|
|
1
2
|
import { REACT_UFO_VERSION } from '../common/constants';
|
|
2
|
-
import { getConfig } from '../config';
|
|
3
|
+
import { getConfig, getPostInteractionRate } from '../config';
|
|
3
4
|
import { isSegmentLabel, sanitizeUfoName } from '../create-payload/common/utils';
|
|
4
5
|
import { getPageVisibilityState } from '../hidden-timing';
|
|
5
6
|
function getParentStack(labelStack) {
|
|
@@ -112,6 +113,10 @@ export default function createPostInteractionLogPayload({
|
|
|
112
113
|
throw Error('UFO Configuration not provided');
|
|
113
114
|
}
|
|
114
115
|
const ufoName = sanitizeUfoName(lastInteractionFinish.ufoName);
|
|
116
|
+
const rate = getPostInteractionRate(ufoName, lastInteractionFinish.type);
|
|
117
|
+
if (!coinflip(rate)) {
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
115
120
|
const pageVisibilityState = getPageVisibilityState(lastInteractionFinish.start, lastInteractionFinish.end);
|
|
116
121
|
if (pageVisibilityState !== 'visible') {
|
|
117
122
|
return null;
|
|
@@ -349,7 +349,7 @@ export function addErrorToAll(name, labelStack, errorType, errorMessage, errorSt
|
|
|
349
349
|
});
|
|
350
350
|
}
|
|
351
351
|
export const addProfilerTimings = (interactionId, labelStack, type, actualDuration, baseDuration, startTime, commitTime) => {
|
|
352
|
-
var _getConfig;
|
|
352
|
+
var _getConfig, _getConfig$postIntera;
|
|
353
353
|
if (window.__REACT_UFO_ENABLE_PERF_TRACING || process.env.NODE_ENV !== 'production') {
|
|
354
354
|
try {
|
|
355
355
|
// for Firefox 102 and older
|
|
@@ -371,7 +371,7 @@ export const addProfilerTimings = (interactionId, labelStack, type, actualDurati
|
|
|
371
371
|
startTime,
|
|
372
372
|
commitTime
|
|
373
373
|
});
|
|
374
|
-
} else if ((_getConfig = getConfig()) !== null && _getConfig !== void 0 && _getConfig.
|
|
374
|
+
} else if ((_getConfig = getConfig()) !== null && _getConfig !== void 0 && (_getConfig$postIntera = _getConfig.postInteractionLog) !== null && _getConfig$postIntera !== void 0 && _getConfig$postIntera.enabled) {
|
|
375
375
|
postInteractionLog.addProfilerTimings(labelStack, type, actualDuration, baseDuration, startTime, commitTime);
|
|
376
376
|
}
|
|
377
377
|
};
|
|
@@ -471,9 +471,9 @@ export function tryComplete(interactionId, endTime) {
|
|
|
471
471
|
if (interaction != null) {
|
|
472
472
|
const noMoreHolds = interaction.holdActive.size === 0;
|
|
473
473
|
if (noMoreHolds) {
|
|
474
|
-
var _getConfig3;
|
|
474
|
+
var _getConfig3, _getConfig3$postInter;
|
|
475
475
|
finishInteraction(interactionId, interaction, endTime);
|
|
476
|
-
if ((_getConfig3 = getConfig()) !== null && _getConfig3 !== void 0 && _getConfig3.
|
|
476
|
+
if ((_getConfig3 = getConfig()) !== null && _getConfig3 !== void 0 && (_getConfig3$postInter = _getConfig3.postInteractionLog) !== null && _getConfig3$postInter !== void 0 && _getConfig3$postInter.enabled) {
|
|
477
477
|
postInteractionLog.onInteractionComplete(interaction);
|
|
478
478
|
}
|
|
479
479
|
}
|
|
@@ -521,8 +521,8 @@ export function addOnCancelCallback(id, cancelCallback) {
|
|
|
521
521
|
interaction === null || interaction === void 0 ? void 0 : interaction.cancelCallbacks.push(cancelCallback);
|
|
522
522
|
}
|
|
523
523
|
export function addNewInteraction(interactionId, ufoName, type, startTime, rate, labelStack, routeName, trace = null) {
|
|
524
|
-
var _getConfig4;
|
|
525
|
-
if ((_getConfig4 = getConfig()) !== null && _getConfig4 !== void 0 && _getConfig4.
|
|
524
|
+
var _getConfig4, _getConfig4$postInter;
|
|
525
|
+
if ((_getConfig4 = getConfig()) !== null && _getConfig4 !== void 0 && (_getConfig4$postInter = _getConfig4.postInteractionLog) !== null && _getConfig4$postInter !== void 0 && _getConfig4$postInter.enabled) {
|
|
526
526
|
postInteractionLog.reset();
|
|
527
527
|
}
|
|
528
528
|
let previousTime = startTime;
|
|
@@ -56,15 +56,17 @@ export const init = (analyticsWebClientAsync, config) => {
|
|
|
56
56
|
import( /* webpackChunkName: "create-post-intreaction-log-payload" */'../create-post-interaction-log-payload')]).then(([awc, payloadPackage, createPostInteractionLogPayloadPackage]) => {
|
|
57
57
|
if (awc.getAnalyticsWebClientPromise) {
|
|
58
58
|
awc.getAnalyticsWebClientPromise().then(client => {
|
|
59
|
+
var _config$postInteracti;
|
|
59
60
|
const instance = client.getInstance();
|
|
60
61
|
sinkInteraction(instance, payloadPackage);
|
|
61
|
-
if (config.
|
|
62
|
+
if ((_config$postInteracti = config.postInteractionLog) !== null && _config$postInteracti !== void 0 && _config$postInteracti.enabled) {
|
|
62
63
|
sinkPostInteractionLog(instance, createPostInteractionLogPayloadPackage.default);
|
|
63
64
|
}
|
|
64
65
|
});
|
|
65
66
|
} else if (awc.sendOperationalEvent) {
|
|
67
|
+
var _config$postInteracti2;
|
|
66
68
|
sinkInteraction(awc, payloadPackage);
|
|
67
|
-
if (config.
|
|
69
|
+
if ((_config$postInteracti2 = config.postInteractionLog) !== null && _config$postInteracti2 !== void 0 && _config$postInteracti2.enabled) {
|
|
68
70
|
sinkPostInteractionLog(awc, createPostInteractionLogPayloadPackage.default);
|
|
69
71
|
}
|
|
70
72
|
}
|
package/dist/esm/config/index.js
CHANGED
|
@@ -64,13 +64,34 @@ export function getInteractionRate(name, interactionKind) {
|
|
|
64
64
|
return 0;
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
export function
|
|
67
|
+
export function getPostInteractionRate(name, interactionType) {
|
|
68
68
|
try {
|
|
69
69
|
if (!config) {
|
|
70
70
|
return 0;
|
|
71
71
|
}
|
|
72
72
|
var _config2 = config,
|
|
73
|
-
|
|
73
|
+
postInteractionLog = _config2.postInteractionLog;
|
|
74
|
+
if (!(postInteractionLog !== null && postInteractionLog !== void 0 && postInteractionLog.enabled)) {
|
|
75
|
+
return 0;
|
|
76
|
+
}
|
|
77
|
+
if (postInteractionLog.rates && typeof postInteractionLog.rates[name] === 'number') {
|
|
78
|
+
return postInteractionLog.rates[name];
|
|
79
|
+
}
|
|
80
|
+
if (postInteractionLog.kind && typeof postInteractionLog.kind[interactionType] === 'number') {
|
|
81
|
+
return postInteractionLog.kind[interactionType];
|
|
82
|
+
}
|
|
83
|
+
return 0;
|
|
84
|
+
} catch (e) {
|
|
85
|
+
return 0;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
export function getCapabilityRate(capability) {
|
|
89
|
+
try {
|
|
90
|
+
if (!config) {
|
|
91
|
+
return 0;
|
|
92
|
+
}
|
|
93
|
+
var _config3 = config,
|
|
94
|
+
capabilityRate = _config3.capability;
|
|
74
95
|
if (capabilityRate != null) {
|
|
75
96
|
var rate = capabilityRate[capability];
|
|
76
97
|
if (rate != null) {
|
|
@@ -89,8 +110,8 @@ export function getTypingPerformanceTracingMethod() {
|
|
|
89
110
|
if (!config) {
|
|
90
111
|
return defaultMethod;
|
|
91
112
|
}
|
|
92
|
-
var
|
|
93
|
-
typingMethod =
|
|
113
|
+
var _config4 = config,
|
|
114
|
+
typingMethod = _config4.typingMethod;
|
|
94
115
|
if (typingMethod != null && validTypingMethods.find(function (m) {
|
|
95
116
|
return m === typingMethod;
|
|
96
117
|
})) {
|
|
@@ -109,8 +130,8 @@ export function getAwaitBM3TTIList() {
|
|
|
109
130
|
if (!config) {
|
|
110
131
|
return [];
|
|
111
132
|
}
|
|
112
|
-
var
|
|
113
|
-
awaitBM3TTI =
|
|
133
|
+
var _config5 = config,
|
|
134
|
+
awaitBM3TTI = _config5.awaitBM3TTI;
|
|
114
135
|
if (awaitBM3TTI != null) {
|
|
115
136
|
return awaitBM3TTI;
|
|
116
137
|
} else {
|
|
@@ -127,8 +148,8 @@ export function getRemovePageSegmentsUFOPrefixes() {
|
|
|
127
148
|
if (!config) {
|
|
128
149
|
return false;
|
|
129
150
|
}
|
|
130
|
-
var
|
|
131
|
-
removePageSegmentsUFOPrefixes =
|
|
151
|
+
var _config6 = config,
|
|
152
|
+
removePageSegmentsUFOPrefixes = _config6.removePageSegmentsUFOPrefixes;
|
|
132
153
|
if (removePageSegmentsUFOPrefixes != null) {
|
|
133
154
|
return removePageSegmentsUFOPrefixes;
|
|
134
155
|
} else {
|
|
@@ -145,8 +166,8 @@ export function getRemoveInteractionsUFOPrefixes() {
|
|
|
145
166
|
if (!config) {
|
|
146
167
|
return false;
|
|
147
168
|
}
|
|
148
|
-
var
|
|
149
|
-
removeInteractionsUFOPrefixes =
|
|
169
|
+
var _config7 = config,
|
|
170
|
+
removeInteractionsUFOPrefixes = _config7.removeInteractionsUFOPrefixes;
|
|
150
171
|
if (removeInteractionsUFOPrefixes != null) {
|
|
151
172
|
return removeInteractionsUFOPrefixes;
|
|
152
173
|
} else {
|
|
@@ -166,8 +187,8 @@ export function getUfoNameOverrides() {
|
|
|
166
187
|
if (!config) {
|
|
167
188
|
return undefined;
|
|
168
189
|
}
|
|
169
|
-
var
|
|
170
|
-
ufoNameOverrides =
|
|
190
|
+
var _config8 = config,
|
|
191
|
+
ufoNameOverrides = _config8.ufoNameOverrides;
|
|
171
192
|
if (ufoNameOverrides != null) {
|
|
172
193
|
return ufoNameOverrides;
|
|
173
194
|
}
|
|
@@ -183,8 +204,8 @@ export function getDoNotAbortActivePressInteraction() {
|
|
|
183
204
|
if (!config) {
|
|
184
205
|
return undefined;
|
|
185
206
|
}
|
|
186
|
-
var
|
|
187
|
-
doNotAbortActivePressInteraction =
|
|
207
|
+
var _config9 = config,
|
|
208
|
+
doNotAbortActivePressInteraction = _config9.doNotAbortActivePressInteraction;
|
|
188
209
|
return doNotAbortActivePressInteraction;
|
|
189
210
|
} catch (e) {
|
|
190
211
|
return undefined;
|
|
@@ -197,8 +218,8 @@ export function getDoNotAbortActivePressInteractionOnTransition() {
|
|
|
197
218
|
if (!config) {
|
|
198
219
|
return undefined;
|
|
199
220
|
}
|
|
200
|
-
var
|
|
201
|
-
doNotAbortActivePressInteractionOnTransition =
|
|
221
|
+
var _config10 = config,
|
|
222
|
+
doNotAbortActivePressInteractionOnTransition = _config10.doNotAbortActivePressInteractionOnTransition;
|
|
202
223
|
return doNotAbortActivePressInteractionOnTransition;
|
|
203
224
|
} catch (e) {
|
|
204
225
|
return undefined;
|
|
@@ -622,6 +622,9 @@ function getSSRDoneTimeValue(config) {
|
|
|
622
622
|
var _config$ssr, _config$ssr2;
|
|
623
623
|
return config !== null && config !== void 0 && (_config$ssr = config.ssr) !== null && _config$ssr !== void 0 && _config$ssr.getSSRDoneTime ? config === null || config === void 0 || (_config$ssr2 = config.ssr) === null || _config$ssr2 === void 0 ? void 0 : _config$ssr2.getSSRDoneTime() : ssr.getSSRDoneTime();
|
|
624
624
|
}
|
|
625
|
+
function getPayloadSize(payload) {
|
|
626
|
+
return Math.round(new TextEncoder().encode(JSON.stringify(payload)).length / 1024);
|
|
627
|
+
}
|
|
625
628
|
function createInteractionMetricsPayload(interaction, interactionId) {
|
|
626
629
|
var _window$location, _config$additionalPay;
|
|
627
630
|
var interactionPayloadStart = performance.now();
|
|
@@ -706,7 +709,7 @@ function createInteractionMetricsPayload(interaction, interactionId) {
|
|
|
706
709
|
};
|
|
707
710
|
};
|
|
708
711
|
var newUFOName = sanitizeUfoName(ufoName);
|
|
709
|
-
|
|
712
|
+
var payload = {
|
|
710
713
|
actionSubject: 'experience',
|
|
711
714
|
action: 'measured',
|
|
712
715
|
eventType: 'operational',
|
|
@@ -718,6 +721,7 @@ function createInteractionMetricsPayload(interaction, interactionId) {
|
|
|
718
721
|
'event:hostname': ((_window$location = window.location) === null || _window$location === void 0 ? void 0 : _window$location.hostname) || 'unknown',
|
|
719
722
|
'event:product': config.product,
|
|
720
723
|
'event:schema': '1.0.0',
|
|
724
|
+
'event:sizeInKb': 0,
|
|
721
725
|
'event:source': {
|
|
722
726
|
name: 'react-ufo/web',
|
|
723
727
|
version: REACT_UFO_VERSION,
|
|
@@ -763,6 +767,8 @@ function createInteractionMetricsPayload(interaction, interactionId) {
|
|
|
763
767
|
})
|
|
764
768
|
}
|
|
765
769
|
};
|
|
770
|
+
payload.attributes.properties['event:sizeInKb'] = getPayloadSize(payload.attributes.properties);
|
|
771
|
+
return payload;
|
|
766
772
|
}
|
|
767
773
|
export function createPayloads(interactionId, interaction) {
|
|
768
774
|
var ufoNameOverride = getUfoNameOverride(interaction);
|
|
@@ -2,8 +2,9 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
2
2
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
3
|
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; }
|
|
4
4
|
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; }
|
|
5
|
+
import coinflip from '../coinflip';
|
|
5
6
|
import { REACT_UFO_VERSION } from '../common/constants';
|
|
6
|
-
import { getConfig } from '../config';
|
|
7
|
+
import { getConfig, getPostInteractionRate } from '../config';
|
|
7
8
|
import { isSegmentLabel, sanitizeUfoName } from '../create-payload/common/utils';
|
|
8
9
|
import { getPageVisibilityState } from '../hidden-timing';
|
|
9
10
|
function getParentStack(labelStack) {
|
|
@@ -118,6 +119,10 @@ export default function createPostInteractionLogPayload(_ref2) {
|
|
|
118
119
|
throw Error('UFO Configuration not provided');
|
|
119
120
|
}
|
|
120
121
|
var ufoName = sanitizeUfoName(lastInteractionFinish.ufoName);
|
|
122
|
+
var rate = getPostInteractionRate(ufoName, lastInteractionFinish.type);
|
|
123
|
+
if (!coinflip(rate)) {
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
121
126
|
var pageVisibilityState = getPageVisibilityState(lastInteractionFinish.start, lastInteractionFinish.end);
|
|
122
127
|
if (pageVisibilityState !== 'visible') {
|
|
123
128
|
return null;
|
|
@@ -398,7 +398,7 @@ export var addProfilerTimings = function addProfilerTimings(interactionId, label
|
|
|
398
398
|
startTime: startTime,
|
|
399
399
|
commitTime: commitTime
|
|
400
400
|
});
|
|
401
|
-
} else if ((_getConfig = getConfig()) !== null && _getConfig !== void 0 && _getConfig.
|
|
401
|
+
} else if ((_getConfig = getConfig()) !== null && _getConfig !== void 0 && (_getConfig = _getConfig.postInteractionLog) !== null && _getConfig !== void 0 && _getConfig.enabled) {
|
|
402
402
|
postInteractionLog.addProfilerTimings(labelStack, type, actualDuration, baseDuration, startTime, commitTime);
|
|
403
403
|
}
|
|
404
404
|
};
|
|
@@ -510,7 +510,7 @@ export function tryComplete(interactionId, endTime) {
|
|
|
510
510
|
if (noMoreHolds) {
|
|
511
511
|
var _getConfig3;
|
|
512
512
|
finishInteraction(interactionId, interaction, endTime);
|
|
513
|
-
if ((_getConfig3 = getConfig()) !== null && _getConfig3 !== void 0 && _getConfig3.
|
|
513
|
+
if ((_getConfig3 = getConfig()) !== null && _getConfig3 !== void 0 && (_getConfig3 = _getConfig3.postInteractionLog) !== null && _getConfig3 !== void 0 && _getConfig3.enabled) {
|
|
514
514
|
postInteractionLog.onInteractionComplete(interaction);
|
|
515
515
|
}
|
|
516
516
|
}
|
|
@@ -560,7 +560,7 @@ export function addOnCancelCallback(id, cancelCallback) {
|
|
|
560
560
|
export function addNewInteraction(interactionId, ufoName, type, startTime, rate, labelStack, routeName) {
|
|
561
561
|
var _getConfig4;
|
|
562
562
|
var trace = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null;
|
|
563
|
-
if ((_getConfig4 = getConfig()) !== null && _getConfig4 !== void 0 && _getConfig4.
|
|
563
|
+
if ((_getConfig4 = getConfig()) !== null && _getConfig4 !== void 0 && (_getConfig4 = _getConfig4.postInteractionLog) !== null && _getConfig4 !== void 0 && _getConfig4.enabled) {
|
|
564
564
|
postInteractionLog.reset();
|
|
565
565
|
}
|
|
566
566
|
var previousTime = startTime;
|
|
@@ -61,15 +61,17 @@ export var init = function init(analyticsWebClientAsync, config) {
|
|
|
61
61
|
createPostInteractionLogPayloadPackage = _ref2[2];
|
|
62
62
|
if (awc.getAnalyticsWebClientPromise) {
|
|
63
63
|
awc.getAnalyticsWebClientPromise().then(function (client) {
|
|
64
|
+
var _config$postInteracti;
|
|
64
65
|
var instance = client.getInstance();
|
|
65
66
|
sinkInteraction(instance, payloadPackage);
|
|
66
|
-
if (config.
|
|
67
|
+
if ((_config$postInteracti = config.postInteractionLog) !== null && _config$postInteracti !== void 0 && _config$postInteracti.enabled) {
|
|
67
68
|
sinkPostInteractionLog(instance, createPostInteractionLogPayloadPackage.default);
|
|
68
69
|
}
|
|
69
70
|
});
|
|
70
71
|
} else if (awc.sendOperationalEvent) {
|
|
72
|
+
var _config$postInteracti2;
|
|
71
73
|
sinkInteraction(awc, payloadPackage);
|
|
72
|
-
if (config.
|
|
74
|
+
if ((_config$postInteracti2 = config.postInteractionLog) !== null && _config$postInteracti2 !== void 0 && _config$postInteracti2.enabled) {
|
|
73
75
|
sinkPostInteractionLog(awc, createPostInteractionLogPayloadPackage.default);
|
|
74
76
|
}
|
|
75
77
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { InteractionMetrics } from '../common';
|
|
1
|
+
import type { InteractionMetrics, InteractionType } from '../common';
|
|
2
2
|
export interface AdditionalData {
|
|
3
3
|
[key: string]: null | undefined | string | number | boolean | undefined | AdditionalData | Record<string, AdditionalData> | Array<AdditionalData>;
|
|
4
4
|
}
|
|
@@ -24,6 +24,9 @@ type SelectorConfig = {
|
|
|
24
24
|
className: boolean;
|
|
25
25
|
dataVC?: boolean;
|
|
26
26
|
};
|
|
27
|
+
type Rates = {
|
|
28
|
+
readonly [key: string]: number;
|
|
29
|
+
};
|
|
27
30
|
export type Config = {
|
|
28
31
|
readonly enabled?: boolean;
|
|
29
32
|
readonly doNotAbortActivePressInteraction?: string[];
|
|
@@ -32,9 +35,7 @@ export type Config = {
|
|
|
32
35
|
readonly ufoNameOverrides?: UFONameOverride;
|
|
33
36
|
readonly namePrefix?: string;
|
|
34
37
|
readonly segmentPrefix?: string;
|
|
35
|
-
readonly rates?:
|
|
36
|
-
readonly [key: string]: number;
|
|
37
|
-
};
|
|
38
|
+
readonly rates?: Rates;
|
|
38
39
|
readonly rules?: readonly {
|
|
39
40
|
readonly test?: string;
|
|
40
41
|
readonly rate?: number;
|
|
@@ -66,7 +67,11 @@ export type Config = {
|
|
|
66
67
|
readonly ssr?: boolean;
|
|
67
68
|
readonly stopVCAtInteractionFinish?: boolean;
|
|
68
69
|
};
|
|
69
|
-
readonly
|
|
70
|
+
readonly postInteractionLog?: {
|
|
71
|
+
readonly enabled?: boolean;
|
|
72
|
+
readonly rates?: Rates;
|
|
73
|
+
readonly kind?: Record<InteractionType, number>;
|
|
74
|
+
};
|
|
70
75
|
readonly enableSegmentHighlighting?: boolean;
|
|
71
76
|
readonly shouldCalculateLighthouseMetricsFromTTAI?: boolean;
|
|
72
77
|
readonly timeWindowForLateMutationsInMilliseconds?: number;
|
|
@@ -79,6 +84,7 @@ export type Config = {
|
|
|
79
84
|
export declare function setUFOConfig(newConfig: Config): void;
|
|
80
85
|
export declare function getConfig(): Config | undefined;
|
|
81
86
|
export declare function getInteractionRate(name: string, interactionKind: InteractionKind): number;
|
|
87
|
+
export declare function getPostInteractionRate(name: string, interactionType: InteractionType): number;
|
|
82
88
|
export declare function getCapabilityRate(capability: Capability): number;
|
|
83
89
|
declare const validTypingMethods: readonly ["timeout", "timeoutNoAlloc", "mutationObserver"];
|
|
84
90
|
type ValidTypingMethod = (typeof validTypingMethods)[number];
|
|
@@ -727,6 +727,7 @@ export declare function createPayloads(interactionId: string, interaction: Inter
|
|
|
727
727
|
'event:hostname': string;
|
|
728
728
|
'event:product': string;
|
|
729
729
|
'event:schema': string;
|
|
730
|
+
'event:sizeInKb': number;
|
|
730
731
|
'event:source': {
|
|
731
732
|
name: string;
|
|
732
733
|
version: string;
|
|
@@ -1475,6 +1476,7 @@ export declare function createPayloads(interactionId: string, interaction: Inter
|
|
|
1475
1476
|
'event:hostname': string;
|
|
1476
1477
|
'event:product': string;
|
|
1477
1478
|
'event:schema': string;
|
|
1479
|
+
'event:sizeInKb': number;
|
|
1478
1480
|
'event:source': {
|
|
1479
1481
|
name: string;
|
|
1480
1482
|
version: string;
|
|
@@ -2205,6 +2207,7 @@ export declare function createPayloads(interactionId: string, interaction: Inter
|
|
|
2205
2207
|
'event:hostname': string;
|
|
2206
2208
|
'event:product': string;
|
|
2207
2209
|
'event:schema': string;
|
|
2210
|
+
'event:sizeInKb': number;
|
|
2208
2211
|
'event:source': {
|
|
2209
2212
|
name: string;
|
|
2210
2213
|
version: string;
|
|
@@ -2956,6 +2959,7 @@ export declare function createPayloads(interactionId: string, interaction: Inter
|
|
|
2956
2959
|
'event:hostname': string;
|
|
2957
2960
|
'event:product': string;
|
|
2958
2961
|
'event:schema': string;
|
|
2962
|
+
'event:sizeInKb': number;
|
|
2959
2963
|
'event:source': {
|
|
2960
2964
|
name: string;
|
|
2961
2965
|
version: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { InteractionMetrics } from '../common';
|
|
1
|
+
import type { InteractionMetrics, InteractionType } from '../common';
|
|
2
2
|
export interface AdditionalData {
|
|
3
3
|
[key: string]: null | undefined | string | number | boolean | undefined | AdditionalData | Record<string, AdditionalData> | Array<AdditionalData>;
|
|
4
4
|
}
|
|
@@ -24,6 +24,9 @@ type SelectorConfig = {
|
|
|
24
24
|
className: boolean;
|
|
25
25
|
dataVC?: boolean;
|
|
26
26
|
};
|
|
27
|
+
type Rates = {
|
|
28
|
+
readonly [key: string]: number;
|
|
29
|
+
};
|
|
27
30
|
export type Config = {
|
|
28
31
|
readonly enabled?: boolean;
|
|
29
32
|
readonly doNotAbortActivePressInteraction?: string[];
|
|
@@ -32,9 +35,7 @@ export type Config = {
|
|
|
32
35
|
readonly ufoNameOverrides?: UFONameOverride;
|
|
33
36
|
readonly namePrefix?: string;
|
|
34
37
|
readonly segmentPrefix?: string;
|
|
35
|
-
readonly rates?:
|
|
36
|
-
readonly [key: string]: number;
|
|
37
|
-
};
|
|
38
|
+
readonly rates?: Rates;
|
|
38
39
|
readonly rules?: readonly {
|
|
39
40
|
readonly test?: string;
|
|
40
41
|
readonly rate?: number;
|
|
@@ -66,7 +67,11 @@ export type Config = {
|
|
|
66
67
|
readonly ssr?: boolean;
|
|
67
68
|
readonly stopVCAtInteractionFinish?: boolean;
|
|
68
69
|
};
|
|
69
|
-
readonly
|
|
70
|
+
readonly postInteractionLog?: {
|
|
71
|
+
readonly enabled?: boolean;
|
|
72
|
+
readonly rates?: Rates;
|
|
73
|
+
readonly kind?: Record<InteractionType, number>;
|
|
74
|
+
};
|
|
70
75
|
readonly enableSegmentHighlighting?: boolean;
|
|
71
76
|
readonly shouldCalculateLighthouseMetricsFromTTAI?: boolean;
|
|
72
77
|
readonly timeWindowForLateMutationsInMilliseconds?: number;
|
|
@@ -79,6 +84,7 @@ export type Config = {
|
|
|
79
84
|
export declare function setUFOConfig(newConfig: Config): void;
|
|
80
85
|
export declare function getConfig(): Config | undefined;
|
|
81
86
|
export declare function getInteractionRate(name: string, interactionKind: InteractionKind): number;
|
|
87
|
+
export declare function getPostInteractionRate(name: string, interactionType: InteractionType): number;
|
|
82
88
|
export declare function getCapabilityRate(capability: Capability): number;
|
|
83
89
|
declare const validTypingMethods: readonly [
|
|
84
90
|
"timeout",
|
|
@@ -727,6 +727,7 @@ export declare function createPayloads(interactionId: string, interaction: Inter
|
|
|
727
727
|
'event:hostname': string;
|
|
728
728
|
'event:product': string;
|
|
729
729
|
'event:schema': string;
|
|
730
|
+
'event:sizeInKb': number;
|
|
730
731
|
'event:source': {
|
|
731
732
|
name: string;
|
|
732
733
|
version: string;
|
|
@@ -1475,6 +1476,7 @@ export declare function createPayloads(interactionId: string, interaction: Inter
|
|
|
1475
1476
|
'event:hostname': string;
|
|
1476
1477
|
'event:product': string;
|
|
1477
1478
|
'event:schema': string;
|
|
1479
|
+
'event:sizeInKb': number;
|
|
1478
1480
|
'event:source': {
|
|
1479
1481
|
name: string;
|
|
1480
1482
|
version: string;
|
|
@@ -2205,6 +2207,7 @@ export declare function createPayloads(interactionId: string, interaction: Inter
|
|
|
2205
2207
|
'event:hostname': string;
|
|
2206
2208
|
'event:product': string;
|
|
2207
2209
|
'event:schema': string;
|
|
2210
|
+
'event:sizeInKb': number;
|
|
2208
2211
|
'event:source': {
|
|
2209
2212
|
name: string;
|
|
2210
2213
|
version: string;
|
|
@@ -2956,6 +2959,7 @@ export declare function createPayloads(interactionId: string, interaction: Inter
|
|
|
2956
2959
|
'event:hostname': string;
|
|
2957
2960
|
'event:product': string;
|
|
2958
2961
|
'event:schema': string;
|
|
2962
|
+
'event:sizeInKb': number;
|
|
2959
2963
|
'event:source': {
|
|
2960
2964
|
name: string;
|
|
2961
2965
|
version: string;
|