@atlaskit/react-ufo 2.4.6 → 2.4.7
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 +14 -0
- package/create-experimental-interaction-metrics-payload/package.json +15 -0
- package/dist/cjs/config/index.js +40 -18
- package/dist/cjs/create-experimental-interaction-metrics-payload/index.js +89 -0
- package/dist/cjs/create-payload/common/utils/index.js +85 -1
- package/dist/cjs/create-payload/index.js +37 -77
- package/dist/cjs/create-post-interaction-log-payload/index.js +1 -4
- package/dist/cjs/interaction-metrics/common/constants.js +7 -1
- package/dist/cjs/interaction-metrics/common/index.js +151 -0
- package/dist/cjs/interaction-metrics/index.js +139 -204
- package/dist/cjs/interaction-metrics/post-interaction-log.js +6 -2
- package/dist/cjs/interaction-metrics-init/index.js +27 -9
- package/dist/cjs/load-hold/UFOLoadHold.js +3 -4
- package/dist/cjs/segment/segment.js +7 -9
- package/dist/cjs/trace-pageload/index.js +2 -1
- package/dist/es2019/config/index.js +22 -0
- package/dist/es2019/create-experimental-interaction-metrics-payload/index.js +67 -0
- package/dist/es2019/create-payload/common/utils/index.js +86 -1
- package/dist/es2019/create-payload/index.js +28 -74
- package/dist/es2019/create-post-interaction-log-payload/index.js +1 -4
- package/dist/es2019/interaction-metrics/common/constants.js +6 -0
- package/dist/es2019/interaction-metrics/common/index.js +103 -0
- package/dist/es2019/interaction-metrics/index.js +92 -129
- package/dist/es2019/interaction-metrics/post-interaction-log.js +6 -2
- package/dist/es2019/interaction-metrics-init/index.js +21 -8
- package/dist/es2019/load-hold/UFOLoadHold.js +3 -4
- package/dist/es2019/segment/segment.js +6 -12
- package/dist/es2019/trace-pageload/index.js +1 -1
- package/dist/esm/config/index.js +39 -18
- package/dist/esm/create-experimental-interaction-metrics-payload/index.js +81 -0
- package/dist/esm/create-payload/common/utils/index.js +80 -1
- package/dist/esm/create-payload/index.js +33 -75
- package/dist/esm/create-post-interaction-log-payload/index.js +1 -4
- package/dist/esm/interaction-metrics/common/constants.js +6 -0
- package/dist/esm/interaction-metrics/common/index.js +132 -0
- package/dist/esm/interaction-metrics/index.js +87 -156
- package/dist/esm/interaction-metrics/post-interaction-log.js +6 -2
- package/dist/esm/interaction-metrics-init/index.js +24 -10
- package/dist/esm/load-hold/UFOLoadHold.js +3 -4
- package/dist/esm/segment/segment.js +7 -9
- package/dist/esm/trace-pageload/index.js +1 -1
- package/dist/types/common/common/types.d.ts +9 -5
- package/dist/types/config/index.d.ts +6 -0
- package/dist/types/create-experimental-interaction-metrics-payload/index.d.ts +31 -0
- package/dist/types/create-payload/common/utils/index.d.ts +12 -0
- package/dist/types/create-payload/index.d.ts +13 -5660
- package/dist/types/create-post-interaction-log-payload/index.d.ts +2 -0
- package/dist/types/interaction-metrics/common/constants.d.ts +31 -1
- package/dist/types/interaction-metrics/common/index.d.ts +16 -0
- package/dist/types/interaction-metrics/index.d.ts +4 -15
- package/dist/types/interaction-metrics/post-interaction-log.d.ts +1 -1
- package/dist/types/load-hold/UFOLoadHold.d.ts +1 -2
- package/dist/types/trace-pageload/index.d.ts +1 -0
- package/dist/types-ts4.5/common/common/types.d.ts +9 -5
- package/dist/types-ts4.5/config/index.d.ts +6 -0
- package/dist/types-ts4.5/create-experimental-interaction-metrics-payload/index.d.ts +31 -0
- package/dist/types-ts4.5/create-payload/common/utils/index.d.ts +12 -0
- package/dist/types-ts4.5/create-payload/index.d.ts +13 -5660
- package/dist/types-ts4.5/create-post-interaction-log-payload/index.d.ts +2 -0
- package/dist/types-ts4.5/interaction-metrics/common/constants.d.ts +31 -1
- package/dist/types-ts4.5/interaction-metrics/common/index.d.ts +16 -0
- package/dist/types-ts4.5/interaction-metrics/index.d.ts +4 -15
- package/dist/types-ts4.5/interaction-metrics/post-interaction-log.d.ts +1 -1
- package/dist/types-ts4.5/load-hold/UFOLoadHold.d.ts +1 -2
- package/dist/types-ts4.5/trace-pageload/index.d.ts +1 -0
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @atlaskit/ufo-interaction-ignore
|
|
2
2
|
|
|
3
|
+
## 2.4.7
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#175818](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/175818)
|
|
8
|
+
[`1401a5646d271`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/1401a5646d271) -
|
|
9
|
+
Add experimentalTTAI and experimentalVC90 to custom.post-interaction-log
|
|
10
|
+
- [#173211](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/173211)
|
|
11
|
+
[`202bc8df0c75a`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/202bc8df0c75a) -
|
|
12
|
+
Experimental UFO holds, VC90 and TTAI metrics
|
|
13
|
+
- [#175826](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/175826)
|
|
14
|
+
[`b5c5bf59d1cff`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/b5c5bf59d1cff) -
|
|
15
|
+
add rate limiting to experimental interaction metrics
|
|
16
|
+
|
|
3
17
|
## 2.4.6
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@atlaskit/react-ufo/create-experimental-interaction-metrics-payload",
|
|
3
|
+
"main": "../dist/cjs/create-experimental-interaction-metrics-payload/index.js",
|
|
4
|
+
"module": "../dist/esm/create-experimental-interaction-metrics-payload/index.js",
|
|
5
|
+
"module:es2019": "../dist/es2019/create-experimental-interaction-metrics-payload/index.js",
|
|
6
|
+
"sideEffects": false,
|
|
7
|
+
"types": "../dist/types/create-experimental-interaction-metrics-payload/index.d.ts",
|
|
8
|
+
"typesVersions": {
|
|
9
|
+
">=4.5 <5.4": {
|
|
10
|
+
"*": [
|
|
11
|
+
"../dist/types-ts4.5/create-experimental-interaction-metrics-payload/index.d.ts"
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
package/dist/cjs/config/index.js
CHANGED
|
@@ -8,6 +8,7 @@ exports.getCapabilityRate = getCapabilityRate;
|
|
|
8
8
|
exports.getConfig = getConfig;
|
|
9
9
|
exports.getDoNotAbortActivePressInteraction = getDoNotAbortActivePressInteraction;
|
|
10
10
|
exports.getDoNotAbortActivePressInteractionOnTransition = getDoNotAbortActivePressInteractionOnTransition;
|
|
11
|
+
exports.getExperimentalInteractionRate = getExperimentalInteractionRate;
|
|
11
12
|
exports.getInteractionRate = getInteractionRate;
|
|
12
13
|
exports.getPostInteractionRate = getPostInteractionRate;
|
|
13
14
|
exports.getRemoveInteractionsUFOPrefixes = getRemoveInteractionsUFOPrefixes;
|
|
@@ -81,13 +82,34 @@ function getInteractionRate(name, interactionKind) {
|
|
|
81
82
|
return 0;
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
|
-
function
|
|
85
|
+
function getExperimentalInteractionRate(name, interactionType) {
|
|
85
86
|
try {
|
|
86
87
|
if (!config) {
|
|
87
88
|
return 0;
|
|
88
89
|
}
|
|
89
90
|
var _config2 = config,
|
|
90
|
-
|
|
91
|
+
experimentalInteractionMetrics = _config2.experimentalInteractionMetrics;
|
|
92
|
+
if (!(experimentalInteractionMetrics !== null && experimentalInteractionMetrics !== void 0 && experimentalInteractionMetrics.enabled)) {
|
|
93
|
+
return 0;
|
|
94
|
+
}
|
|
95
|
+
if (experimentalInteractionMetrics.rates && typeof experimentalInteractionMetrics.rates[name] === 'number') {
|
|
96
|
+
return experimentalInteractionMetrics.rates[name];
|
|
97
|
+
}
|
|
98
|
+
if (experimentalInteractionMetrics.kind && typeof experimentalInteractionMetrics.kind[interactionType] === 'number') {
|
|
99
|
+
return experimentalInteractionMetrics.kind[interactionType];
|
|
100
|
+
}
|
|
101
|
+
return 0;
|
|
102
|
+
} catch (e) {
|
|
103
|
+
return 0;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
function getPostInteractionRate(name, interactionType) {
|
|
107
|
+
try {
|
|
108
|
+
if (!config) {
|
|
109
|
+
return 0;
|
|
110
|
+
}
|
|
111
|
+
var _config3 = config,
|
|
112
|
+
postInteractionLog = _config3.postInteractionLog;
|
|
91
113
|
if (!(postInteractionLog !== null && postInteractionLog !== void 0 && postInteractionLog.enabled)) {
|
|
92
114
|
return 0;
|
|
93
115
|
}
|
|
@@ -107,8 +129,8 @@ function getCapabilityRate(capability) {
|
|
|
107
129
|
if (!config) {
|
|
108
130
|
return 0;
|
|
109
131
|
}
|
|
110
|
-
var
|
|
111
|
-
capabilityRate =
|
|
132
|
+
var _config4 = config,
|
|
133
|
+
capabilityRate = _config4.capability;
|
|
112
134
|
if (capabilityRate != null) {
|
|
113
135
|
var rate = capabilityRate[capability];
|
|
114
136
|
if (rate != null) {
|
|
@@ -127,8 +149,8 @@ function getTypingPerformanceTracingMethod() {
|
|
|
127
149
|
if (!config) {
|
|
128
150
|
return defaultMethod;
|
|
129
151
|
}
|
|
130
|
-
var
|
|
131
|
-
typingMethod =
|
|
152
|
+
var _config5 = config,
|
|
153
|
+
typingMethod = _config5.typingMethod;
|
|
132
154
|
if (typingMethod != null && validTypingMethods.find(function (m) {
|
|
133
155
|
return m === typingMethod;
|
|
134
156
|
})) {
|
|
@@ -147,8 +169,8 @@ function getAwaitBM3TTIList() {
|
|
|
147
169
|
if (!config) {
|
|
148
170
|
return [];
|
|
149
171
|
}
|
|
150
|
-
var
|
|
151
|
-
awaitBM3TTI =
|
|
172
|
+
var _config6 = config,
|
|
173
|
+
awaitBM3TTI = _config6.awaitBM3TTI;
|
|
152
174
|
if (awaitBM3TTI != null) {
|
|
153
175
|
return awaitBM3TTI;
|
|
154
176
|
} else {
|
|
@@ -165,8 +187,8 @@ function getRemovePageSegmentsUFOPrefixes() {
|
|
|
165
187
|
if (!config) {
|
|
166
188
|
return false;
|
|
167
189
|
}
|
|
168
|
-
var
|
|
169
|
-
removePageSegmentsUFOPrefixes =
|
|
190
|
+
var _config7 = config,
|
|
191
|
+
removePageSegmentsUFOPrefixes = _config7.removePageSegmentsUFOPrefixes;
|
|
170
192
|
if (removePageSegmentsUFOPrefixes != null) {
|
|
171
193
|
return removePageSegmentsUFOPrefixes;
|
|
172
194
|
} else {
|
|
@@ -183,8 +205,8 @@ function getRemoveInteractionsUFOPrefixes() {
|
|
|
183
205
|
if (!config) {
|
|
184
206
|
return false;
|
|
185
207
|
}
|
|
186
|
-
var
|
|
187
|
-
removeInteractionsUFOPrefixes =
|
|
208
|
+
var _config8 = config,
|
|
209
|
+
removeInteractionsUFOPrefixes = _config8.removeInteractionsUFOPrefixes;
|
|
188
210
|
if (removeInteractionsUFOPrefixes != null) {
|
|
189
211
|
return removeInteractionsUFOPrefixes;
|
|
190
212
|
} else {
|
|
@@ -204,8 +226,8 @@ function getUfoNameOverrides() {
|
|
|
204
226
|
if (!config) {
|
|
205
227
|
return undefined;
|
|
206
228
|
}
|
|
207
|
-
var
|
|
208
|
-
ufoNameOverrides =
|
|
229
|
+
var _config9 = config,
|
|
230
|
+
ufoNameOverrides = _config9.ufoNameOverrides;
|
|
209
231
|
if (ufoNameOverrides != null) {
|
|
210
232
|
return ufoNameOverrides;
|
|
211
233
|
}
|
|
@@ -221,8 +243,8 @@ function getDoNotAbortActivePressInteraction() {
|
|
|
221
243
|
if (!config) {
|
|
222
244
|
return undefined;
|
|
223
245
|
}
|
|
224
|
-
var
|
|
225
|
-
doNotAbortActivePressInteraction =
|
|
246
|
+
var _config10 = config,
|
|
247
|
+
doNotAbortActivePressInteraction = _config10.doNotAbortActivePressInteraction;
|
|
226
248
|
return doNotAbortActivePressInteraction;
|
|
227
249
|
} catch (e) {
|
|
228
250
|
return undefined;
|
|
@@ -235,8 +257,8 @@ function getDoNotAbortActivePressInteractionOnTransition() {
|
|
|
235
257
|
if (!config) {
|
|
236
258
|
return undefined;
|
|
237
259
|
}
|
|
238
|
-
var
|
|
239
|
-
doNotAbortActivePressInteractionOnTransition =
|
|
260
|
+
var _config11 = config,
|
|
261
|
+
doNotAbortActivePressInteractionOnTransition = _config11.doNotAbortActivePressInteractionOnTransition;
|
|
240
262
|
return doNotAbortActivePressInteractionOnTransition;
|
|
241
263
|
} catch (e) {
|
|
242
264
|
return undefined;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ExperimentalInteractionMetrics = void 0;
|
|
8
|
+
exports.createExperimentalInteractionMetricsPayload = createExperimentalInteractionMetricsPayload;
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
+
var _coinflip = _interopRequireDefault(require("../coinflip"));
|
|
13
|
+
var _config = require("../config");
|
|
14
|
+
var _createPayload = require("../create-payload");
|
|
15
|
+
var _hiddenTiming = require("../hidden-timing");
|
|
16
|
+
var _vcObserver = require("../vc/vc-observer");
|
|
17
|
+
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; }
|
|
18
|
+
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) { (0, _defineProperty2.default)(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; }
|
|
19
|
+
var ExperimentalInteractionMetrics = exports.ExperimentalInteractionMetrics = /*#__PURE__*/function () {
|
|
20
|
+
function ExperimentalInteractionMetrics() {
|
|
21
|
+
(0, _classCallCheck2.default)(this, ExperimentalInteractionMetrics);
|
|
22
|
+
/**
|
|
23
|
+
* Handler function to process / send the observation data
|
|
24
|
+
*/
|
|
25
|
+
(0, _defineProperty2.default)(this, "sinkHandlerFn", function () {});
|
|
26
|
+
/**
|
|
27
|
+
* independent VC observer that observes until `custom.post-interaction-logs` event is sent
|
|
28
|
+
*/
|
|
29
|
+
(0, _defineProperty2.default)(this, "vcObserver", null);
|
|
30
|
+
}
|
|
31
|
+
(0, _createClass2.default)(ExperimentalInteractionMetrics, [{
|
|
32
|
+
key: "sinkHandler",
|
|
33
|
+
value:
|
|
34
|
+
/**
|
|
35
|
+
* Set the fn that would be invoked to process / send the observation data
|
|
36
|
+
*/
|
|
37
|
+
function sinkHandler(sinkHandlerFn) {
|
|
38
|
+
this.sinkHandlerFn = sinkHandlerFn;
|
|
39
|
+
}
|
|
40
|
+
}, {
|
|
41
|
+
key: "onInteractionComplete",
|
|
42
|
+
value: function onInteractionComplete(interactionId, data) {
|
|
43
|
+
var endTime = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : performance.now();
|
|
44
|
+
if (data.ufoName) {
|
|
45
|
+
data.end = endTime;
|
|
46
|
+
this.sinkHandlerFn(interactionId, data);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}, {
|
|
50
|
+
key: "initializeVCObserver",
|
|
51
|
+
value: function initializeVCObserver(options) {
|
|
52
|
+
if (this.vcObserver === null) {
|
|
53
|
+
this.vcObserver = new _vcObserver.VCObserver(_objectSpread(_objectSpread({}, options), {}, {
|
|
54
|
+
isPostInteraction: true
|
|
55
|
+
}));
|
|
56
|
+
}
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
}, {
|
|
60
|
+
key: "startVCObserver",
|
|
61
|
+
value: function startVCObserver(_ref) {
|
|
62
|
+
var _this$vcObserver;
|
|
63
|
+
var startTime = _ref.startTime;
|
|
64
|
+
(_this$vcObserver = this.vcObserver) === null || _this$vcObserver === void 0 || _this$vcObserver.start({
|
|
65
|
+
startTime: startTime
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}]);
|
|
69
|
+
return ExperimentalInteractionMetrics;
|
|
70
|
+
}();
|
|
71
|
+
function createExperimentalInteractionMetricsPayload(interactionId, interaction) {
|
|
72
|
+
var config = (0, _config.getConfig)();
|
|
73
|
+
if (!config) {
|
|
74
|
+
throw Error('UFO Configuration not provided');
|
|
75
|
+
}
|
|
76
|
+
var ufoName = (0, _createPayload.getUfoNameOverride)(interaction);
|
|
77
|
+
var modifiedInteraction = _objectSpread(_objectSpread({}, interaction), {}, {
|
|
78
|
+
ufoName: ufoName
|
|
79
|
+
});
|
|
80
|
+
var rate = (0, _config.getExperimentalInteractionRate)(ufoName, interaction.type);
|
|
81
|
+
if (!(0, _coinflip.default)(rate)) {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
var pageVisibilityState = (0, _hiddenTiming.getPageVisibilityState)(interaction.start, interaction.end);
|
|
85
|
+
if (pageVisibilityState !== 'visible') {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
return (0, _createPayload.createInteractionMetricsPayload)(modifiedInteraction, interactionId, true);
|
|
89
|
+
}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.buildSegmentTree = buildSegmentTree;
|
|
9
|
+
exports.getPageVisibilityUpToTTAI = exports.getInteractionStatus = exports.getExperimentalVCMetrics = exports.calculateVCMetrics = void 0;
|
|
10
|
+
exports.getSSRDoneTimeValue = getSSRDoneTimeValue;
|
|
11
|
+
exports.getVCMetrics = exports.getTTAI = void 0;
|
|
8
12
|
exports.isSegmentLabel = isSegmentLabel;
|
|
9
13
|
exports.labelStackStartWith = labelStackStartWith;
|
|
10
14
|
exports.optimizeLabelStack = optimizeLabelStack;
|
|
@@ -12,6 +16,13 @@ exports.sanitizeUfoName = void 0;
|
|
|
12
16
|
exports.stringifyLabelStackFully = stringifyLabelStackFully;
|
|
13
17
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
18
|
var _constants = require("../../../common/constants");
|
|
19
|
+
var _config = require("../../../config");
|
|
20
|
+
var _hiddenTiming = require("../../../hidden-timing");
|
|
21
|
+
var _interactionMetrics = require("../../../interaction-metrics");
|
|
22
|
+
var ssr = _interopRequireWildcard(require("../../../ssr"));
|
|
23
|
+
var _vc = require("../../../vc");
|
|
24
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
25
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
26
|
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
27
|
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) { (0, _defineProperty2.default)(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; } /* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */
|
|
17
28
|
var sanitizeUfoName = exports.sanitizeUfoName = function sanitizeUfoName(name) {
|
|
@@ -70,4 +81,77 @@ function optimizeLabelStack(labelStack) {
|
|
|
70
81
|
s: ls.segmentId
|
|
71
82
|
} : {});
|
|
72
83
|
});
|
|
73
|
-
}
|
|
84
|
+
}
|
|
85
|
+
var getInteractionStatus = exports.getInteractionStatus = function getInteractionStatus(interaction) {
|
|
86
|
+
var originalInteractionStatus = interaction.abortReason ? 'ABORTED' : 'SUCCEEDED';
|
|
87
|
+
var hasBm3TTI = interaction.apdex.length > 0;
|
|
88
|
+
var overrideStatus = hasBm3TTI ? 'SUCCEEDED' : originalInteractionStatus;
|
|
89
|
+
return {
|
|
90
|
+
originalInteractionStatus: originalInteractionStatus,
|
|
91
|
+
overrideStatus: overrideStatus
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
var getPageVisibilityUpToTTAI = exports.getPageVisibilityUpToTTAI = function getPageVisibilityUpToTTAI(interaction) {
|
|
95
|
+
var start = interaction.start,
|
|
96
|
+
end = interaction.end;
|
|
97
|
+
return (0, _hiddenTiming.getPageVisibilityState)(start, end);
|
|
98
|
+
};
|
|
99
|
+
var calculateVCMetrics = exports.calculateVCMetrics = function calculateVCMetrics(interaction, prefix, getVCResultFn) {
|
|
100
|
+
var _interaction$apdex;
|
|
101
|
+
var result = getVCResultFn({
|
|
102
|
+
start: interaction.start,
|
|
103
|
+
stop: interaction.end,
|
|
104
|
+
tti: (_interaction$apdex = interaction.apdex) === null || _interaction$apdex === void 0 || (_interaction$apdex = _interaction$apdex[0]) === null || _interaction$apdex === void 0 ? void 0 : _interaction$apdex.stopTime,
|
|
105
|
+
prefix: prefix,
|
|
106
|
+
vc: interaction.vc
|
|
107
|
+
});
|
|
108
|
+
var VC = result === null || result === void 0 ? void 0 : result['metrics:vc'];
|
|
109
|
+
if (!VC || !(result !== null && result !== void 0 && result["".concat(prefix, ":vc:clean")])) {
|
|
110
|
+
return result;
|
|
111
|
+
}
|
|
112
|
+
var interactionStatus = getInteractionStatus(interaction);
|
|
113
|
+
var pageVisibilityUpToTTAI = getPageVisibilityUpToTTAI(interaction);
|
|
114
|
+
if (interactionStatus.originalInteractionStatus !== 'SUCCEEDED' || pageVisibilityUpToTTAI !== 'visible') {
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
return result;
|
|
118
|
+
};
|
|
119
|
+
function getSSRDoneTimeValue(config) {
|
|
120
|
+
var _config$ssr, _config$ssr2;
|
|
121
|
+
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();
|
|
122
|
+
}
|
|
123
|
+
var getVCMetrics = exports.getVCMetrics = function getVCMetrics(interaction) {
|
|
124
|
+
var _config$vc, _result$metricsVc;
|
|
125
|
+
var config = (0, _config.getConfig)();
|
|
126
|
+
if (!(config !== null && config !== void 0 && (_config$vc = config.vc) !== null && _config$vc !== void 0 && _config$vc.enabled)) {
|
|
127
|
+
return {};
|
|
128
|
+
}
|
|
129
|
+
if (interaction.type !== 'page_load' && interaction.type !== 'transition') {
|
|
130
|
+
return {};
|
|
131
|
+
}
|
|
132
|
+
var ssr = interaction.type === 'page_load' && config !== null && config !== void 0 && config.ssr ? {
|
|
133
|
+
ssr: getSSRDoneTimeValue(config)
|
|
134
|
+
} : null;
|
|
135
|
+
_interactionMetrics.postInteractionLog.setVCObserverSSRConfig(ssr);
|
|
136
|
+
var result = calculateVCMetrics(interaction, 'ufo', (0, _vc.getVCObserver)().getVCResult);
|
|
137
|
+
return _objectSpread(_objectSpread({}, result), {}, {
|
|
138
|
+
'metric:vc90': result === null || result === void 0 || (_result$metricsVc = result['metrics:vc']) === null || _result$metricsVc === void 0 ? void 0 : _result$metricsVc['90']
|
|
139
|
+
});
|
|
140
|
+
};
|
|
141
|
+
var getExperimentalVCMetrics = exports.getExperimentalVCMetrics = function getExperimentalVCMetrics(interaction) {
|
|
142
|
+
if (_interactionMetrics.experimentalInteractionLog.vcObserver) {
|
|
143
|
+
var _result$metricsVc2;
|
|
144
|
+
var result = calculateVCMetrics(interaction, 'ufo-experimental', _interactionMetrics.experimentalInteractionLog.vcObserver.getVCResult);
|
|
145
|
+
return _objectSpread(_objectSpread({}, result), {}, {
|
|
146
|
+
'metric:experimental:vc90': result === null || result === void 0 || (_result$metricsVc2 = result['metrics:vc']) === null || _result$metricsVc2 === void 0 ? void 0 : _result$metricsVc2['90']
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
return null;
|
|
150
|
+
};
|
|
151
|
+
var getTTAI = exports.getTTAI = function getTTAI(interaction) {
|
|
152
|
+
var start = interaction.start,
|
|
153
|
+
end = interaction.end;
|
|
154
|
+
var interactionStatus = getInteractionStatus(interaction);
|
|
155
|
+
var pageVisibilityUpToTTAI = getPageVisibilityUpToTTAI(interaction);
|
|
156
|
+
return interactionStatus.originalInteractionStatus === 'SUCCEEDED' && pageVisibilityUpToTTAI === 'visible' ? Math.round(end - start) : undefined;
|
|
157
|
+
};
|
|
@@ -5,7 +5,9 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
+
exports.createInteractionMetricsPayload = createInteractionMetricsPayload;
|
|
8
9
|
exports.createPayloads = createPayloads;
|
|
10
|
+
exports.getUfoNameOverride = getUfoNameOverride;
|
|
9
11
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
13
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
@@ -24,7 +26,6 @@ var _interactionMetrics = require("../interaction-metrics");
|
|
|
24
26
|
var resourceTiming = _interopRequireWildcard(require("../resource-timing"));
|
|
25
27
|
var _roundNumber = require("../round-number");
|
|
26
28
|
var ssr = _interopRequireWildcard(require("../ssr"));
|
|
27
|
-
var _vc = require("../vc");
|
|
28
29
|
var _utils = require("./common/utils");
|
|
29
30
|
var _excluded = ["labelStack", "time"],
|
|
30
31
|
_excluded2 = ["stopTime", "labelStack"],
|
|
@@ -46,7 +47,6 @@ function getUfoNameOverride(interaction) {
|
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
49
|
return ufoName;
|
|
49
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
50
50
|
} catch (e) {
|
|
51
51
|
return ufoName;
|
|
52
52
|
}
|
|
@@ -81,11 +81,6 @@ var getPageVisibilityUpToTTI = function getPageVisibilityUpToTTI(interaction) {
|
|
|
81
81
|
var bm3EndTimeOrInteractionEndTime = getBm3EndTimeOrFallbackValue(interaction);
|
|
82
82
|
return (0, _hiddenTiming.getPageVisibilityState)(start, bm3EndTimeOrInteractionEndTime);
|
|
83
83
|
};
|
|
84
|
-
var getPageVisibilityUpToTTAI = function getPageVisibilityUpToTTAI(interaction) {
|
|
85
|
-
var start = interaction.start,
|
|
86
|
-
end = interaction.end;
|
|
87
|
-
return (0, _hiddenTiming.getPageVisibilityState)(start, end);
|
|
88
|
-
};
|
|
89
84
|
var getVisibilityStateFromPerformance = function getVisibilityStateFromPerformance(stop) {
|
|
90
85
|
try {
|
|
91
86
|
var results = performance.getEntriesByType('visibility-state');
|
|
@@ -131,7 +126,7 @@ var getMoreAccuratePageVisibilityUpToTTI = function getMoreAccuratePageVisibilit
|
|
|
131
126
|
return old;
|
|
132
127
|
};
|
|
133
128
|
var getMoreAccuratePageVisibilityUpToTTAI = function getMoreAccuratePageVisibilityUpToTTAI(interaction) {
|
|
134
|
-
var old = getPageVisibilityUpToTTAI(interaction);
|
|
129
|
+
var old = (0, _utils.getPageVisibilityUpToTTAI)(interaction);
|
|
135
130
|
var buffered = getVisibilityStateFromPerformance(interaction.end);
|
|
136
131
|
if (!buffered) {
|
|
137
132
|
return old;
|
|
@@ -141,15 +136,6 @@ var getMoreAccuratePageVisibilityUpToTTAI = function getMoreAccuratePageVisibili
|
|
|
141
136
|
}
|
|
142
137
|
return old;
|
|
143
138
|
};
|
|
144
|
-
var getInteractionStatus = function getInteractionStatus(interaction) {
|
|
145
|
-
var originalInteractionStatus = interaction.abortReason ? 'ABORTED' : 'SUCCEEDED';
|
|
146
|
-
var hasBm3TTI = interaction.apdex.length > 0;
|
|
147
|
-
var overrideStatus = hasBm3TTI ? 'SUCCEEDED' : originalInteractionStatus;
|
|
148
|
-
return {
|
|
149
|
-
originalInteractionStatus: originalInteractionStatus,
|
|
150
|
-
overrideStatus: overrideStatus
|
|
151
|
-
};
|
|
152
|
-
};
|
|
153
139
|
var getResourceTimings = function getResourceTimings(start, end) {
|
|
154
140
|
var _resourceTiming$getRe;
|
|
155
141
|
return (_resourceTiming$getRe = resourceTiming.getResourceTimings(start, end)) !== null && _resourceTiming$getRe !== void 0 ? _resourceTiming$getRe : undefined;
|
|
@@ -178,42 +164,6 @@ var getPaintMetrics = function getPaintMetrics(type) {
|
|
|
178
164
|
});
|
|
179
165
|
return metrics;
|
|
180
166
|
};
|
|
181
|
-
var getVCMetrics = function getVCMetrics(interaction) {
|
|
182
|
-
var _config$vc, _interaction$apdex;
|
|
183
|
-
var config = (0, _config.getConfig)();
|
|
184
|
-
if (!(config !== null && config !== void 0 && (_config$vc = config.vc) !== null && _config$vc !== void 0 && _config$vc.enabled)) {
|
|
185
|
-
return {};
|
|
186
|
-
}
|
|
187
|
-
if (interaction.type !== 'page_load' && interaction.type !== 'transition') {
|
|
188
|
-
return {};
|
|
189
|
-
}
|
|
190
|
-
var ssr = interaction.type === 'page_load' && config !== null && config !== void 0 && config.ssr ? {
|
|
191
|
-
ssr: getSSRDoneTimeValue(config)
|
|
192
|
-
} : null;
|
|
193
|
-
_interactionMetrics.postInteractionLog.setVCObserverSSRConfig(ssr);
|
|
194
|
-
var tti = (_interaction$apdex = interaction.apdex) === null || _interaction$apdex === void 0 || (_interaction$apdex = _interaction$apdex[0]) === null || _interaction$apdex === void 0 ? void 0 : _interaction$apdex.stopTime;
|
|
195
|
-
var prefix = 'ufo';
|
|
196
|
-
var result = (0, _vc.getVCObserver)().getVCResult(_objectSpread({
|
|
197
|
-
start: interaction.start,
|
|
198
|
-
stop: interaction.end,
|
|
199
|
-
tti: tti,
|
|
200
|
-
prefix: prefix,
|
|
201
|
-
vc: interaction.vc
|
|
202
|
-
}, ssr));
|
|
203
|
-
_interactionMetrics.postInteractionLog.setLastInteractionFinishVCResult(result);
|
|
204
|
-
var VC = result === null || result === void 0 ? void 0 : result['metrics:vc'];
|
|
205
|
-
if (!VC || !(result !== null && result !== void 0 && result["".concat(prefix, ":vc:clean")])) {
|
|
206
|
-
return result;
|
|
207
|
-
}
|
|
208
|
-
var interactionStatus = getInteractionStatus(interaction);
|
|
209
|
-
var pageVisibilityUpToTTAI = getPageVisibilityUpToTTAI(interaction);
|
|
210
|
-
if (interactionStatus.originalInteractionStatus !== 'SUCCEEDED' || pageVisibilityUpToTTAI !== 'visible') {
|
|
211
|
-
return result;
|
|
212
|
-
}
|
|
213
|
-
return _objectSpread(_objectSpread({}, result), {}, {
|
|
214
|
-
'metric:vc90': VC['90']
|
|
215
|
-
});
|
|
216
|
-
};
|
|
217
167
|
var getNavigationMetrics = function getNavigationMetrics(type) {
|
|
218
168
|
if (type !== 'page_load') {
|
|
219
169
|
return {};
|
|
@@ -261,13 +211,13 @@ var getNavigationMetrics = function getNavigationMetrics(type) {
|
|
|
261
211
|
};
|
|
262
212
|
};
|
|
263
213
|
var getPPSMetrics = function getPPSMetrics(interaction) {
|
|
264
|
-
var _interaction$
|
|
214
|
+
var _interaction$apdex;
|
|
265
215
|
var start = interaction.start,
|
|
266
216
|
end = interaction.end;
|
|
267
217
|
var config = (0, _config.getConfig)();
|
|
268
|
-
var interactionStatus = getInteractionStatus(interaction);
|
|
269
|
-
var pageVisibilityUpToTTAI = getPageVisibilityUpToTTAI(interaction);
|
|
270
|
-
var tti = (_interaction$
|
|
218
|
+
var interactionStatus = (0, _utils.getInteractionStatus)(interaction);
|
|
219
|
+
var pageVisibilityUpToTTAI = (0, _utils.getPageVisibilityUpToTTAI)(interaction);
|
|
220
|
+
var tti = (_interaction$apdex = interaction.apdex) === null || _interaction$apdex === void 0 || (_interaction$apdex = _interaction$apdex[0]) === null || _interaction$apdex === void 0 ? void 0 : _interaction$apdex.stopTime;
|
|
271
221
|
var ttai = interactionStatus.originalInteractionStatus === 'SUCCEEDED' && pageVisibilityUpToTTAI === 'visible' ? Math.round(end - start) : undefined;
|
|
272
222
|
var PPSMetricsAtTTI = tti !== undefined ? (0, _additionalPayload.getLighthouseMetrics)({
|
|
273
223
|
start: start,
|
|
@@ -358,13 +308,13 @@ function optimizeCustomData(interaction) {
|
|
|
358
308
|
for (var _i = 0, _Object$entries = Object.entries(currentValue.custom || {}); _i < _Object$entries.length; _i++) {
|
|
359
309
|
var _result$get$data2, _result$get2;
|
|
360
310
|
var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
|
|
361
|
-
|
|
311
|
+
key = _Object$entries$_i[0],
|
|
362
312
|
value = _Object$entries$_i[1];
|
|
363
313
|
var label = (0, _utils.stringifyLabelStackFully)([]);
|
|
364
314
|
var labelValue = (_result$get$data2 = (_result$get2 = result.get(label)) === null || _result$get2 === void 0 ? void 0 : _result$get2.data) !== null && _result$get$data2 !== void 0 ? _result$get$data2 : {};
|
|
365
315
|
result.set(label, {
|
|
366
316
|
labelStack: (0, _utils.optimizeLabelStack)([]),
|
|
367
|
-
data: Object.assign(labelValue, (0, _defineProperty2.default)({},
|
|
317
|
+
data: Object.assign(labelValue, (0, _defineProperty2.default)({}, key, value))
|
|
368
318
|
});
|
|
369
319
|
}
|
|
370
320
|
return result;
|
|
@@ -602,10 +552,6 @@ function getBm3TrackerTimings(interaction) {
|
|
|
602
552
|
legacyMetrics: legacyMetrics
|
|
603
553
|
};
|
|
604
554
|
}
|
|
605
|
-
function getSSRDoneTimeValue(config) {
|
|
606
|
-
var _config$ssr, _config$ssr2;
|
|
607
|
-
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();
|
|
608
|
-
}
|
|
609
555
|
function getPayloadSize(payload) {
|
|
610
556
|
return Math.round(new TextEncoder().encode(JSON.stringify(payload)).length / 1024);
|
|
611
557
|
}
|
|
@@ -648,13 +594,15 @@ function getStylesheetMetrics() {
|
|
|
648
594
|
return {};
|
|
649
595
|
}
|
|
650
596
|
}
|
|
597
|
+
var regularTTAI;
|
|
598
|
+
var expTTAI;
|
|
651
599
|
function getErrorCounts(interaction) {
|
|
652
600
|
return {
|
|
653
601
|
'ufo:errors:globalCount': (0, _globalErrorHandler.getGlobalErrorCount)(),
|
|
654
602
|
'ufo:errors:count': interaction.errors.length
|
|
655
603
|
};
|
|
656
604
|
}
|
|
657
|
-
function createInteractionMetricsPayload(interaction, interactionId) {
|
|
605
|
+
function createInteractionMetricsPayload(interaction, interactionId, experimental) {
|
|
658
606
|
var _window$location, _config$additionalPay;
|
|
659
607
|
var interactionPayloadStart = performance.now();
|
|
660
608
|
var config = (0, _config.getConfig)();
|
|
@@ -674,7 +622,7 @@ function createInteractionMetricsPayload(interaction, interactionId) {
|
|
|
674
622
|
isPreviousInteractionAborted = interaction.isPreviousInteractionAborted,
|
|
675
623
|
abortedByInteractionName = interaction.abortedByInteractionName;
|
|
676
624
|
var pageVisibilityAtTTI = getPageVisibilityUpToTTI(interaction);
|
|
677
|
-
var pageVisibilityAtTTAI = getPageVisibilityUpToTTAI(interaction);
|
|
625
|
+
var pageVisibilityAtTTAI = (0, _utils.getPageVisibilityUpToTTAI)(interaction);
|
|
678
626
|
var segments = config.killswitchNestedSegments ? [] : knownSegments;
|
|
679
627
|
var segmentTree = _constants.REACT_UFO_VERSION === '2.0.0' ? (0, _utils.buildSegmentTree)(segments.map(function (segment) {
|
|
680
628
|
return segment.labelStack;
|
|
@@ -689,23 +637,23 @@ function createInteractionMetricsPayload(interaction, interactionId) {
|
|
|
689
637
|
} : {};
|
|
690
638
|
// Page Load
|
|
691
639
|
var getPageLoadInteractionMetrics = function getPageLoadInteractionMetrics() {
|
|
692
|
-
var _config$
|
|
640
|
+
var _config$ssr;
|
|
693
641
|
if (!isPageLoad) {
|
|
694
642
|
return {};
|
|
695
643
|
}
|
|
696
644
|
var config = (0, _config.getConfig)();
|
|
697
|
-
var SSRDoneTimeValue = getSSRDoneTimeValue(config);
|
|
645
|
+
var SSRDoneTimeValue = (0, _utils.getSSRDoneTimeValue)(config);
|
|
698
646
|
var SSRDoneTime = SSRDoneTimeValue !== undefined ? {
|
|
699
647
|
SSRDoneTime: Math.round(SSRDoneTimeValue)
|
|
700
648
|
} : {};
|
|
701
649
|
return _objectSpread(_objectSpread({}, SSRDoneTime), {}, {
|
|
702
650
|
isBM3ConfigSSRDoneAsFmp: interaction.metaData.__legacy__bm3ConfigSSRDoneAsFmp,
|
|
703
|
-
isUFOConfigSSRDoneAsFmp: interaction.metaData.__legacy__bm3ConfigSSRDoneAsFmp || !!(config !== null && config !== void 0 && (_config$
|
|
651
|
+
isUFOConfigSSRDoneAsFmp: interaction.metaData.__legacy__bm3ConfigSSRDoneAsFmp || !!(config !== null && config !== void 0 && (_config$ssr = config.ssr) !== null && _config$ssr !== void 0 && _config$ssr.getSSRDoneTime)
|
|
704
652
|
});
|
|
705
653
|
};
|
|
706
654
|
// Detailed payload. Page visibility = visible
|
|
707
655
|
var getDetailedInteractionMetrics = function getDetailedInteractionMetrics() {
|
|
708
|
-
if (window.__UFO_COMPACT_PAYLOAD__ || !isDetailedPayload) {
|
|
656
|
+
if (experimental || window.__UFO_COMPACT_PAYLOAD__ || !isDetailedPayload) {
|
|
709
657
|
return {};
|
|
710
658
|
}
|
|
711
659
|
var spans = [].concat((0, _toConsumableArray2.default)(interaction.spans), (0, _toConsumableArray2.default)(_interactionMetrics.interactionSpans));
|
|
@@ -720,7 +668,7 @@ function createInteractionMetricsPayload(interaction, interactionId) {
|
|
|
720
668
|
}),
|
|
721
669
|
holdActive: (0, _toConsumableArray2.default)(interaction.holdActive.values()),
|
|
722
670
|
redirects: optimizeRedirects(interaction.redirects, start),
|
|
723
|
-
holdInfo: optimizeHoldInfo(interaction.holdInfo, start),
|
|
671
|
+
holdInfo: optimizeHoldInfo(experimental ? interaction.holdExpInfo : interaction.holdInfo, start),
|
|
724
672
|
spans: optimizeSpans(spans, start),
|
|
725
673
|
requestInfo: optimizeRequestInfo(interaction.requestInfo, start),
|
|
726
674
|
customTimings: optimizeCustomTimings(interaction.customTimings, start),
|
|
@@ -730,16 +678,21 @@ function createInteractionMetricsPayload(interaction, interactionId) {
|
|
|
730
678
|
};
|
|
731
679
|
// Page load & detailed payload
|
|
732
680
|
var getPageLoadDetailedInteractionMetrics = function getPageLoadDetailedInteractionMetrics() {
|
|
733
|
-
var _config$
|
|
681
|
+
var _config$ssr2;
|
|
734
682
|
if (!isPageLoad || !isDetailedPayload) {
|
|
735
683
|
return {};
|
|
736
684
|
}
|
|
737
685
|
var config = (0, _config.getConfig)();
|
|
738
686
|
return {
|
|
739
687
|
initialPageLoadExtraTimings: objectToArray(initialPageLoadExtraTiming.getTimings()),
|
|
740
|
-
SSRTimings: config !== null && config !== void 0 && (_config$
|
|
688
|
+
SSRTimings: config !== null && config !== void 0 && (_config$ssr2 = config.ssr) !== null && _config$ssr2 !== void 0 && _config$ssr2.getSSRTimings ? config.ssr.getSSRTimings() : objectToArray(ssr.getSSRTimings())
|
|
741
689
|
};
|
|
742
690
|
};
|
|
691
|
+
if (experimental) {
|
|
692
|
+
expTTAI = (0, _utils.getTTAI)(interaction);
|
|
693
|
+
} else {
|
|
694
|
+
regularTTAI = (0, _utils.getTTAI)(interaction);
|
|
695
|
+
}
|
|
743
696
|
var newUFOName = (0, _utils.sanitizeUfoName)(ufoName);
|
|
744
697
|
var payload = {
|
|
745
698
|
actionSubject: 'experience',
|
|
@@ -748,7 +701,7 @@ function createInteractionMetricsPayload(interaction, interactionId) {
|
|
|
748
701
|
source: 'measured',
|
|
749
702
|
tags: ['observability'],
|
|
750
703
|
attributes: {
|
|
751
|
-
properties: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
704
|
+
properties: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
752
705
|
// basic
|
|
753
706
|
'event:hostname': ((_window$location = window.location) === null || _window$location === void 0 ? void 0 : _window$location.hostname) || 'unknown',
|
|
754
707
|
'event:product': config.product,
|
|
@@ -760,10 +713,10 @@ function createInteractionMetricsPayload(interaction, interactionId) {
|
|
|
760
713
|
payloadSource: 'platform'
|
|
761
714
|
},
|
|
762
715
|
'event:region': config.region || 'unknown',
|
|
763
|
-
'experience:key': 'custom.interaction-metrics',
|
|
716
|
+
'experience:key': experimental ? 'custom.experimental-interaction-metrics' : 'custom.interaction-metrics',
|
|
764
717
|
'experience:name': newUFOName
|
|
765
|
-
}, getBrowserMetadata()), getSSRProperties(type)), getPPSMetrics(interaction)), getPaintMetrics(type)), getNavigationMetrics(type)), getVCMetrics(interaction)), (_config$additionalPay = config.additionalPayloadData) === null || _config$additionalPay === void 0 ? void 0 : _config$additionalPay.call(config, interaction)), getTracingContextData(interaction)), getStylesheetMetrics()), getErrorCounts(interaction)), {}, {
|
|
766
|
-
interactionMetrics: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
718
|
+
}, getBrowserMetadata()), getSSRProperties(type)), getPPSMetrics(interaction)), getPaintMetrics(type)), getNavigationMetrics(type)), (0, _utils.getVCMetrics)(interaction)), experimental ? (0, _utils.getExperimentalVCMetrics)(interaction) : undefined), (_config$additionalPay = config.additionalPayloadData) === null || _config$additionalPay === void 0 ? void 0 : _config$additionalPay.call(config, interaction)), getTracingContextData(interaction)), getStylesheetMetrics()), getErrorCounts(interaction)), {}, {
|
|
719
|
+
interactionMetrics: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
767
720
|
namePrefix: config.namePrefix || '',
|
|
768
721
|
segmentPrefix: config.segmentPrefix || '',
|
|
769
722
|
interactionId: interactionId,
|
|
@@ -794,11 +747,18 @@ function createInteractionMetricsPayload(interaction, interactionId) {
|
|
|
794
747
|
marks: optimizeMarks(interaction.marks),
|
|
795
748
|
customData: optimizeCustomData(interaction),
|
|
796
749
|
reactProfilerTimings: optimizeReactProfilerTimings(interaction.reactProfilerTimings, start)
|
|
797
|
-
}, labelStack), getPageLoadInteractionMetrics()), getDetailedInteractionMetrics()), getPageLoadDetailedInteractionMetrics()), getBm3TrackerTimings(interaction)),
|
|
750
|
+
}, labelStack), getPageLoadInteractionMetrics()), getDetailedInteractionMetrics()), getPageLoadDetailedInteractionMetrics()), getBm3TrackerTimings(interaction)), {}, {
|
|
751
|
+
'metric:ttai': experimental ? regularTTAI || expTTAI : undefined,
|
|
752
|
+
'metric:experimental:ttai': experimental ? expTTAI : undefined
|
|
753
|
+
}),
|
|
798
754
|
'ufo:payloadTime': (0, _roundNumber.roundEpsilon)(performance.now() - interactionPayloadStart)
|
|
799
755
|
})
|
|
800
756
|
}
|
|
801
757
|
};
|
|
758
|
+
if (experimental) {
|
|
759
|
+
regularTTAI = undefined;
|
|
760
|
+
expTTAI = undefined;
|
|
761
|
+
}
|
|
802
762
|
payload.attributes.properties['event:sizeInKb'] = getPayloadSize(payload.attributes.properties);
|
|
803
763
|
return payload;
|
|
804
764
|
}
|
|
@@ -58,10 +58,7 @@ function removeCascadingParentTimingReport(reactProfilerTimings) {
|
|
|
58
58
|
if (parentSegmentId) {
|
|
59
59
|
var parentTimings = timingIndex.get(parentSegmentId);
|
|
60
60
|
var filteredParentTimings = parentTimings === null || parentTimings === void 0 ? void 0 : parentTimings.filter(function (parentTiming) {
|
|
61
|
-
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
return true;
|
|
61
|
+
return !(parentTiming.startTime === timing.startTime && parentTiming.actualDuration === timing.actualDuration);
|
|
65
62
|
});
|
|
66
63
|
if (filteredParentTimings) {
|
|
67
64
|
timingIndex.set(parentSegmentId, filteredParentTimings);
|