@atlaskit/react-ufo 2.4.7 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/dist/cjs/common/constants.js +1 -1
- package/dist/cjs/config/index.js +18 -40
- package/dist/cjs/create-payload/common/utils/index.js +1 -85
- package/dist/cjs/create-payload/index.js +77 -37
- package/dist/cjs/interaction-metrics/common/constants.js +1 -7
- package/dist/cjs/interaction-metrics/index.js +205 -140
- package/dist/cjs/interaction-metrics-init/index.js +9 -27
- package/dist/cjs/load-hold/UFOLoadHold.js +4 -3
- package/dist/cjs/segment/segment.js +9 -7
- package/dist/cjs/trace-pageload/index.js +1 -2
- package/dist/cjs/vc/vc-observer/index.js +48 -33
- package/dist/es2019/common/constants.js +1 -1
- package/dist/es2019/config/index.js +0 -22
- package/dist/es2019/create-payload/common/utils/index.js +1 -86
- package/dist/es2019/create-payload/index.js +74 -28
- package/dist/es2019/interaction-metrics/common/constants.js +0 -6
- package/dist/es2019/interaction-metrics/index.js +130 -93
- package/dist/es2019/interaction-metrics-init/index.js +8 -21
- package/dist/es2019/load-hold/UFOLoadHold.js +4 -3
- package/dist/es2019/segment/segment.js +12 -6
- package/dist/es2019/trace-pageload/index.js +1 -1
- package/dist/es2019/vc/vc-observer/index.js +17 -5
- package/dist/esm/common/constants.js +1 -1
- package/dist/esm/config/index.js +18 -39
- package/dist/esm/create-payload/common/utils/index.js +1 -80
- package/dist/esm/create-payload/index.js +75 -33
- package/dist/esm/interaction-metrics/common/constants.js +0 -6
- package/dist/esm/interaction-metrics/index.js +157 -88
- package/dist/esm/interaction-metrics-init/index.js +10 -24
- package/dist/esm/load-hold/UFOLoadHold.js +4 -3
- package/dist/esm/segment/segment.js +9 -7
- package/dist/esm/trace-pageload/index.js +1 -1
- package/dist/esm/vc/vc-observer/index.js +48 -33
- package/dist/types/common/common/types.d.ts +4 -6
- package/dist/types/config/index.d.ts +0 -6
- package/dist/types/create-payload/common/utils/index.d.ts +0 -12
- package/dist/types/create-payload/index.d.ts +5660 -13
- package/dist/types/interaction-metrics/common/constants.d.ts +1 -31
- package/dist/types/interaction-metrics/index.d.ts +15 -4
- package/dist/types/load-hold/UFOLoadHold.d.ts +2 -1
- package/dist/types/trace-pageload/index.d.ts +0 -1
- package/dist/types/vc/vc-observer/index.d.ts +1 -1
- package/dist/types-ts4.5/common/common/types.d.ts +4 -6
- package/dist/types-ts4.5/config/index.d.ts +0 -6
- package/dist/types-ts4.5/create-payload/common/utils/index.d.ts +0 -12
- package/dist/types-ts4.5/create-payload/index.d.ts +5660 -13
- package/dist/types-ts4.5/interaction-metrics/common/constants.d.ts +1 -31
- package/dist/types-ts4.5/interaction-metrics/index.d.ts +15 -4
- package/dist/types-ts4.5/load-hold/UFOLoadHold.d.ts +2 -1
- package/dist/types-ts4.5/trace-pageload/index.d.ts +0 -1
- package/dist/types-ts4.5/vc/vc-observer/index.d.ts +1 -1
- package/package.json +6 -4
- package/create-experimental-interaction-metrics-payload/package.json +0 -15
- package/dist/cjs/create-experimental-interaction-metrics-payload/index.js +0 -89
- package/dist/cjs/interaction-metrics/common/index.js +0 -151
- package/dist/es2019/create-experimental-interaction-metrics-payload/index.js +0 -67
- package/dist/es2019/interaction-metrics/common/index.js +0 -103
- package/dist/esm/create-experimental-interaction-metrics-payload/index.js +0 -81
- package/dist/esm/interaction-metrics/common/index.js +0 -132
- package/dist/types/create-experimental-interaction-metrics-payload/index.d.ts +0 -31
- package/dist/types/interaction-metrics/common/index.d.ts +0 -16
- package/dist/types-ts4.5/create-experimental-interaction-metrics-payload/index.d.ts +0 -31
- package/dist/types-ts4.5/interaction-metrics/common/index.d.ts +0 -16
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @atlaskit/ufo-interaction-ignore
|
|
2
2
|
|
|
3
|
+
## 2.5.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#176642](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/176642)
|
|
8
|
+
[`66ae71c3d1e72`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/66ae71c3d1e72) -
|
|
9
|
+
Revert "AFO-3080: NO-ISSUE Experimental UFO holds and TTAI - 2nd iteration"
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#174793](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/174793)
|
|
14
|
+
[`abbfbb3b49665`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/abbfbb3b49665) -
|
|
15
|
+
remove VC observations after TTAI
|
|
16
|
+
- Updated dependencies
|
|
17
|
+
|
|
3
18
|
## 2.4.7
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
|
@@ -5,4 +5,4 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.REACT_UFO_VERSION = void 0;
|
|
7
7
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
8
|
-
var REACT_UFO_VERSION = exports.REACT_UFO_VERSION = (0, _platformFeatureFlags.fg)('react-ufo-payload-segment-compressed') ? '2.0.0' : '1.0.1';
|
|
8
|
+
var REACT_UFO_VERSION = exports.REACT_UFO_VERSION = (0, _platformFeatureFlags.fg)('enable-react-ufo-payload-segment-compressed') ? '2.0.0' : '1.0.1';
|
package/dist/cjs/config/index.js
CHANGED
|
@@ -8,7 +8,6 @@ exports.getCapabilityRate = getCapabilityRate;
|
|
|
8
8
|
exports.getConfig = getConfig;
|
|
9
9
|
exports.getDoNotAbortActivePressInteraction = getDoNotAbortActivePressInteraction;
|
|
10
10
|
exports.getDoNotAbortActivePressInteractionOnTransition = getDoNotAbortActivePressInteractionOnTransition;
|
|
11
|
-
exports.getExperimentalInteractionRate = getExperimentalInteractionRate;
|
|
12
11
|
exports.getInteractionRate = getInteractionRate;
|
|
13
12
|
exports.getPostInteractionRate = getPostInteractionRate;
|
|
14
13
|
exports.getRemoveInteractionsUFOPrefixes = getRemoveInteractionsUFOPrefixes;
|
|
@@ -82,34 +81,13 @@ function getInteractionRate(name, interactionKind) {
|
|
|
82
81
|
return 0;
|
|
83
82
|
}
|
|
84
83
|
}
|
|
85
|
-
function getExperimentalInteractionRate(name, interactionType) {
|
|
86
|
-
try {
|
|
87
|
-
if (!config) {
|
|
88
|
-
return 0;
|
|
89
|
-
}
|
|
90
|
-
var _config2 = config,
|
|
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
84
|
function getPostInteractionRate(name, interactionType) {
|
|
107
85
|
try {
|
|
108
86
|
if (!config) {
|
|
109
87
|
return 0;
|
|
110
88
|
}
|
|
111
|
-
var
|
|
112
|
-
postInteractionLog =
|
|
89
|
+
var _config2 = config,
|
|
90
|
+
postInteractionLog = _config2.postInteractionLog;
|
|
113
91
|
if (!(postInteractionLog !== null && postInteractionLog !== void 0 && postInteractionLog.enabled)) {
|
|
114
92
|
return 0;
|
|
115
93
|
}
|
|
@@ -129,8 +107,8 @@ function getCapabilityRate(capability) {
|
|
|
129
107
|
if (!config) {
|
|
130
108
|
return 0;
|
|
131
109
|
}
|
|
132
|
-
var
|
|
133
|
-
capabilityRate =
|
|
110
|
+
var _config3 = config,
|
|
111
|
+
capabilityRate = _config3.capability;
|
|
134
112
|
if (capabilityRate != null) {
|
|
135
113
|
var rate = capabilityRate[capability];
|
|
136
114
|
if (rate != null) {
|
|
@@ -149,8 +127,8 @@ function getTypingPerformanceTracingMethod() {
|
|
|
149
127
|
if (!config) {
|
|
150
128
|
return defaultMethod;
|
|
151
129
|
}
|
|
152
|
-
var
|
|
153
|
-
typingMethod =
|
|
130
|
+
var _config4 = config,
|
|
131
|
+
typingMethod = _config4.typingMethod;
|
|
154
132
|
if (typingMethod != null && validTypingMethods.find(function (m) {
|
|
155
133
|
return m === typingMethod;
|
|
156
134
|
})) {
|
|
@@ -169,8 +147,8 @@ function getAwaitBM3TTIList() {
|
|
|
169
147
|
if (!config) {
|
|
170
148
|
return [];
|
|
171
149
|
}
|
|
172
|
-
var
|
|
173
|
-
awaitBM3TTI =
|
|
150
|
+
var _config5 = config,
|
|
151
|
+
awaitBM3TTI = _config5.awaitBM3TTI;
|
|
174
152
|
if (awaitBM3TTI != null) {
|
|
175
153
|
return awaitBM3TTI;
|
|
176
154
|
} else {
|
|
@@ -187,8 +165,8 @@ function getRemovePageSegmentsUFOPrefixes() {
|
|
|
187
165
|
if (!config) {
|
|
188
166
|
return false;
|
|
189
167
|
}
|
|
190
|
-
var
|
|
191
|
-
removePageSegmentsUFOPrefixes =
|
|
168
|
+
var _config6 = config,
|
|
169
|
+
removePageSegmentsUFOPrefixes = _config6.removePageSegmentsUFOPrefixes;
|
|
192
170
|
if (removePageSegmentsUFOPrefixes != null) {
|
|
193
171
|
return removePageSegmentsUFOPrefixes;
|
|
194
172
|
} else {
|
|
@@ -205,8 +183,8 @@ function getRemoveInteractionsUFOPrefixes() {
|
|
|
205
183
|
if (!config) {
|
|
206
184
|
return false;
|
|
207
185
|
}
|
|
208
|
-
var
|
|
209
|
-
removeInteractionsUFOPrefixes =
|
|
186
|
+
var _config7 = config,
|
|
187
|
+
removeInteractionsUFOPrefixes = _config7.removeInteractionsUFOPrefixes;
|
|
210
188
|
if (removeInteractionsUFOPrefixes != null) {
|
|
211
189
|
return removeInteractionsUFOPrefixes;
|
|
212
190
|
} else {
|
|
@@ -226,8 +204,8 @@ function getUfoNameOverrides() {
|
|
|
226
204
|
if (!config) {
|
|
227
205
|
return undefined;
|
|
228
206
|
}
|
|
229
|
-
var
|
|
230
|
-
ufoNameOverrides =
|
|
207
|
+
var _config8 = config,
|
|
208
|
+
ufoNameOverrides = _config8.ufoNameOverrides;
|
|
231
209
|
if (ufoNameOverrides != null) {
|
|
232
210
|
return ufoNameOverrides;
|
|
233
211
|
}
|
|
@@ -243,8 +221,8 @@ function getDoNotAbortActivePressInteraction() {
|
|
|
243
221
|
if (!config) {
|
|
244
222
|
return undefined;
|
|
245
223
|
}
|
|
246
|
-
var
|
|
247
|
-
doNotAbortActivePressInteraction =
|
|
224
|
+
var _config9 = config,
|
|
225
|
+
doNotAbortActivePressInteraction = _config9.doNotAbortActivePressInteraction;
|
|
248
226
|
return doNotAbortActivePressInteraction;
|
|
249
227
|
} catch (e) {
|
|
250
228
|
return undefined;
|
|
@@ -257,8 +235,8 @@ function getDoNotAbortActivePressInteractionOnTransition() {
|
|
|
257
235
|
if (!config) {
|
|
258
236
|
return undefined;
|
|
259
237
|
}
|
|
260
|
-
var
|
|
261
|
-
doNotAbortActivePressInteractionOnTransition =
|
|
238
|
+
var _config10 = config,
|
|
239
|
+
doNotAbortActivePressInteractionOnTransition = _config10.doNotAbortActivePressInteractionOnTransition;
|
|
262
240
|
return doNotAbortActivePressInteractionOnTransition;
|
|
263
241
|
} catch (e) {
|
|
264
242
|
return undefined;
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
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;
|
|
12
8
|
exports.isSegmentLabel = isSegmentLabel;
|
|
13
9
|
exports.labelStackStartWith = labelStackStartWith;
|
|
14
10
|
exports.optimizeLabelStack = optimizeLabelStack;
|
|
@@ -16,13 +12,6 @@ exports.sanitizeUfoName = void 0;
|
|
|
16
12
|
exports.stringifyLabelStackFully = stringifyLabelStackFully;
|
|
17
13
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
18
14
|
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; }
|
|
26
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; }
|
|
27
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) { (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 */
|
|
28
17
|
var sanitizeUfoName = exports.sanitizeUfoName = function sanitizeUfoName(name) {
|
|
@@ -81,77 +70,4 @@ function optimizeLabelStack(labelStack) {
|
|
|
81
70
|
s: ls.segmentId
|
|
82
71
|
} : {});
|
|
83
72
|
});
|
|
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
|
-
};
|
|
73
|
+
}
|
|
@@ -5,9 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.createInteractionMetricsPayload = createInteractionMetricsPayload;
|
|
9
8
|
exports.createPayloads = createPayloads;
|
|
10
|
-
exports.getUfoNameOverride = getUfoNameOverride;
|
|
11
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
12
10
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
@@ -26,6 +24,7 @@ var _interactionMetrics = require("../interaction-metrics");
|
|
|
26
24
|
var resourceTiming = _interopRequireWildcard(require("../resource-timing"));
|
|
27
25
|
var _roundNumber = require("../round-number");
|
|
28
26
|
var ssr = _interopRequireWildcard(require("../ssr"));
|
|
27
|
+
var _vc = require("../vc");
|
|
29
28
|
var _utils = require("./common/utils");
|
|
30
29
|
var _excluded = ["labelStack", "time"],
|
|
31
30
|
_excluded2 = ["stopTime", "labelStack"],
|
|
@@ -47,6 +46,7 @@ function getUfoNameOverride(interaction) {
|
|
|
47
46
|
}
|
|
48
47
|
}
|
|
49
48
|
return ufoName;
|
|
49
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
50
50
|
} catch (e) {
|
|
51
51
|
return ufoName;
|
|
52
52
|
}
|
|
@@ -81,6 +81,11 @@ 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
|
+
};
|
|
84
89
|
var getVisibilityStateFromPerformance = function getVisibilityStateFromPerformance(stop) {
|
|
85
90
|
try {
|
|
86
91
|
var results = performance.getEntriesByType('visibility-state');
|
|
@@ -126,7 +131,7 @@ var getMoreAccuratePageVisibilityUpToTTI = function getMoreAccuratePageVisibilit
|
|
|
126
131
|
return old;
|
|
127
132
|
};
|
|
128
133
|
var getMoreAccuratePageVisibilityUpToTTAI = function getMoreAccuratePageVisibilityUpToTTAI(interaction) {
|
|
129
|
-
var old =
|
|
134
|
+
var old = getPageVisibilityUpToTTAI(interaction);
|
|
130
135
|
var buffered = getVisibilityStateFromPerformance(interaction.end);
|
|
131
136
|
if (!buffered) {
|
|
132
137
|
return old;
|
|
@@ -136,6 +141,15 @@ var getMoreAccuratePageVisibilityUpToTTAI = function getMoreAccuratePageVisibili
|
|
|
136
141
|
}
|
|
137
142
|
return old;
|
|
138
143
|
};
|
|
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
|
+
};
|
|
139
153
|
var getResourceTimings = function getResourceTimings(start, end) {
|
|
140
154
|
var _resourceTiming$getRe;
|
|
141
155
|
return (_resourceTiming$getRe = resourceTiming.getResourceTimings(start, end)) !== null && _resourceTiming$getRe !== void 0 ? _resourceTiming$getRe : undefined;
|
|
@@ -164,6 +178,42 @@ var getPaintMetrics = function getPaintMetrics(type) {
|
|
|
164
178
|
});
|
|
165
179
|
return metrics;
|
|
166
180
|
};
|
|
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
|
+
};
|
|
167
217
|
var getNavigationMetrics = function getNavigationMetrics(type) {
|
|
168
218
|
if (type !== 'page_load') {
|
|
169
219
|
return {};
|
|
@@ -211,13 +261,13 @@ var getNavigationMetrics = function getNavigationMetrics(type) {
|
|
|
211
261
|
};
|
|
212
262
|
};
|
|
213
263
|
var getPPSMetrics = function getPPSMetrics(interaction) {
|
|
214
|
-
var _interaction$
|
|
264
|
+
var _interaction$apdex2;
|
|
215
265
|
var start = interaction.start,
|
|
216
266
|
end = interaction.end;
|
|
217
267
|
var config = (0, _config.getConfig)();
|
|
218
|
-
var interactionStatus =
|
|
219
|
-
var pageVisibilityUpToTTAI =
|
|
220
|
-
var tti = (_interaction$
|
|
268
|
+
var interactionStatus = getInteractionStatus(interaction);
|
|
269
|
+
var pageVisibilityUpToTTAI = getPageVisibilityUpToTTAI(interaction);
|
|
270
|
+
var tti = (_interaction$apdex2 = interaction.apdex) === null || _interaction$apdex2 === void 0 || (_interaction$apdex2 = _interaction$apdex2[0]) === null || _interaction$apdex2 === void 0 ? void 0 : _interaction$apdex2.stopTime;
|
|
221
271
|
var ttai = interactionStatus.originalInteractionStatus === 'SUCCEEDED' && pageVisibilityUpToTTAI === 'visible' ? Math.round(end - start) : undefined;
|
|
222
272
|
var PPSMetricsAtTTI = tti !== undefined ? (0, _additionalPayload.getLighthouseMetrics)({
|
|
223
273
|
start: start,
|
|
@@ -308,13 +358,13 @@ function optimizeCustomData(interaction) {
|
|
|
308
358
|
for (var _i = 0, _Object$entries = Object.entries(currentValue.custom || {}); _i < _Object$entries.length; _i++) {
|
|
309
359
|
var _result$get$data2, _result$get2;
|
|
310
360
|
var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
|
|
311
|
-
|
|
361
|
+
_key = _Object$entries$_i[0],
|
|
312
362
|
value = _Object$entries$_i[1];
|
|
313
363
|
var label = (0, _utils.stringifyLabelStackFully)([]);
|
|
314
364
|
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 : {};
|
|
315
365
|
result.set(label, {
|
|
316
366
|
labelStack: (0, _utils.optimizeLabelStack)([]),
|
|
317
|
-
data: Object.assign(labelValue, (0, _defineProperty2.default)({},
|
|
367
|
+
data: Object.assign(labelValue, (0, _defineProperty2.default)({}, _key, value))
|
|
318
368
|
});
|
|
319
369
|
}
|
|
320
370
|
return result;
|
|
@@ -552,6 +602,10 @@ function getBm3TrackerTimings(interaction) {
|
|
|
552
602
|
legacyMetrics: legacyMetrics
|
|
553
603
|
};
|
|
554
604
|
}
|
|
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
|
+
}
|
|
555
609
|
function getPayloadSize(payload) {
|
|
556
610
|
return Math.round(new TextEncoder().encode(JSON.stringify(payload)).length / 1024);
|
|
557
611
|
}
|
|
@@ -594,15 +648,13 @@ function getStylesheetMetrics() {
|
|
|
594
648
|
return {};
|
|
595
649
|
}
|
|
596
650
|
}
|
|
597
|
-
var regularTTAI;
|
|
598
|
-
var expTTAI;
|
|
599
651
|
function getErrorCounts(interaction) {
|
|
600
652
|
return {
|
|
601
653
|
'ufo:errors:globalCount': (0, _globalErrorHandler.getGlobalErrorCount)(),
|
|
602
654
|
'ufo:errors:count': interaction.errors.length
|
|
603
655
|
};
|
|
604
656
|
}
|
|
605
|
-
function createInteractionMetricsPayload(interaction, interactionId
|
|
657
|
+
function createInteractionMetricsPayload(interaction, interactionId) {
|
|
606
658
|
var _window$location, _config$additionalPay;
|
|
607
659
|
var interactionPayloadStart = performance.now();
|
|
608
660
|
var config = (0, _config.getConfig)();
|
|
@@ -622,7 +674,7 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
|
|
|
622
674
|
isPreviousInteractionAborted = interaction.isPreviousInteractionAborted,
|
|
623
675
|
abortedByInteractionName = interaction.abortedByInteractionName;
|
|
624
676
|
var pageVisibilityAtTTI = getPageVisibilityUpToTTI(interaction);
|
|
625
|
-
var pageVisibilityAtTTAI =
|
|
677
|
+
var pageVisibilityAtTTAI = getPageVisibilityUpToTTAI(interaction);
|
|
626
678
|
var segments = config.killswitchNestedSegments ? [] : knownSegments;
|
|
627
679
|
var segmentTree = _constants.REACT_UFO_VERSION === '2.0.0' ? (0, _utils.buildSegmentTree)(segments.map(function (segment) {
|
|
628
680
|
return segment.labelStack;
|
|
@@ -637,23 +689,23 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
|
|
|
637
689
|
} : {};
|
|
638
690
|
// Page Load
|
|
639
691
|
var getPageLoadInteractionMetrics = function getPageLoadInteractionMetrics() {
|
|
640
|
-
var _config$
|
|
692
|
+
var _config$ssr3;
|
|
641
693
|
if (!isPageLoad) {
|
|
642
694
|
return {};
|
|
643
695
|
}
|
|
644
696
|
var config = (0, _config.getConfig)();
|
|
645
|
-
var SSRDoneTimeValue =
|
|
697
|
+
var SSRDoneTimeValue = getSSRDoneTimeValue(config);
|
|
646
698
|
var SSRDoneTime = SSRDoneTimeValue !== undefined ? {
|
|
647
699
|
SSRDoneTime: Math.round(SSRDoneTimeValue)
|
|
648
700
|
} : {};
|
|
649
701
|
return _objectSpread(_objectSpread({}, SSRDoneTime), {}, {
|
|
650
702
|
isBM3ConfigSSRDoneAsFmp: interaction.metaData.__legacy__bm3ConfigSSRDoneAsFmp,
|
|
651
|
-
isUFOConfigSSRDoneAsFmp: interaction.metaData.__legacy__bm3ConfigSSRDoneAsFmp || !!(config !== null && config !== void 0 && (_config$
|
|
703
|
+
isUFOConfigSSRDoneAsFmp: interaction.metaData.__legacy__bm3ConfigSSRDoneAsFmp || !!(config !== null && config !== void 0 && (_config$ssr3 = config.ssr) !== null && _config$ssr3 !== void 0 && _config$ssr3.getSSRDoneTime)
|
|
652
704
|
});
|
|
653
705
|
};
|
|
654
706
|
// Detailed payload. Page visibility = visible
|
|
655
707
|
var getDetailedInteractionMetrics = function getDetailedInteractionMetrics() {
|
|
656
|
-
if (
|
|
708
|
+
if (window.__UFO_COMPACT_PAYLOAD__ || !isDetailedPayload) {
|
|
657
709
|
return {};
|
|
658
710
|
}
|
|
659
711
|
var spans = [].concat((0, _toConsumableArray2.default)(interaction.spans), (0, _toConsumableArray2.default)(_interactionMetrics.interactionSpans));
|
|
@@ -668,7 +720,7 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
|
|
|
668
720
|
}),
|
|
669
721
|
holdActive: (0, _toConsumableArray2.default)(interaction.holdActive.values()),
|
|
670
722
|
redirects: optimizeRedirects(interaction.redirects, start),
|
|
671
|
-
holdInfo: optimizeHoldInfo(
|
|
723
|
+
holdInfo: optimizeHoldInfo(interaction.holdInfo, start),
|
|
672
724
|
spans: optimizeSpans(spans, start),
|
|
673
725
|
requestInfo: optimizeRequestInfo(interaction.requestInfo, start),
|
|
674
726
|
customTimings: optimizeCustomTimings(interaction.customTimings, start),
|
|
@@ -678,21 +730,16 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
|
|
|
678
730
|
};
|
|
679
731
|
// Page load & detailed payload
|
|
680
732
|
var getPageLoadDetailedInteractionMetrics = function getPageLoadDetailedInteractionMetrics() {
|
|
681
|
-
var _config$
|
|
733
|
+
var _config$ssr4;
|
|
682
734
|
if (!isPageLoad || !isDetailedPayload) {
|
|
683
735
|
return {};
|
|
684
736
|
}
|
|
685
737
|
var config = (0, _config.getConfig)();
|
|
686
738
|
return {
|
|
687
739
|
initialPageLoadExtraTimings: objectToArray(initialPageLoadExtraTiming.getTimings()),
|
|
688
|
-
SSRTimings: config !== null && config !== void 0 && (_config$
|
|
740
|
+
SSRTimings: config !== null && config !== void 0 && (_config$ssr4 = config.ssr) !== null && _config$ssr4 !== void 0 && _config$ssr4.getSSRTimings ? config.ssr.getSSRTimings() : objectToArray(ssr.getSSRTimings())
|
|
689
741
|
};
|
|
690
742
|
};
|
|
691
|
-
if (experimental) {
|
|
692
|
-
expTTAI = (0, _utils.getTTAI)(interaction);
|
|
693
|
-
} else {
|
|
694
|
-
regularTTAI = (0, _utils.getTTAI)(interaction);
|
|
695
|
-
}
|
|
696
743
|
var newUFOName = (0, _utils.sanitizeUfoName)(ufoName);
|
|
697
744
|
var payload = {
|
|
698
745
|
actionSubject: 'experience',
|
|
@@ -701,7 +748,7 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
|
|
|
701
748
|
source: 'measured',
|
|
702
749
|
tags: ['observability'],
|
|
703
750
|
attributes: {
|
|
704
|
-
properties: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(
|
|
751
|
+
properties: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
705
752
|
// basic
|
|
706
753
|
'event:hostname': ((_window$location = window.location) === null || _window$location === void 0 ? void 0 : _window$location.hostname) || 'unknown',
|
|
707
754
|
'event:product': config.product,
|
|
@@ -713,10 +760,10 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
|
|
|
713
760
|
payloadSource: 'platform'
|
|
714
761
|
},
|
|
715
762
|
'event:region': config.region || 'unknown',
|
|
716
|
-
'experience:key':
|
|
763
|
+
'experience:key': 'custom.interaction-metrics',
|
|
717
764
|
'experience:name': newUFOName
|
|
718
|
-
}, getBrowserMetadata()), getSSRProperties(type)), getPPSMetrics(interaction)), getPaintMetrics(type)), getNavigationMetrics(type)),
|
|
719
|
-
interactionMetrics: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(
|
|
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({
|
|
720
767
|
namePrefix: config.namePrefix || '',
|
|
721
768
|
segmentPrefix: config.segmentPrefix || '',
|
|
722
769
|
interactionId: interactionId,
|
|
@@ -747,18 +794,11 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
|
|
|
747
794
|
marks: optimizeMarks(interaction.marks),
|
|
748
795
|
customData: optimizeCustomData(interaction),
|
|
749
796
|
reactProfilerTimings: optimizeReactProfilerTimings(interaction.reactProfilerTimings, start)
|
|
750
|
-
}, labelStack), getPageLoadInteractionMetrics()), getDetailedInteractionMetrics()), getPageLoadDetailedInteractionMetrics()), getBm3TrackerTimings(interaction)),
|
|
751
|
-
'metric:ttai': experimental ? regularTTAI || expTTAI : undefined,
|
|
752
|
-
'metric:experimental:ttai': experimental ? expTTAI : undefined
|
|
753
|
-
}),
|
|
797
|
+
}, labelStack), getPageLoadInteractionMetrics()), getDetailedInteractionMetrics()), getPageLoadDetailedInteractionMetrics()), getBm3TrackerTimings(interaction)),
|
|
754
798
|
'ufo:payloadTime': (0, _roundNumber.roundEpsilon)(performance.now() - interactionPayloadStart)
|
|
755
799
|
})
|
|
756
800
|
}
|
|
757
801
|
};
|
|
758
|
-
if (experimental) {
|
|
759
|
-
regularTTAI = undefined;
|
|
760
|
-
expTTAI = undefined;
|
|
761
|
-
}
|
|
762
802
|
payload.attributes.properties['event:sizeInKb'] = getPayloadSize(payload.attributes.properties);
|
|
763
803
|
return payload;
|
|
764
804
|
}
|
|
@@ -3,12 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.default = void 0;
|
|
7
7
|
var interactions = new Map();
|
|
8
|
-
var CLEANUP_TIMEOUT = exports.CLEANUP_TIMEOUT = 60 * 1000;
|
|
9
|
-
var CLEANUP_TIMEOUT_AFTER_APDEX = exports.CLEANUP_TIMEOUT_AFTER_APDEX = 15 * 1000;
|
|
10
|
-
var interactionQueue = exports.interactionQueue = [];
|
|
11
|
-
var segmentCache = exports.segmentCache = new Map();
|
|
12
|
-
var segmentObservers = exports.segmentObservers = [];
|
|
13
|
-
var moduleLoadingRequests = exports.moduleLoadingRequests = {};
|
|
14
8
|
var _default = exports.default = interactions;
|