@atlaskit/react-ufo 2.7.0 → 2.8.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 +12 -0
- package/dist/cjs/config/index.js +18 -40
- package/dist/cjs/create-payload/common/utils/index.js +2 -66
- package/dist/cjs/create-payload/index.js +78 -55
- package/dist/cjs/interaction-metrics/common/constants.js +3 -8
- package/dist/cjs/interaction-metrics/index.js +238 -166
- package/dist/cjs/interaction-metrics-init/index.js +9 -31
- package/dist/cjs/load-hold/UFOLoadHold.js +3 -5
- package/dist/cjs/segment/segment.js +8 -9
- package/dist/es2019/config/index.js +0 -22
- package/dist/es2019/create-payload/common/utils/index.js +1 -68
- package/dist/es2019/create-payload/index.js +77 -48
- package/dist/es2019/interaction-metrics/common/constants.js +2 -7
- package/dist/es2019/interaction-metrics/index.js +131 -91
- package/dist/es2019/interaction-metrics-init/index.js +8 -28
- package/dist/es2019/load-hold/UFOLoadHold.js +3 -5
- package/dist/es2019/segment/segment.js +11 -8
- package/dist/esm/config/index.js +18 -39
- package/dist/esm/create-payload/common/utils/index.js +1 -63
- package/dist/esm/create-payload/index.js +78 -53
- package/dist/esm/interaction-metrics/common/constants.js +2 -7
- package/dist/esm/interaction-metrics/index.js +158 -86
- package/dist/esm/interaction-metrics-init/index.js +8 -28
- package/dist/esm/load-hold/UFOLoadHold.js +3 -5
- package/dist/esm/segment/segment.js +8 -9
- 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 -9
- package/dist/types/create-payload/index.d.ts +5660 -13
- package/dist/types/interaction-context/index.d.ts +0 -1
- package/dist/types/interaction-metrics/common/constants.d.ts +3 -32
- package/dist/types/interaction-metrics/index.d.ts +17 -1
- package/dist/types/load-hold/UFOLoadHold.d.ts +2 -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 -9
- package/dist/types-ts4.5/create-payload/index.d.ts +5660 -13
- package/dist/types-ts4.5/interaction-context/index.d.ts +0 -1
- package/dist/types-ts4.5/interaction-metrics/common/constants.d.ts +3 -32
- package/dist/types-ts4.5/interaction-metrics/index.d.ts +17 -1
- package/dist/types-ts4.5/load-hold/UFOLoadHold.d.ts +2 -1
- package/package.json +2 -3
- package/create-experimental-interaction-metrics-payload/package.json +0 -15
- package/dist/cjs/create-experimental-interaction-metrics-payload/index.js +0 -100
- package/dist/cjs/interaction-metrics/common/index.js +0 -151
- package/dist/es2019/create-experimental-interaction-metrics-payload/index.js +0 -71
- package/dist/es2019/interaction-metrics/common/index.js +0 -103
- package/dist/esm/create-experimental-interaction-metrics-payload/index.js +0 -90
- package/dist/esm/interaction-metrics/common/index.js +0 -132
- package/dist/types/create-experimental-interaction-metrics-payload/index.d.ts +0 -16
- 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 -16
- package/dist/types-ts4.5/interaction-metrics/common/index.d.ts +0 -16
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @atlaskit/ufo-interaction-ignore
|
|
2
2
|
|
|
3
|
+
## 2.8.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#182829](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/182829)
|
|
8
|
+
[`38eb19b4da809`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/38eb19b4da809) -
|
|
9
|
+
Revert Experimental UFO holds
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependencies
|
|
14
|
+
|
|
3
15
|
## 2.7.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
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;
|
|
@@ -5,24 +5,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.buildSegmentTree = buildSegmentTree;
|
|
8
|
-
exports.getPageVisibilityUpToTTAI = exports.calculateVCMetrics = void 0;
|
|
9
|
-
exports.getSSRDoneTimeValue = getSSRDoneTimeValue;
|
|
10
|
-
exports.getVCMetrics = exports.getTTAI = void 0;
|
|
11
8
|
exports.isSegmentLabel = isSegmentLabel;
|
|
12
9
|
exports.labelStackStartWith = labelStackStartWith;
|
|
13
10
|
exports.optimizeLabelStack = optimizeLabelStack;
|
|
14
|
-
exports.sanitizeUfoName =
|
|
11
|
+
exports.sanitizeUfoName = void 0;
|
|
15
12
|
exports.stringifyLabelStackFully = stringifyLabelStackFully;
|
|
16
13
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
14
|
var _constants = require("../../../common/constants");
|
|
18
|
-
var _config = require("../../../config");
|
|
19
|
-
var _hiddenTiming = require("../../../hidden-timing");
|
|
20
|
-
var _postInteractionLog = _interopRequireDefault(require("../../../interaction-metrics/post-interaction-log"));
|
|
21
|
-
var _ssr = require("../../../ssr");
|
|
22
|
-
var _vc = require("../../../vc");
|
|
23
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; }
|
|
24
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 */
|
|
25
|
-
var postInteractionLog = exports.postInteractionLog = new _postInteractionLog.default();
|
|
26
17
|
var sanitizeUfoName = exports.sanitizeUfoName = function sanitizeUfoName(name) {
|
|
27
18
|
return name.replace(/_/g, '-');
|
|
28
19
|
};
|
|
@@ -79,59 +70,4 @@ function optimizeLabelStack(labelStack) {
|
|
|
79
70
|
s: ls.segmentId
|
|
80
71
|
} : {});
|
|
81
72
|
});
|
|
82
|
-
}
|
|
83
|
-
var getPageVisibilityUpToTTAI = exports.getPageVisibilityUpToTTAI = function getPageVisibilityUpToTTAI(interaction) {
|
|
84
|
-
var start = interaction.start,
|
|
85
|
-
end = interaction.end;
|
|
86
|
-
return (0, _hiddenTiming.getPageVisibilityState)(start, end);
|
|
87
|
-
};
|
|
88
|
-
var calculateVCMetrics = exports.calculateVCMetrics = function calculateVCMetrics(interaction, prefix, getVCResultFn) {
|
|
89
|
-
var _interaction$apdex;
|
|
90
|
-
var result = getVCResultFn({
|
|
91
|
-
start: interaction.start,
|
|
92
|
-
stop: interaction.end,
|
|
93
|
-
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,
|
|
94
|
-
prefix: prefix,
|
|
95
|
-
vc: interaction.vc
|
|
96
|
-
});
|
|
97
|
-
var VC = result === null || result === void 0 ? void 0 : result['metrics:vc'];
|
|
98
|
-
if (!VC || !(result !== null && result !== void 0 && result["".concat(prefix, ":vc:clean")])) {
|
|
99
|
-
return result;
|
|
100
|
-
}
|
|
101
|
-
var pageVisibilityUpToTTAI = getPageVisibilityUpToTTAI(interaction);
|
|
102
|
-
if (interaction.abortReason || pageVisibilityUpToTTAI !== 'visible') {
|
|
103
|
-
return result;
|
|
104
|
-
}
|
|
105
|
-
return result;
|
|
106
|
-
};
|
|
107
|
-
function getSSRDoneTimeValue(config) {
|
|
108
|
-
var _config$ssr, _config$ssr2;
|
|
109
|
-
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() : (0, _ssr.getSSRDoneTime)();
|
|
110
|
-
}
|
|
111
|
-
var getVCMetrics = exports.getVCMetrics = function getVCMetrics(interaction) {
|
|
112
|
-
var _config$vc, _config$vc$ssrWhiteli, _result$metricsVc;
|
|
113
|
-
var config = (0, _config.getConfig)();
|
|
114
|
-
if (!(config !== null && config !== void 0 && (_config$vc = config.vc) !== null && _config$vc !== void 0 && _config$vc.enabled)) {
|
|
115
|
-
return {};
|
|
116
|
-
}
|
|
117
|
-
if (interaction.type !== 'page_load' && interaction.type !== 'transition') {
|
|
118
|
-
return {};
|
|
119
|
-
}
|
|
120
|
-
var isSSREnabled = (config === null || config === void 0 ? void 0 : config.ssr) || (config === null || config === void 0 || (_config$vc$ssrWhiteli = config.vc.ssrWhitelist) === null || _config$vc$ssrWhiteli === void 0 ? void 0 : _config$vc$ssrWhiteli.includes(interaction.ufoName));
|
|
121
|
-
var ssr = interaction.type === 'page_load' && isSSREnabled ? {
|
|
122
|
-
ssr: getSSRDoneTimeValue(config)
|
|
123
|
-
} : null;
|
|
124
|
-
postInteractionLog.setVCObserverSSRConfig(ssr);
|
|
125
|
-
var result = calculateVCMetrics(interaction, 'ufo', (0, _vc.getVCObserver)().getVCResult);
|
|
126
|
-
(0, _vc.getVCObserver)().stop();
|
|
127
|
-
postInteractionLog.setLastInteractionFinishVCResult(result);
|
|
128
|
-
return _objectSpread(_objectSpread({}, result), {}, {
|
|
129
|
-
'metric:vc90': result === null || result === void 0 || (_result$metricsVc = result['metrics:vc']) === null || _result$metricsVc === void 0 ? void 0 : _result$metricsVc['90']
|
|
130
|
-
});
|
|
131
|
-
};
|
|
132
|
-
var getTTAI = exports.getTTAI = function getTTAI(interaction) {
|
|
133
|
-
var start = interaction.start,
|
|
134
|
-
end = interaction.end;
|
|
135
|
-
var pageVisibilityUpToTTAI = getPageVisibilityUpToTTAI(interaction);
|
|
136
|
-
return !interaction.abortReason && pageVisibilityUpToTTAI === 'visible' ? Math.round(end - start) : undefined;
|
|
137
|
-
};
|
|
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.createExperimentalMetricsPayload = createExperimentalMetricsPayload;
|
|
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"));
|
|
@@ -16,10 +14,8 @@ var _bowserUltralight = _interopRequireDefault(require("bowser-ultralight"));
|
|
|
16
14
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
17
15
|
var _additionalPayload = require("../additional-payload");
|
|
18
16
|
var bundleEvalTiming = _interopRequireWildcard(require("../bundle-eval-timing"));
|
|
19
|
-
var _coinflip = _interopRequireDefault(require("../coinflip"));
|
|
20
17
|
var _constants = require("../common/constants");
|
|
21
18
|
var _config = require("../config");
|
|
22
|
-
var _createExperimentalInteractionMetricsPayload = require("../create-experimental-interaction-metrics-payload");
|
|
23
19
|
var _customTimings = require("../custom-timings");
|
|
24
20
|
var _globalErrorHandler = require("../global-error-handler");
|
|
25
21
|
var _hiddenTiming = require("../hidden-timing");
|
|
@@ -28,6 +24,7 @@ var _interactionMetrics = require("../interaction-metrics");
|
|
|
28
24
|
var resourceTiming = _interopRequireWildcard(require("../resource-timing"));
|
|
29
25
|
var _roundNumber = require("../round-number");
|
|
30
26
|
var ssr = _interopRequireWildcard(require("../ssr"));
|
|
27
|
+
var _vc = require("../vc");
|
|
31
28
|
var _utils = require("./common/utils");
|
|
32
29
|
var _excluded = ["labelStack", "time"],
|
|
33
30
|
_excluded2 = ["stopTime", "labelStack"],
|
|
@@ -49,6 +46,7 @@ function getUfoNameOverride(interaction) {
|
|
|
49
46
|
}
|
|
50
47
|
}
|
|
51
48
|
return ufoName;
|
|
49
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
52
50
|
} catch (e) {
|
|
53
51
|
return ufoName;
|
|
54
52
|
}
|
|
@@ -83,6 +81,11 @@ var getPageVisibilityUpToTTI = function getPageVisibilityUpToTTI(interaction) {
|
|
|
83
81
|
var bm3EndTimeOrInteractionEndTime = getBm3EndTimeOrFallbackValue(interaction);
|
|
84
82
|
return (0, _hiddenTiming.getPageVisibilityState)(start, bm3EndTimeOrInteractionEndTime);
|
|
85
83
|
};
|
|
84
|
+
var getPageVisibilityUpToTTAI = function getPageVisibilityUpToTTAI(interaction) {
|
|
85
|
+
var start = interaction.start,
|
|
86
|
+
end = interaction.end;
|
|
87
|
+
return (0, _hiddenTiming.getPageVisibilityState)(start, end);
|
|
88
|
+
};
|
|
86
89
|
var getVisibilityStateFromPerformance = function getVisibilityStateFromPerformance(stop) {
|
|
87
90
|
try {
|
|
88
91
|
var results = performance.getEntriesByType('visibility-state');
|
|
@@ -128,7 +131,7 @@ var getMoreAccuratePageVisibilityUpToTTI = function getMoreAccuratePageVisibilit
|
|
|
128
131
|
return old;
|
|
129
132
|
};
|
|
130
133
|
var getMoreAccuratePageVisibilityUpToTTAI = function getMoreAccuratePageVisibilityUpToTTAI(interaction) {
|
|
131
|
-
var old =
|
|
134
|
+
var old = getPageVisibilityUpToTTAI(interaction);
|
|
132
135
|
var buffered = getVisibilityStateFromPerformance(interaction.end);
|
|
133
136
|
if (!buffered) {
|
|
134
137
|
return old;
|
|
@@ -138,6 +141,15 @@ var getMoreAccuratePageVisibilityUpToTTAI = function getMoreAccuratePageVisibili
|
|
|
138
141
|
}
|
|
139
142
|
return old;
|
|
140
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
|
+
};
|
|
141
153
|
var getResourceTimings = function getResourceTimings(start, end) {
|
|
142
154
|
var _resourceTiming$getRe;
|
|
143
155
|
return (_resourceTiming$getRe = resourceTiming.getResourceTimings(start, end)) !== null && _resourceTiming$getRe !== void 0 ? _resourceTiming$getRe : undefined;
|
|
@@ -166,6 +178,42 @@ var getPaintMetrics = function getPaintMetrics(type) {
|
|
|
166
178
|
});
|
|
167
179
|
return metrics;
|
|
168
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
|
+
};
|
|
169
217
|
var getNavigationMetrics = function getNavigationMetrics(type) {
|
|
170
218
|
if (type !== 'page_load') {
|
|
171
219
|
return {};
|
|
@@ -213,13 +261,14 @@ var getNavigationMetrics = function getNavigationMetrics(type) {
|
|
|
213
261
|
};
|
|
214
262
|
};
|
|
215
263
|
var getPPSMetrics = function getPPSMetrics(interaction) {
|
|
216
|
-
var _interaction$
|
|
264
|
+
var _interaction$apdex2;
|
|
217
265
|
var start = interaction.start,
|
|
218
266
|
end = interaction.end;
|
|
219
267
|
var config = (0, _config.getConfig)();
|
|
220
|
-
var
|
|
221
|
-
var
|
|
222
|
-
var
|
|
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;
|
|
271
|
+
var ttai = interactionStatus.originalInteractionStatus === 'SUCCEEDED' && pageVisibilityUpToTTAI === 'visible' ? Math.round(end - start) : undefined;
|
|
223
272
|
var PPSMetricsAtTTI = tti !== undefined ? (0, _additionalPayload.getLighthouseMetrics)({
|
|
224
273
|
start: start,
|
|
225
274
|
stop: tti
|
|
@@ -309,13 +358,13 @@ function optimizeCustomData(interaction) {
|
|
|
309
358
|
for (var _i = 0, _Object$entries = Object.entries(currentValue.custom || {}); _i < _Object$entries.length; _i++) {
|
|
310
359
|
var _result$get$data2, _result$get2;
|
|
311
360
|
var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
|
|
312
|
-
|
|
361
|
+
_key = _Object$entries$_i[0],
|
|
313
362
|
value = _Object$entries$_i[1];
|
|
314
363
|
var label = (0, _utils.stringifyLabelStackFully)([]);
|
|
315
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 : {};
|
|
316
365
|
result.set(label, {
|
|
317
366
|
labelStack: (0, _utils.optimizeLabelStack)([]),
|
|
318
|
-
data: Object.assign(labelValue, (0, _defineProperty2.default)({},
|
|
367
|
+
data: Object.assign(labelValue, (0, _defineProperty2.default)({}, _key, value))
|
|
319
368
|
});
|
|
320
369
|
}
|
|
321
370
|
return result;
|
|
@@ -553,6 +602,10 @@ function getBm3TrackerTimings(interaction) {
|
|
|
553
602
|
legacyMetrics: legacyMetrics
|
|
554
603
|
};
|
|
555
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
|
+
}
|
|
556
609
|
function getPayloadSize(payload) {
|
|
557
610
|
return Math.round(new TextEncoder().encode(JSON.stringify(payload)).length / 1024);
|
|
558
611
|
}
|
|
@@ -595,15 +648,13 @@ function getStylesheetMetrics() {
|
|
|
595
648
|
return {};
|
|
596
649
|
}
|
|
597
650
|
}
|
|
598
|
-
var regularTTAI;
|
|
599
|
-
var expTTAI;
|
|
600
651
|
function getErrorCounts(interaction) {
|
|
601
652
|
return {
|
|
602
653
|
'ufo:errors:globalCount': (0, _globalErrorHandler.getGlobalErrorCount)(),
|
|
603
654
|
'ufo:errors:count': interaction.errors.length
|
|
604
655
|
};
|
|
605
656
|
}
|
|
606
|
-
function createInteractionMetricsPayload(interaction, interactionId
|
|
657
|
+
function createInteractionMetricsPayload(interaction, interactionId) {
|
|
607
658
|
var _window$location, _config$additionalPay;
|
|
608
659
|
var interactionPayloadStart = performance.now();
|
|
609
660
|
var config = (0, _config.getConfig)();
|
|
@@ -623,7 +674,7 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
|
|
|
623
674
|
isPreviousInteractionAborted = interaction.isPreviousInteractionAborted,
|
|
624
675
|
abortedByInteractionName = interaction.abortedByInteractionName;
|
|
625
676
|
var pageVisibilityAtTTI = getPageVisibilityUpToTTI(interaction);
|
|
626
|
-
var pageVisibilityAtTTAI =
|
|
677
|
+
var pageVisibilityAtTTAI = getPageVisibilityUpToTTAI(interaction);
|
|
627
678
|
var segments = config.killswitchNestedSegments ? [] : knownSegments;
|
|
628
679
|
var segmentTree = _constants.REACT_UFO_VERSION === '2.0.0' ? (0, _utils.buildSegmentTree)(segments.map(function (segment) {
|
|
629
680
|
return segment.labelStack;
|
|
@@ -638,23 +689,23 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
|
|
|
638
689
|
} : {};
|
|
639
690
|
// Page Load
|
|
640
691
|
var getPageLoadInteractionMetrics = function getPageLoadInteractionMetrics() {
|
|
641
|
-
var _config$
|
|
692
|
+
var _config$ssr3;
|
|
642
693
|
if (!isPageLoad) {
|
|
643
694
|
return {};
|
|
644
695
|
}
|
|
645
696
|
var config = (0, _config.getConfig)();
|
|
646
|
-
var SSRDoneTimeValue =
|
|
697
|
+
var SSRDoneTimeValue = getSSRDoneTimeValue(config);
|
|
647
698
|
var SSRDoneTime = SSRDoneTimeValue !== undefined ? {
|
|
648
699
|
SSRDoneTime: Math.round(SSRDoneTimeValue)
|
|
649
700
|
} : {};
|
|
650
701
|
return _objectSpread(_objectSpread({}, SSRDoneTime), {}, {
|
|
651
702
|
isBM3ConfigSSRDoneAsFmp: interaction.metaData.__legacy__bm3ConfigSSRDoneAsFmp,
|
|
652
|
-
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)
|
|
653
704
|
});
|
|
654
705
|
};
|
|
655
706
|
// Detailed payload. Page visibility = visible
|
|
656
707
|
var getDetailedInteractionMetrics = function getDetailedInteractionMetrics() {
|
|
657
|
-
if (
|
|
708
|
+
if (window.__UFO_COMPACT_PAYLOAD__ || !isDetailedPayload) {
|
|
658
709
|
return {};
|
|
659
710
|
}
|
|
660
711
|
var spans = [].concat((0, _toConsumableArray2.default)(interaction.spans), (0, _toConsumableArray2.default)(_interactionMetrics.interactionSpans));
|
|
@@ -669,7 +720,7 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
|
|
|
669
720
|
}),
|
|
670
721
|
holdActive: (0, _toConsumableArray2.default)(interaction.holdActive.values()),
|
|
671
722
|
redirects: optimizeRedirects(interaction.redirects, start),
|
|
672
|
-
holdInfo: optimizeHoldInfo(
|
|
723
|
+
holdInfo: optimizeHoldInfo(interaction.holdInfo, start),
|
|
673
724
|
spans: optimizeSpans(spans, start),
|
|
674
725
|
requestInfo: optimizeRequestInfo(interaction.requestInfo, start),
|
|
675
726
|
customTimings: optimizeCustomTimings(interaction.customTimings, start),
|
|
@@ -679,21 +730,16 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
|
|
|
679
730
|
};
|
|
680
731
|
// Page load & detailed payload
|
|
681
732
|
var getPageLoadDetailedInteractionMetrics = function getPageLoadDetailedInteractionMetrics() {
|
|
682
|
-
var _config$
|
|
733
|
+
var _config$ssr4;
|
|
683
734
|
if (!isPageLoad || !isDetailedPayload) {
|
|
684
735
|
return {};
|
|
685
736
|
}
|
|
686
737
|
var config = (0, _config.getConfig)();
|
|
687
738
|
return {
|
|
688
739
|
initialPageLoadExtraTimings: objectToArray(initialPageLoadExtraTiming.getTimings()),
|
|
689
|
-
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())
|
|
690
741
|
};
|
|
691
742
|
};
|
|
692
|
-
if (experimental) {
|
|
693
|
-
expTTAI = (0, _utils.getTTAI)(interaction);
|
|
694
|
-
} else {
|
|
695
|
-
regularTTAI = (0, _utils.getTTAI)(interaction);
|
|
696
|
-
}
|
|
697
743
|
var newUFOName = (0, _utils.sanitizeUfoName)(ufoName);
|
|
698
744
|
var payload = {
|
|
699
745
|
actionSubject: 'experience',
|
|
@@ -702,7 +748,7 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
|
|
|
702
748
|
source: 'measured',
|
|
703
749
|
tags: ['observability'],
|
|
704
750
|
attributes: {
|
|
705
|
-
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({
|
|
706
752
|
// basic
|
|
707
753
|
'event:hostname': ((_window$location = window.location) === null || _window$location === void 0 ? void 0 : _window$location.hostname) || 'unknown',
|
|
708
754
|
'event:product': config.product,
|
|
@@ -714,10 +760,10 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
|
|
|
714
760
|
payloadSource: 'platform'
|
|
715
761
|
},
|
|
716
762
|
'event:region': config.region || 'unknown',
|
|
717
|
-
'experience:key':
|
|
763
|
+
'experience:key': 'custom.interaction-metrics',
|
|
718
764
|
'experience:name': newUFOName
|
|
719
|
-
}, getBrowserMetadata()), getSSRProperties(type)), getPPSMetrics(interaction)), getPaintMetrics(type)), getNavigationMetrics(type)),
|
|
720
|
-
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({
|
|
721
767
|
namePrefix: config.namePrefix || '',
|
|
722
768
|
segmentPrefix: config.segmentPrefix || '',
|
|
723
769
|
interactionId: interactionId,
|
|
@@ -748,18 +794,11 @@ function createInteractionMetricsPayload(interaction, interactionId, experimenta
|
|
|
748
794
|
marks: optimizeMarks(interaction.marks),
|
|
749
795
|
customData: optimizeCustomData(interaction),
|
|
750
796
|
reactProfilerTimings: optimizeReactProfilerTimings(interaction.reactProfilerTimings, start)
|
|
751
|
-
}, labelStack), getPageLoadInteractionMetrics()), getDetailedInteractionMetrics()), getPageLoadDetailedInteractionMetrics()), getBm3TrackerTimings(interaction)),
|
|
752
|
-
'metric:ttai': experimental ? regularTTAI || expTTAI : undefined,
|
|
753
|
-
'metric:experimental:ttai': expTTAI
|
|
754
|
-
}),
|
|
797
|
+
}, labelStack), getPageLoadInteractionMetrics()), getDetailedInteractionMetrics()), getPageLoadDetailedInteractionMetrics()), getBm3TrackerTimings(interaction)),
|
|
755
798
|
'ufo:payloadTime': (0, _roundNumber.roundEpsilon)(performance.now() - interactionPayloadStart)
|
|
756
799
|
})
|
|
757
800
|
}
|
|
758
801
|
};
|
|
759
|
-
if (experimental) {
|
|
760
|
-
regularTTAI = undefined;
|
|
761
|
-
expTTAI = undefined;
|
|
762
|
-
}
|
|
763
802
|
payload.attributes.properties['event:sizeInKb'] = getPayloadSize(payload.attributes.properties);
|
|
764
803
|
return payload;
|
|
765
804
|
}
|
|
@@ -770,20 +809,4 @@ function createPayloads(interactionId, interaction) {
|
|
|
770
809
|
});
|
|
771
810
|
var interactionMetricsPayload = createInteractionMetricsPayload(modifiedInteraction, interactionId);
|
|
772
811
|
return [interactionMetricsPayload];
|
|
773
|
-
}
|
|
774
|
-
function createExperimentalMetricsPayload(interactionId, interaction) {
|
|
775
|
-
var config = (0, _config.getConfig)();
|
|
776
|
-
if (!config) {
|
|
777
|
-
throw Error('UFO Configuration not provided');
|
|
778
|
-
}
|
|
779
|
-
var ufoName = (0, _utils.sanitizeUfoName)(interaction.ufoName);
|
|
780
|
-
var rate = (0, _config.getExperimentalInteractionRate)(ufoName, interaction.type);
|
|
781
|
-
if (!(0, _coinflip.default)(rate)) {
|
|
782
|
-
return null;
|
|
783
|
-
}
|
|
784
|
-
var pageVisibilityState = (0, _hiddenTiming.getPageVisibilityState)(interaction.start, interaction.end);
|
|
785
|
-
if (pageVisibilityState !== 'visible') {
|
|
786
|
-
return null;
|
|
787
|
-
}
|
|
788
|
-
return createInteractionMetricsPayload(interaction, interactionId, true);
|
|
789
812
|
}
|
|
@@ -3,11 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
var interactions =
|
|
8
|
-
var
|
|
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 = {};
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var interactions = new Map();
|
|
8
|
+
var _default = exports.default = interactions;
|