@atlaskit/react-ufo 5.4.2 → 5.4.3
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 +7 -0
- package/dist/cjs/create-interaction-extra-metrics-payload/index.js +33 -22
- package/dist/cjs/create-payload/index.js +8 -8
- package/dist/cjs/create-post-interaction-log-payload/index.js +10 -4
- package/dist/es2019/create-interaction-extra-metrics-payload/index.js +6 -0
- package/dist/es2019/create-payload/index.js +2 -2
- package/dist/es2019/create-post-interaction-log-payload/index.js +6 -0
- package/dist/esm/create-interaction-extra-metrics-payload/index.js +29 -18
- package/dist/esm/create-payload/index.js +2 -2
- package/dist/esm/create-post-interaction-log-payload/index.js +6 -0
- package/dist/types/config/index.d.ts +4 -0
- package/dist/types-ts4.5/config/index.d.ts +4 -0
- package/package.json +5 -2
package/CHANGELOG.md
CHANGED
|
@@ -12,7 +12,7 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
|
|
|
12
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
13
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
14
14
|
var _coinflip = _interopRequireDefault(require("../coinflip"));
|
|
15
|
-
var
|
|
15
|
+
var _config2 = require("../config");
|
|
16
16
|
var _utils = require("../create-payload/common/utils");
|
|
17
17
|
var _getMoreAccuratePageVisibilityUpToTtai = require("../create-payload/utils/get-more-accurate-page-visibility-up-to-ttai");
|
|
18
18
|
var _getPageVisibilityUpToTtai = _interopRequireDefault(require("../create-payload/utils/get-page-visibility-up-to-ttai"));
|
|
@@ -37,11 +37,11 @@ function createInteractionExtraLogPayload(_x, _x2, _x3, _x4) {
|
|
|
37
37
|
function _createInteractionExtraLogPayload() {
|
|
38
38
|
_createInteractionExtraLogPayload = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(interactionId, interaction, lastInteractionFinish, lastInteractionFinishVCResult) {
|
|
39
39
|
var _getTTAI, _getMostRecentVCRevis, _lastInteractionFinis, _getTTAI2, _window$location;
|
|
40
|
-
var config, end, start, ufoName, rate, type, abortReason, routeName, previousInteractionName, isPreviousInteractionAborted, abortedByInteractionName, knownSegments, minorInteractions, sanitisedUfoName, configRate, pageVisibilityAtTTAI, isPageLoad, calculatePageVisibilityFromTheStartOfPageLoad, moreAccuratePageVisibilityAtTTAI, extraTTAI, newUFOName, finalVCMetrics, vcRevisionPayload, effectiveRevision, effectiveVCRevisionPayload, normalTTAI, lastInteractionFinishStart, lastInteractionFinishEnd, lastInteractionFinishVC90, lastInteractionFinishVCClean, lastInteractionFinishVCRev, lastInteractionFinishRevision, isThirdParty, filteredData, getDetailedInteractionMetrics, segments3p, segmentTree, payload;
|
|
40
|
+
var config, end, start, ufoName, rate, type, abortReason, routeName, previousInteractionName, isPreviousInteractionAborted, abortedByInteractionName, knownSegments, minorInteractions, sanitisedUfoName, configRate, _config, pageVisibilityAtTTAI, isPageLoad, calculatePageVisibilityFromTheStartOfPageLoad, moreAccuratePageVisibilityAtTTAI, extraTTAI, newUFOName, finalVCMetrics, vcRevisionPayload, effectiveRevision, effectiveVCRevisionPayload, normalTTAI, lastInteractionFinishStart, lastInteractionFinishEnd, lastInteractionFinishVC90, lastInteractionFinishVCClean, lastInteractionFinishVCRev, lastInteractionFinishRevision, isThirdParty, filteredData, getDetailedInteractionMetrics, segments3p, segmentTree, payload;
|
|
41
41
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
42
42
|
while (1) switch (_context.prev = _context.next) {
|
|
43
43
|
case 0:
|
|
44
|
-
config = (0,
|
|
44
|
+
config = (0, _config2.getConfig)();
|
|
45
45
|
if (config) {
|
|
46
46
|
_context.next = 3;
|
|
47
47
|
break;
|
|
@@ -50,55 +50,66 @@ function _createInteractionExtraLogPayload() {
|
|
|
50
50
|
case 3:
|
|
51
51
|
end = interaction.end, start = interaction.start, ufoName = interaction.ufoName, rate = interaction.rate, type = interaction.type, abortReason = interaction.abortReason, routeName = interaction.routeName, previousInteractionName = interaction.previousInteractionName, isPreviousInteractionAborted = interaction.isPreviousInteractionAborted, abortedByInteractionName = interaction.abortedByInteractionName, knownSegments = interaction.knownSegments, minorInteractions = interaction.minorInteractions;
|
|
52
52
|
sanitisedUfoName = (0, _utils.sanitizeUfoName)(ufoName);
|
|
53
|
-
configRate = (0,
|
|
53
|
+
configRate = (0, _config2.getExtraInteractionRate)(sanitisedUfoName, type);
|
|
54
54
|
if ((0, _coinflip.default)(configRate)) {
|
|
55
55
|
_context.next = 8;
|
|
56
56
|
break;
|
|
57
57
|
}
|
|
58
58
|
return _context.abrupt("return", null);
|
|
59
59
|
case 8:
|
|
60
|
+
if (!(0, _platformFeatureFlags.fg)('platform_ufo_disable_ufo_names_config')) {
|
|
61
|
+
_context.next = 12;
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
_config = (0, _config2.getConfig)();
|
|
65
|
+
if (!(_config !== null && _config !== void 0 && _config.disabledUfoNames && _config !== null && _config !== void 0 && _config.disabledUfoNames.includes(sanitisedUfoName))) {
|
|
66
|
+
_context.next = 12;
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
return _context.abrupt("return", null);
|
|
70
|
+
case 12:
|
|
60
71
|
pageVisibilityAtTTAI = (0, _getPageVisibilityUpToTtai.default)(interaction);
|
|
61
72
|
isPageLoad = type === 'page_load' || type === 'transition';
|
|
62
73
|
if (!(!isPageLoad || minorInteractions !== undefined && minorInteractions.length > 0)) {
|
|
63
|
-
_context.next =
|
|
74
|
+
_context.next = 16;
|
|
64
75
|
break;
|
|
65
76
|
}
|
|
66
77
|
return _context.abrupt("return", null);
|
|
67
|
-
case
|
|
78
|
+
case 16:
|
|
68
79
|
calculatePageVisibilityFromTheStartOfPageLoad = config.enableBetterPageVisibilityApi && isPageLoad;
|
|
69
80
|
moreAccuratePageVisibilityAtTTAI = calculatePageVisibilityFromTheStartOfPageLoad ? (0, _getMoreAccuratePageVisibilityUpToTtai.getMoreAccuratePageVisibilityUpToTTAI)(interaction) : null;
|
|
70
81
|
extraTTAI = (_getTTAI = (0, _getTtai.default)(interaction)) !== null && _getTTAI !== void 0 ? _getTTAI : undefined;
|
|
71
82
|
newUFOName = (0, _utils.sanitizeUfoName)(ufoName);
|
|
72
|
-
_context.next =
|
|
83
|
+
_context.next = 22;
|
|
73
84
|
return (0, _getVcMetrics.default)(interaction, true);
|
|
74
|
-
case
|
|
85
|
+
case 22:
|
|
75
86
|
finalVCMetrics = _context.sent;
|
|
76
87
|
// Check if VC is clean and has valid metric
|
|
77
88
|
vcRevisionPayload = finalVCMetrics === null || finalVCMetrics === void 0 ? void 0 : finalVCMetrics['ufo:vc:rev'];
|
|
78
|
-
effectiveRevision = (0, _platformFeatureFlags.fg)('ufo_update_and_enforce_ttvc_v4_default_version') ? (_getMostRecentVCRevis = (0,
|
|
89
|
+
effectiveRevision = (0, _platformFeatureFlags.fg)('ufo_update_and_enforce_ttvc_v4_default_version') ? (_getMostRecentVCRevis = (0, _config2.getMostRecentVCRevision)(ufoName)) !== null && _getMostRecentVCRevis !== void 0 ? _getMostRecentVCRevis : _config2.DEFAULT_TTVC_REVISION : (0, _config2.getDefaultTTVCRevision)();
|
|
79
90
|
effectiveVCRevisionPayload = vcRevisionPayload === null || vcRevisionPayload === void 0 ? void 0 : vcRevisionPayload.find(function (_ref) {
|
|
80
91
|
var revision = _ref.revision;
|
|
81
92
|
return revision === effectiveRevision;
|
|
82
93
|
});
|
|
83
94
|
if (!(!(effectiveVCRevisionPayload !== null && effectiveVCRevisionPayload !== void 0 && effectiveVCRevisionPayload.clean) || (effectiveVCRevisionPayload === null || effectiveVCRevisionPayload === void 0 ? void 0 : effectiveVCRevisionPayload['metric:vc90']) === undefined || typeof (effectiveVCRevisionPayload === null || effectiveVCRevisionPayload === void 0 ? void 0 : effectiveVCRevisionPayload['metric:vc90']) !== 'number' || extraTTAI === undefined || typeof extraTTAI !== 'number' || interaction.errors.length > 0)) {
|
|
84
|
-
_context.next =
|
|
95
|
+
_context.next = 28;
|
|
85
96
|
break;
|
|
86
97
|
}
|
|
87
98
|
return _context.abrupt("return", null);
|
|
88
|
-
case
|
|
99
|
+
case 28:
|
|
89
100
|
if (!(!lastInteractionFinish || lastInteractionFinish !== null && lastInteractionFinish !== void 0 && lastInteractionFinish.abortReason || lastInteractionFinish !== null && lastInteractionFinish !== void 0 && (_lastInteractionFinis = lastInteractionFinish.errors) !== null && _lastInteractionFinis !== void 0 && _lastInteractionFinis.length)) {
|
|
90
|
-
_context.next =
|
|
101
|
+
_context.next = 30;
|
|
91
102
|
break;
|
|
92
103
|
}
|
|
93
104
|
return _context.abrupt("return", null);
|
|
94
|
-
case
|
|
105
|
+
case 30:
|
|
95
106
|
normalTTAI = (_getTTAI2 = (0, _getTtai.default)(lastInteractionFinish)) !== null && _getTTAI2 !== void 0 ? _getTTAI2 : undefined;
|
|
96
107
|
lastInteractionFinishStart = typeof lastInteractionFinish.start === 'number' ? Math.round(lastInteractionFinish.start) : undefined;
|
|
97
108
|
lastInteractionFinishEnd = typeof lastInteractionFinish.end === 'number' ? Math.round(lastInteractionFinish.end) : undefined;
|
|
98
109
|
lastInteractionFinishVC90 = null;
|
|
99
110
|
lastInteractionFinishVCClean = false;
|
|
100
111
|
if (!lastInteractionFinishVCResult) {
|
|
101
|
-
_context.next =
|
|
112
|
+
_context.next = 46;
|
|
102
113
|
break;
|
|
103
114
|
}
|
|
104
115
|
lastInteractionFinishVCRev = lastInteractionFinishVCResult['ufo:vc:rev'];
|
|
@@ -107,25 +118,25 @@ function _createInteractionExtraLogPayload() {
|
|
|
107
118
|
return revision === effectiveRevision;
|
|
108
119
|
});
|
|
109
120
|
if (!(lastInteractionFinishRevision !== null && lastInteractionFinishRevision !== void 0 && lastInteractionFinishRevision.clean)) {
|
|
110
|
-
_context.next =
|
|
121
|
+
_context.next = 43;
|
|
111
122
|
break;
|
|
112
123
|
}
|
|
113
124
|
lastInteractionFinishVCClean = true;
|
|
114
125
|
lastInteractionFinishVC90 = lastInteractionFinishRevision['metric:vc90'];
|
|
115
|
-
_context.next =
|
|
126
|
+
_context.next = 44;
|
|
116
127
|
break;
|
|
117
|
-
case
|
|
128
|
+
case 43:
|
|
118
129
|
return _context.abrupt("return", null);
|
|
119
|
-
case
|
|
120
|
-
_context.next =
|
|
130
|
+
case 44:
|
|
131
|
+
_context.next = 47;
|
|
121
132
|
break;
|
|
122
|
-
case
|
|
133
|
+
case 46:
|
|
123
134
|
if (normalTTAI !== undefined && typeof normalTTAI === 'number' && normalTTAI === extraTTAI) {
|
|
124
135
|
// Because TTAI is equal between with and without 3p, we can assume VC90 is also equal
|
|
125
136
|
lastInteractionFinishVC90 = effectiveVCRevisionPayload === null || effectiveVCRevisionPayload === void 0 ? void 0 : effectiveVCRevisionPayload['metric:vc90'];
|
|
126
137
|
lastInteractionFinishVCClean = effectiveVCRevisionPayload === null || effectiveVCRevisionPayload === void 0 ? void 0 : effectiveVCRevisionPayload.clean;
|
|
127
138
|
}
|
|
128
|
-
case
|
|
139
|
+
case 47:
|
|
129
140
|
// Helper function to check if labelStack contains third-party type
|
|
130
141
|
isThirdParty = function isThirdParty(labelStack) {
|
|
131
142
|
var _labelStack$some;
|
|
@@ -244,7 +255,7 @@ function _createInteractionExtraLogPayload() {
|
|
|
244
255
|
};
|
|
245
256
|
payload.attributes.properties['event:sizeInKb'] = (0, _getPayloadSize.default)(payload.attributes.properties);
|
|
246
257
|
return _context.abrupt("return", payload);
|
|
247
|
-
case
|
|
258
|
+
case 56:
|
|
248
259
|
case "end":
|
|
249
260
|
return _context.stop();
|
|
250
261
|
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports.createExperimentalMetricsPayload=createExperimentalMetricsPayload;exports.createExtraSearchPageInteractionPayload=createExtraSearchPageInteractionPayload;exports.createPayloads=createPayloads;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _browserApis=require("@atlaskit/browser-apis");var _platformFeatureFlags=require("@atlaskit/platform-feature-flags");var _additionalPayload=require("../additional-payload");var _assets=require("../assets");var bundleEvalTiming=_interopRequireWildcard(require("../bundle-eval-timing"));var _coinflip=_interopRequireDefault(require("../coinflip"));var
|
|
2
|
-
var MAX_PAYLOAD_SIZE=230;function getUfoNameOverride(interaction){var ufoName=interaction.ufoName,apdex=interaction.apdex;try{var ufoNameOverrides=(0,
|
|
1
|
+
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports.createExperimentalMetricsPayload=createExperimentalMetricsPayload;exports.createExtraSearchPageInteractionPayload=createExtraSearchPageInteractionPayload;exports.createPayloads=createPayloads;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _browserApis=require("@atlaskit/browser-apis");var _platformFeatureFlags=require("@atlaskit/platform-feature-flags");var _additionalPayload=require("../additional-payload");var _assets=require("../assets");var bundleEvalTiming=_interopRequireWildcard(require("../bundle-eval-timing"));var _coinflip=_interopRequireDefault(require("../coinflip"));var _config2=require("../config");var _createExperimentalInteractionMetricsPayload=require("../create-experimental-interaction-metrics-payload");var _customTimings=require("../custom-timings");var _globalErrorHandler=require("../global-error-handler");var _hiddenTiming=require("../hidden-timing");var initialPageLoadExtraTiming=_interopRequireWildcard(require("../initial-page-load-extra-timing"));var _interactionMetrics=require("../interaction-metrics");var _machineUtilisation=require("../machine-utilisation");var resourceTiming=_interopRequireWildcard(require("../resource-timing"));var _resourceTimingBuffer=require("../resource-timing/common/utils/resource-timing-buffer");var _roundNumber=require("../round-number");var ssr=_interopRequireWildcard(require("../ssr"));var _vcObserverNew=require("../vc/vc-observer-new");var _utils=require("./common/utils");var _criticalMetricsPayload=require("./critical-metrics-payload");var _addPerformanceMeasures=require("./utils/add-performance-measures");var _getBatteryInfo=require("./utils/get-battery-info");var _getBrowserMetadata=require("./utils/get-browser-metadata");var _getInteractionStatus=_interopRequireDefault(require("./utils/get-interaction-status"));var _getMoreAccuratePageVisibilityUpToTtai=require("./utils/get-more-accurate-page-visibility-up-to-ttai");var _getNavigationMetrics=require("./utils/get-navigation-metrics");var _getPageVisibilityUpToTtai=_interopRequireDefault(require("./utils/get-page-visibility-up-to-ttai"));var _getPaintMetrics=require("./utils/get-paint-metrics");var _getPayloadSize=_interopRequireDefault(require("./utils/get-payload-size"));var _getReactUfoPayloadVersion=require("./utils/get-react-ufo-payload-version");var _getSsrDoneTimeValue=_interopRequireDefault(require("./utils/get-ssr-done-time-value"));var _getSsrSuccess=_interopRequireDefault(require("./utils/get-ssr-success"));var _getTtai=_interopRequireDefault(require("./utils/get-ttai"));var _getVcMetrics=_interopRequireDefault(require("./utils/get-vc-metrics"));var _getVisibilityStateFromPerformance=require("./utils/get-visibility-state-from-performance");var _optimizeApdex=require("./utils/optimize-apdex");var _optimizeCustomTimings=require("./utils/optimize-custom-timings");var _optimizeHoldInfo=require("./utils/optimize-hold-info");var _optimizeMarks=require("./utils/optimize-marks");var _optimizeReactProfilerTimings=require("./utils/optimize-react-profiler-timings");var _optimizeRequestInfo=require("./utils/optimize-request-info");var _optimizeSpans=require("./utils/optimize-spans");var _trimVcDebugData=require("./utils/trim-vc-debug-data");var _excluded=["labelStack"];function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,default:e};if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t in e)"default"!==_t&&{}.hasOwnProperty.call(e,_t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t))&&(i.get||i.set)?o(f,_t,i):f[_t]=e[_t]);return f;})(e,t);}function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var _n=0,F=function F(){};return{s:F,n:function n(){return _n>=r.length?{done:!0}:{done:!1,value:r[_n++]};},e:function e(r){throw r;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var o,a=!0,u=!1;return{s:function s(){t=t.call(r);},n:function n(){var r=t.next();return a=r.done,r;},e:function e(r){u=!0,o=r;},f:function f(){try{a||null==t.return||t.return();}finally{if(u)throw o;}}};}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}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;}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;}// Import common utilities
|
|
2
|
+
var MAX_PAYLOAD_SIZE=230;function getUfoNameOverride(interaction){var ufoName=interaction.ufoName,apdex=interaction.apdex;try{var ufoNameOverrides=(0,_config2.getUfoNameOverrides)();if(ufoNameOverrides!=null){var metricKey=apdex.length>0?apdex[0].key:'';if(ufoNameOverrides[ufoName][metricKey]){return ufoNameOverrides[ufoName][metricKey];}}return ufoName;}catch(_unused){return ufoName;}}function getEarliestLegacyStopTime(interaction,labelStack){var earliestLegacyStopTime=null;interaction.apdex.forEach(function(a){var _a$labelStack;if(!(a!==null&&a!==void 0&&a.stopTime)){return;}if(!(0,_utils.labelStackStartWith)((_a$labelStack=a.labelStack)!==null&&_a$labelStack!==void 0?_a$labelStack:[],labelStack)){return;}if(a.stopTime>interaction.start&&(earliestLegacyStopTime!==null&&earliestLegacyStopTime!==void 0?earliestLegacyStopTime:a.stopTime)>=a.stopTime){earliestLegacyStopTime=a.stopTime;}});return earliestLegacyStopTime;}function getBm3EndTimeOrFallbackValue(interaction){var _getEarliestLegacySto;var labelStack=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var fallbackValue=arguments.length>2&&arguments[2]!==undefined?arguments[2]:interaction.end;if(interaction.type==='press'){return fallbackValue;}return(_getEarliestLegacySto=getEarliestLegacyStopTime(interaction,labelStack))!==null&&_getEarliestLegacySto!==void 0?_getEarliestLegacySto:fallbackValue;}function getPageVisibilityUpToTTI(interaction){var start=interaction.start;var bm3EndTimeOrInteractionEndTime=getBm3EndTimeOrFallbackValue(interaction);return(0,_hiddenTiming.getPageVisibilityState)(start,bm3EndTimeOrInteractionEndTime);}function getMoreAccuratePageVisibilityUpToTTI(interaction){var old=getPageVisibilityUpToTTI(interaction);var tti=getEarliestLegacyStopTime(interaction,[]);if(!tti){return old;}var buffered=(0,_getVisibilityStateFromPerformance.getVisibilityStateFromPerformance)(tti);if(!buffered){return old;}if(buffered!==old){return'mixed';}return old;}function getResourceTimings(start,end){var _resourceTiming$getRe;return(_resourceTiming$getRe=resourceTiming.getResourceTimings(start,end))!==null&&_resourceTiming$getRe!==void 0?_resourceTiming$getRe:undefined;}function getBundleEvalTimings(start){return bundleEvalTiming.getBundleEvalTimings(start);}function getSSRPhaseSuccess(type){return type==='page_load'?ssr.getSSRPhaseSuccess():undefined;}function getSSRFeatureFlags(type){return type==='page_load'?ssr.getSSRFeatureFlags():undefined;}function getPPSMetrics(interaction){var _interaction$apdex;var start=interaction.start,end=interaction.end;var config=(0,_config2.getConfig)();var interactionStatus=(0,_getInteractionStatus.default)(interaction);var pageVisibilityUpToTTAI=(0,_getPageVisibilityUpToTtai.default)(interaction);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;var ttai=interactionStatus.originalInteractionStatus==='SUCCEEDED'&&pageVisibilityUpToTTAI==='visible'?Math.round(end-start):undefined;var PPSMetricsAtTTI=tti!==undefined?(0,_additionalPayload.getLighthouseMetrics)({start:start,stop:tti}):null;var PPSMetricsAtTTAI=ttai!==undefined?(0,_additionalPayload.getLighthouseMetrics)({start:start,stop:interaction.end}):null;if((0,_platformFeatureFlags.fg)('platform_ufo_remove_deprecated_config_fields')){if(PPSMetricsAtTTAI!==null){return PPSMetricsAtTTAI;}}else{if(config!==null&&config!==void 0&&config.shouldCalculateLighthouseMetricsFromTTAI&&PPSMetricsAtTTAI!==null){return PPSMetricsAtTTAI;}if(PPSMetricsAtTTI!==null){return _objectSpread(_objectSpread({},PPSMetricsAtTTI),{},{'metrics@ttai':PPSMetricsAtTTAI});}}return{};}function getSSRProperties(type){var ssrPhases=getSSRPhaseSuccess(type);return _objectSpread(_objectSpread({'ssr:success':(ssrPhases===null||ssrPhases===void 0?void 0:ssrPhases.done)!=null?ssrPhases.done:(0,_getSsrSuccess.default)(type),'ssr:featureFlags':getSSRFeatureFlags(type)},(ssrPhases===null||ssrPhases===void 0?void 0:ssrPhases.earlyFlush)!=null?{'ssr:earlyflush:success':ssrPhases.earlyFlush}:null),(ssrPhases===null||ssrPhases===void 0?void 0:ssrPhases.prefetch)!=null?{'ssr:prefetch:success':ssrPhases.prefetch}:null);}function getAssetsMetrics(interaction,SSRDoneTime){try{var config=(0,_config2.getConfig)();var type=interaction.type;var allowedTypes=['page_load'];var assetsConfig=config===null||config===void 0?void 0:config.assetsConfig;if(!allowedTypes.includes(type)||!assetsConfig){// Skip if: type not allowed or assetsClassification isn't configured
|
|
3
3
|
return{};}var reporter=new _assets.CHRReporter();var resourceTimings=(0,_resourceTimingBuffer.filterResourceTimings)(interaction.start,interaction.end);var assets=reporter.get(resourceTimings,assetsConfig,SSRDoneTime);if(assets){// Only add assets in case it exists
|
|
4
4
|
return{'event:assets':assets};}return{};}catch(_unused2){// Skip CHR in case of error
|
|
5
5
|
return{};}}function getTracingContextData(interaction){var trace=interaction.trace,start=interaction.start;var tracingContextData={};if(trace){tracingContextData={'ufo:tracingContext':{'X-B3-TraceId':trace.traceId,'X-B3-SpanId':trace.spanId,// eslint-disable-next-line compat/compat
|
|
6
6
|
browserTimeOrigin:+(performance.timeOrigin+start).toFixed(2)}};}return tracingContextData;}function optimizeCustomData(interaction){var customData=interaction.customData,cohortingCustomData=interaction.cohortingCustomData,legacyMetrics=interaction.legacyMetrics;var customDataMap=customData.reduce(function(result,_ref){var _result$get$data,_result$get;var labelStack=_ref.labelStack,data=_ref.data;var label=(0,_utils.stringifyLabelStackFully)(labelStack);var value=(_result$get$data=(_result$get=result.get(label))===null||_result$get===void 0?void 0:_result$get.data)!==null&&_result$get$data!==void 0?_result$get$data:{};result.set(label,{labelStack:(0,_utils.optimizeLabelStack)(labelStack,(0,_getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),data:Object.assign(value,data)});return result;},new Map());// Merge cohorting custom data into the same map
|
|
7
7
|
if(cohortingCustomData&&cohortingCustomData.size>0){var _interaction$labelSta,_customDataMap$get$da,_customDataMap$get,_interaction$labelSta2;var label=(0,_utils.stringifyLabelStackFully)((_interaction$labelSta=interaction.labelStack)!==null&&_interaction$labelSta!==void 0?_interaction$labelSta:[]);var value=(_customDataMap$get$da=(_customDataMap$get=customDataMap.get(label))===null||_customDataMap$get===void 0?void 0:_customDataMap$get.data)!==null&&_customDataMap$get$da!==void 0?_customDataMap$get$da:{};customDataMap.set(label,{labelStack:(0,_utils.optimizeLabelStack)((_interaction$labelSta2=interaction.labelStack)!==null&&_interaction$labelSta2!==void 0?_interaction$labelSta2:[],(0,_getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),data:Object.assign(value,Object.fromEntries(cohortingCustomData))});}if(legacyMetrics){var legacyMetricsFiltered=legacyMetrics.filter(function(item){return item.type==='PAGE_LOAD';}).reduce(function(result,currentValue){for(var _i=0,_Object$entries=Object.entries(currentValue.custom||{});_i<_Object$entries.length;_i++){var _result$get$data2,_result$get2;var _Object$entries$_i=(0,_slicedToArray2.default)(_Object$entries[_i],2),key=_Object$entries$_i[0],_value=_Object$entries$_i[1];var _label=(0,_utils.stringifyLabelStackFully)([]);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:{};result.set(_label,{labelStack:(0,_utils.optimizeLabelStack)([],(0,_getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),data:Object.assign(labelValue,(0,_defineProperty2.default)({},key,_value))});}return result;},new Map());return[].concat((0,_toConsumableArray2.default)(customDataMap.values()),(0,_toConsumableArray2.default)(legacyMetricsFiltered.values()));}return(0,_toConsumableArray2.default)(customDataMap.values());}function optimizeRedirects(redirects,interactionStart){var lastRedirectTime=interactionStart;var updatedRedirects=redirects.sort(function(a,b){return a.time-b.time;}).reduce(function(result,redirect){var fromInteractionName=redirect.fromInteractionName,time=redirect.time;if(lastRedirectTime>=interactionStart){result.push({labelStack:[{n:fromInteractionName}],startTime:Math.round(lastRedirectTime),endTime:Math.round(time)});}lastRedirectTime=time;return result;},[]);return updatedRedirects;}function objectToArray(){var obj=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return Object.keys(obj).reduce(function(result,key){result.push({label:key,data:obj[key]});return result;},[]);}function getBM3SubmetricsTimings(submetrics){if(!submetrics){return null;}var submetricsTimings=submetrics.filter(function(item){return typeof item.stop==='number'&&!!item.key&&typeof item.start==='number';}).map(function(item){var childSubmetrics;var newKey="include/".concat(item.key);if(item.submetrics){childSubmetrics=getBM3SubmetricsTimings(item.submetrics);}return _objectSpread((0,_defineProperty2.default)({},newKey,{endTime:item.stop-item.start,startTime:item.start}),childSubmetrics?childSubmetrics:{});});return submetricsTimings;}function getBm3TrackerTimings(interaction){var interactionLegacyMetrics=interaction.legacyMetrics;if(!interactionLegacyMetrics){return{};}var legacyMetrics=interactionLegacyMetrics.map(function(item){var _item$config,_item$config2,_item$marks;return{key:item.key,startTime:item.start,stopTime:item.stop,type:(_item$config=item.config)===null||_item$config===void 0?void 0:_item$config.type,reactUFOName:(_item$config2=item.config)===null||_item$config2===void 0?void 0:_item$config2.reactUFOName,fmp:((_item$marks=item.marks)===null||_item$marks===void 0?void 0:_item$marks['fmp'])||item.stop,source:'bm3',timings:(0,_customTimings.getBm3Timings)(item.marks,item.config.timings),submetrics:getBM3SubmetricsTimings(item.submetrics),pageVisibleState:item.pageVisibleState};}).filter(function(item){return!!item.type;});return{legacyMetrics:legacyMetrics};}function getStylesheetMetrics(){try{var doc=(0,_browserApis.getDocument)();if(!doc){return{};}var stylesheets=Array.from(doc.styleSheets);var stylesheetCount=stylesheets.length;var cssrules=Array.from(doc.styleSheets).reduce(function(acc,item){// Other domain stylesheets throw a SecurityError
|
|
8
|
-
try{return acc+item.cssRules.length;}catch(_unused3){return acc;}},0);var styleElements=doc.querySelectorAll('style').length;var styleProps=doc.querySelectorAll('[style]');var styleDeclarations=Array.from(doc.querySelectorAll('[style]')).reduce(function(acc,item){try{if('style'in item){return acc+item.style.length;}else{return acc;}}catch(_unused4){return acc;}},0);return{'ufo:stylesheets':stylesheetCount,'ufo:styleElements':styleElements,'ufo:styleProps':styleProps.length,'ufo:styleDeclarations':styleDeclarations,'ufo:cssrules':cssrules};}catch(_unused5){return{};}}var regularTTAI;var expTTAI;function getErrorCounts(interaction){return{'ufo:errors:globalCount':(0,_globalErrorHandler.getGlobalErrorCount)(),'ufo:errors:count':interaction.errors.length};}function createInteractionMetricsPayload(_x,_x2,_x3,_x4,_x5){return _createInteractionMetricsPayload.apply(this,arguments);}function _createInteractionMetricsPayload(){_createInteractionMetricsPayload=(0,_asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(interaction,interactionId,experimental,criticalPayloadCount,vcMetrics){var _config$enableBetterP,_window$location,_config$additionalPay;var interactionPayloadStart,config,end,start,ufoName,knownSegments,rate,type,abortReason,routeName,featureFlags,previousInteractionName,isPreviousInteractionAborted,abortedByInteractionName,responsiveness,unknownElementName,unknownElementHierarchy,hydration,pageVisibilityAtTTI,pageVisibilityAtTTAI,segments,segmentTree,isDetailedPayload,isPageLoadEvent,isPageLoad,calculatePageVisibilityFromTheStartOfPageLoad,moreAccuratePageVisibilityAtTTI,moreAccuratePageVisibilityAtTTAI,labelStack,getInitialPageLoadSSRMetrics,pageLoadInteractionMetrics,getDetailedInteractionMetrics,getPageLoadDetailedInteractionMetrics,newUFOName,resourceTimings,_yield$Promise$all,_yield$Promise$all2,finalVCMetrics,experimentalMetrics,paintMetrics,batteryInfo,getReactHydrationStats,payload,size,vcRev,rawData,rawDataSize,interactionMetricsFieldsToTrim,topLevelFieldsToTrim,properties,interactionMetrics,_iterator,_step,field,trimmedFields,_i2,_topLevelFieldsToTrim,_field,_trimmedFields,isVCRevisionTrimEnabled;return _regenerator.default.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:interactionPayloadStart=performance.now();config=(0,
|
|
9
|
-
getInitialPageLoadSSRMetrics=function getInitialPageLoadSSRMetrics(){var _config$ssr;if(!isPageLoad){return{};}var config=(0,
|
|
10
|
-
getDetailedInteractionMetrics=function getDetailedInteractionMetrics(resourceTimings){if(experimental||window.__UFO_COMPACT_PAYLOAD__||!isDetailedPayload){return{};}var spans=[].concat((0,_toConsumableArray2.default)(interaction.spans),(0,_toConsumableArray2.default)(_interactionMetrics.interactionSpans));_interactionMetrics.interactionSpans.length=0;var shouldInclude3pHolds=(0,
|
|
8
|
+
try{return acc+item.cssRules.length;}catch(_unused3){return acc;}},0);var styleElements=doc.querySelectorAll('style').length;var styleProps=doc.querySelectorAll('[style]');var styleDeclarations=Array.from(doc.querySelectorAll('[style]')).reduce(function(acc,item){try{if('style'in item){return acc+item.style.length;}else{return acc;}}catch(_unused4){return acc;}},0);return{'ufo:stylesheets':stylesheetCount,'ufo:styleElements':styleElements,'ufo:styleProps':styleProps.length,'ufo:styleDeclarations':styleDeclarations,'ufo:cssrules':cssrules};}catch(_unused5){return{};}}var regularTTAI;var expTTAI;function getErrorCounts(interaction){return{'ufo:errors:globalCount':(0,_globalErrorHandler.getGlobalErrorCount)(),'ufo:errors:count':interaction.errors.length};}function createInteractionMetricsPayload(_x,_x2,_x3,_x4,_x5){return _createInteractionMetricsPayload.apply(this,arguments);}function _createInteractionMetricsPayload(){_createInteractionMetricsPayload=(0,_asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(interaction,interactionId,experimental,criticalPayloadCount,vcMetrics){var _config$enableBetterP,_window$location,_config$additionalPay;var interactionPayloadStart,config,end,start,ufoName,knownSegments,rate,type,abortReason,routeName,featureFlags,previousInteractionName,isPreviousInteractionAborted,abortedByInteractionName,responsiveness,unknownElementName,unknownElementHierarchy,hydration,pageVisibilityAtTTI,pageVisibilityAtTTAI,segments,segmentTree,isDetailedPayload,isPageLoadEvent,isPageLoad,calculatePageVisibilityFromTheStartOfPageLoad,moreAccuratePageVisibilityAtTTI,moreAccuratePageVisibilityAtTTAI,labelStack,getInitialPageLoadSSRMetrics,pageLoadInteractionMetrics,getDetailedInteractionMetrics,getPageLoadDetailedInteractionMetrics,newUFOName,resourceTimings,_yield$Promise$all,_yield$Promise$all2,finalVCMetrics,experimentalMetrics,paintMetrics,batteryInfo,getReactHydrationStats,payload,size,vcRev,rawData,rawDataSize,interactionMetricsFieldsToTrim,topLevelFieldsToTrim,properties,interactionMetrics,_iterator,_step,field,trimmedFields,_i2,_topLevelFieldsToTrim,_field,_trimmedFields,isVCRevisionTrimEnabled;return _regenerator.default.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:interactionPayloadStart=performance.now();config=(0,_config2.getConfig)();if(config){_context.next=4;break;}throw Error('UFO Configuration not provided');case 4:end=interaction.end,start=interaction.start,ufoName=interaction.ufoName,knownSegments=interaction.knownSegments,rate=interaction.rate,type=interaction.type,abortReason=interaction.abortReason,routeName=interaction.routeName,featureFlags=interaction.featureFlags,previousInteractionName=interaction.previousInteractionName,isPreviousInteractionAborted=interaction.isPreviousInteractionAborted,abortedByInteractionName=interaction.abortedByInteractionName,responsiveness=interaction.responsiveness,unknownElementName=interaction.unknownElementName,unknownElementHierarchy=interaction.unknownElementHierarchy,hydration=interaction.hydration;pageVisibilityAtTTI=getPageVisibilityUpToTTI(interaction);pageVisibilityAtTTAI=(0,_getPageVisibilityUpToTtai.default)(interaction);segments=!(0,_platformFeatureFlags.fg)('platform_ufo_remove_deprecated_config_fields')&&config.killswitchNestedSegments?[]:knownSegments;segmentTree=(0,_getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)==='2.0.0'?(0,_utils.buildSegmentTree)(segments.map(function(segment){return segment.labelStack;})):{};isDetailedPayload=pageVisibilityAtTTAI==='visible';isPageLoadEvent=type==='page_load'||type==='transition';isPageLoad=type==='page_load';calculatePageVisibilityFromTheStartOfPageLoad=((_config$enableBetterP=config.enableBetterPageVisibilityApi)!==null&&_config$enableBetterP!==void 0?_config$enableBetterP:(0,_platformFeatureFlags.fg)('platform_enable_better_page_visibility'))&&isPageLoadEvent;moreAccuratePageVisibilityAtTTI=calculatePageVisibilityFromTheStartOfPageLoad?getMoreAccuratePageVisibilityUpToTTI(interaction):null;moreAccuratePageVisibilityAtTTAI=calculatePageVisibilityFromTheStartOfPageLoad?(0,_getMoreAccuratePageVisibilityUpToTtai.getMoreAccuratePageVisibilityUpToTTAI)(interaction):null;labelStack=interaction.labelStack?{labelStack:(0,_utils.optimizeLabelStack)(interaction.labelStack,(0,_getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type))}:{};// Page Load
|
|
9
|
+
getInitialPageLoadSSRMetrics=function getInitialPageLoadSSRMetrics(){var _config$ssr;if(!isPageLoad){return{};}var config=(0,_config2.getConfig)();var SSRDoneTimeValue=(0,_getSsrDoneTimeValue.default)(config);var SSRDoneTime=SSRDoneTimeValue!==undefined?{SSRDoneTime:Math.round(SSRDoneTimeValue)}:{};var isBM3ConfigSSRDoneAsFmp=interaction.metaData.__legacy__bm3ConfigSSRDoneAsFmp;var isUFOConfigSSRDoneAsFmp=interaction.metaData.__legacy__bm3ConfigSSRDoneAsFmp||!!(config!==null&&config!==void 0&&(_config$ssr=config.ssr)!==null&&_config$ssr!==void 0&&_config$ssr.getSSRDoneTime);if(!experimental&&(isBM3ConfigSSRDoneAsFmp||isUFOConfigSSRDoneAsFmp)&&SSRDoneTimeValue!==undefined){try{performance.mark("FMP",{startTime:SSRDoneTimeValue,detail:{devtools:{dataType:'marker'}}});}catch(_unused6){}}return _objectSpread(_objectSpread({},SSRDoneTime),{},{isBM3ConfigSSRDoneAsFmp:isBM3ConfigSSRDoneAsFmp,isUFOConfigSSRDoneAsFmp:isUFOConfigSSRDoneAsFmp});};pageLoadInteractionMetrics=getInitialPageLoadSSRMetrics();// Detailed payload. Page visibility = visible
|
|
10
|
+
getDetailedInteractionMetrics=function getDetailedInteractionMetrics(resourceTimings){if(experimental||window.__UFO_COMPACT_PAYLOAD__||!isDetailedPayload){return{};}var spans=[].concat((0,_toConsumableArray2.default)(interaction.spans),(0,_toConsumableArray2.default)(_interactionMetrics.interactionSpans));_interactionMetrics.interactionSpans.length=0;var shouldInclude3pHolds=(0,_config2.shouldUseRawDataThirdPartyBehavior)(ufoName,type);var basePayload={errors:interaction.errors.map(function(_ref2){var labelStack=_ref2.labelStack,others=(0,_objectWithoutProperties2.default)(_ref2,_excluded);return _objectSpread(_objectSpread({},others),{},{labelStack:labelStack&&(0,_utils.optimizeLabelStack)(labelStack,(0,_getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type))});}),holdActive:(0,_toConsumableArray2.default)(interaction.holdActive.values()),redirects:optimizeRedirects(interaction.redirects,start),holdInfo:(0,_optimizeHoldInfo.optimizeHoldInfo)(experimental?interaction.holdExpInfo:interaction.holdInfo,start,(0,_getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),spans:(0,_optimizeSpans.optimizeSpans)(spans,start,(0,_getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),requestInfo:(0,_optimizeRequestInfo.optimizeRequestInfo)(interaction.requestInfo,start,(0,_getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),customTimings:(0,_optimizeCustomTimings.optimizeCustomTimings)(interaction.customTimings,start),bundleEvalTimings:objectToArray(getBundleEvalTimings(start)),resourceTimings:objectToArray(resourceTimings)};// Include third-party holds when feature flag is active
|
|
11
11
|
if(shouldInclude3pHolds){var _interaction$hold3pIn;return _objectSpread(_objectSpread({},basePayload),{},{hold3pActive:interaction.hold3pActive?(0,_toConsumableArray2.default)(interaction.hold3pActive.values()):[],hold3pInfo:(0,_optimizeHoldInfo.optimizeHoldInfo)((_interaction$hold3pIn=interaction.hold3pInfo)!==null&&_interaction$hold3pIn!==void 0?_interaction$hold3pIn:[],start,(0,_getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type))});}return basePayload;};// Page load & detailed payload
|
|
12
|
-
getPageLoadDetailedInteractionMetrics=function getPageLoadDetailedInteractionMetrics(){var _config$ssr2,_config$ssr2$getSSRTi;if(!isPageLoad||!isDetailedPayload){return{};}var initialPageLoadExtraTimings=objectToArray(initialPageLoadExtraTiming.getTimings());var config=(0,
|
|
12
|
+
getPageLoadDetailedInteractionMetrics=function getPageLoadDetailedInteractionMetrics(){var _config$ssr2,_config$ssr2$getSSRTi;if(!isPageLoad||!isDetailedPayload){return{};}var initialPageLoadExtraTimings=objectToArray(initialPageLoadExtraTiming.getTimings());var config=(0,_config2.getConfig)();var defaultSSRTimings=objectToArray(ssr.getSSRTimings());var ssrTimingsFromConfig=config===null||config===void 0||(_config$ssr2=config.ssr)===null||_config$ssr2===void 0||(_config$ssr2$getSSRTi=_config$ssr2.getSSRTimings)===null||_config$ssr2$getSSRTi===void 0?void 0:_config$ssr2$getSSRTi.call(_config$ssr2);return{initialPageLoadExtraTimings:initialPageLoadExtraTimings,SSRTimings:ssrTimingsFromConfig?[].concat((0,_toConsumableArray2.default)(ssrTimingsFromConfig),(0,_toConsumableArray2.default)(defaultSSRTimings)):defaultSSRTimings};};if(experimental){expTTAI=(0,_getTtai.default)(interaction);}else{regularTTAI=(0,_getTtai.default)(interaction);}newUFOName=(0,_utils.sanitizeUfoName)(ufoName);resourceTimings=getResourceTimings(start,end);_context.t0=Promise;_context.t1=vcMetrics;if(_context.t1){_context.next=29;break;}_context.next=28;return(0,_getVcMetrics.default)(interaction);case 28:_context.t1=_context.sent;case 29:_context.t2=_context.t1;_context.t3=experimental?(0,_createExperimentalInteractionMetricsPayload.getExperimentalVCMetrics)(interaction):Promise.resolve(undefined);_context.t4=(0,_getPaintMetrics.getPaintMetricsToLegacyFormat)(type,end);_context.t5=(0,_getBatteryInfo.getBatteryInfoToLegacyFormat)();_context.t6=[_context.t2,_context.t3,_context.t4,_context.t5];_context.next=36;return _context.t0.all.call(_context.t0,_context.t6);case 36:_yield$Promise$all=_context.sent;_yield$Promise$all2=(0,_slicedToArray2.default)(_yield$Promise$all,4);finalVCMetrics=_yield$Promise$all2[0];experimentalMetrics=_yield$Promise$all2[1];paintMetrics=_yield$Promise$all2[2];batteryInfo=_yield$Promise$all2[3];if(!experimental){(0,_addPerformanceMeasures.addPerformanceMeasures)(interaction.start,(0,_toConsumableArray2.default)((finalVCMetrics===null||finalVCMetrics===void 0?void 0:finalVCMetrics['ufo:vc:rev'])||[]));}getReactHydrationStats=function getReactHydrationStats(){if(!hydration){return{};}return{hydration:hydration};};payload={actionSubject:'experience',action:'measured',eventType:'operational',source:'measured',tags:['observability'],attributes:{properties:_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({// basic
|
|
13
13
|
'event:hostname':((_window$location=window.location)===null||_window$location===void 0?void 0:_window$location.hostname)||'unknown','event:product':config.product,'event:population':config.population,'event:schema':'1.0.0','event:sizeInKb':0,'event:source':{name:'react-ufo/web',version:(0,_getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)},'event:region':config.region||'unknown','experience:key':experimental?'custom.experimental-interaction-metrics':'custom.interaction-metrics','experience:name':newUFOName,// Include CPU usage monitoring data
|
|
14
14
|
'event:cpu:usage':(0,_machineUtilisation.createPressureStateReport)(interaction.start,interaction.end),'event:memory:usage':(0,_machineUtilisation.createMemoryStateReport)(interaction.start,interaction.end)},criticalPayloadCount!==undefined?{'ufo:multipayload':true,'ufo:criticalPayloadCount':criticalPayloadCount}:{}),{},{'ufo:pageVisibilityHiddenTimestamp':(0,_hiddenTiming.getEarliestHiddenTiming)(interaction.start,interaction.end),'ufo:wasPageHiddenBeforeInit':(0,_hiddenTiming.getHasHiddenTimingBeforeSetup)(),'ufo:isOpenedInBackground':(0,_hiddenTiming.isOpenedInBackground)(interaction.type),'ufo:isTabThrottled':(0,_hiddenTiming.isTabThrottled)(start,end),'ufo:pageVisibilityTimeline':(0,_hiddenTiming.getPageVisibilityTimeline)(start,end)},(0,_platformFeatureFlags.fg)('ufo_detect_aborting_interaction_during_ssr')?{'ufo:hasAbortingInteractionDuringSSR':(0,_vcObserverNew.getHasAbortingEventDuringSSR)()}:{}),(0,_getBrowserMetadata.getBrowserMetadataToLegacyFormat)()),batteryInfo),getSSRProperties(type)),getAssetsMetrics(interaction,pageLoadInteractionMetrics===null||pageLoadInteractionMetrics===void 0?void 0:pageLoadInteractionMetrics.SSRDoneTime)),getPPSMetrics(interaction)),paintMetrics),(0,_getNavigationMetrics.getNavigationMetricsToLegacyFormat)(type)),finalVCMetrics),experimentalMetrics),(_config$additionalPay=config.additionalPayloadData)===null||_config$additionalPay===void 0?void 0:_config$additionalPay.call(config,interaction)),getTracingContextData(interaction)),getStylesheetMetrics()),getErrorCounts(interaction)),getReactHydrationStats()),{},{interactionMetrics:_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({namePrefix:config.namePrefix||'',segmentPrefix:config.segmentPrefix||'',interactionId:interactionId,pageVisibilityAtTTI:pageVisibilityAtTTI,pageVisibilityAtTTAI:pageVisibilityAtTTAI,experimental__pageVisibilityAtTTI:moreAccuratePageVisibilityAtTTI,experimental__pageVisibilityAtTTAI:moreAccuratePageVisibilityAtTTAI,// raw interaction metrics
|
|
15
15
|
rate:rate,routeName:routeName,type:type,abortReason:abortReason,featureFlags:featureFlags,previousInteractionName:previousInteractionName,isPreviousInteractionAborted:isPreviousInteractionAborted,abortedByInteractionName:abortedByInteractionName,// performance
|
|
@@ -18,7 +18,7 @@ apdex:(0,_optimizeApdex.optimizeApdex)(interaction.apdex,(0,_getReactUfoPayloadV
|
|
|
18
18
|
interactionMetricsFieldsToTrim=(0,_platformFeatureFlags.fg)('ufo_remove_featureflags_from_trimmed_fields')?['requestInfo','resourceTimings']:['requestInfo','featureFlags','resourceTimings'];// Top-level properties that can be trimmed if payload exceeds size limit
|
|
19
19
|
topLevelFieldsToTrim=['ufo:pageVisibilityTimeline'];properties=payload.attributes.properties;interactionMetrics=properties.interactionMetrics;if(!interactionMetrics){_context.next=75;break;}_iterator=_createForOfIteratorHelper(interactionMetricsFieldsToTrim);_context.prev=53;_iterator.s();case 55:if((_step=_iterator.n()).done){_context.next=67;break;}field=_step.value;if(!((0,_getPayloadSize.default)(properties)<=MAX_PAYLOAD_SIZE)){_context.next=59;break;}return _context.abrupt("continue",65);case 59:interactionMetrics[field]=undefined;properties['event:isTrimmed']=true;trimmedFields=properties['event:trimmedFields'];if(!Array.isArray(trimmedFields)){trimmedFields=[];}trimmedFields.push("interactionMetrics.".concat(field));properties['event:trimmedFields']=trimmedFields;case 65:_context.next=55;break;case 67:_context.next=72;break;case 69:_context.prev=69;_context.t7=_context["catch"](53);_iterator.e(_context.t7);case 72:_context.prev=72;_iterator.f();return _context.finish(72);case 75:_i2=0,_topLevelFieldsToTrim=topLevelFieldsToTrim;case 76:if(!(_i2<_topLevelFieldsToTrim.length)){_context.next=89;break;}_field=_topLevelFieldsToTrim[_i2];if(!((0,_getPayloadSize.default)(properties)<=MAX_PAYLOAD_SIZE)){_context.next=80;break;}return _context.abrupt("continue",86);case 80:properties[_field]=undefined;properties['event:isTrimmed']=true;_trimmedFields=properties['event:trimmedFields'];if(!Array.isArray(_trimmedFields)){_trimmedFields=[];}_trimmedFields.push(_field);properties['event:trimmedFields']=_trimmedFields;case 86:_i2++;_context.next=76;break;case 89:// If the payload size continues to exceed the limit and interactionMetrics is already trimmed,
|
|
20
20
|
// trim VC debug data (early viewport checkpoints). PIR-30543 - AFO-5033
|
|
21
|
-
isVCRevisionTrimEnabled=(0,_platformFeatureFlags.fg)('ufo_vc_revision_trim_enabled');(0,_trimVcDebugData.trimVcDebugData)(properties,(0,_getPayloadSize.default)(properties),MAX_PAYLOAD_SIZE,isVCRevisionTrimEnabled);return _context.abrupt("return",payload);case 92:case"end":return _context.stop();}},_callee,null,[[53,69,72,75]]);}));return _createInteractionMetricsPayload.apply(this,arguments);}function createPayloads(_x6,_x7){return _createPayloads.apply(this,arguments);}function _createPayloads(){_createPayloads=(0,_asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(interactionId,interaction){var ufoNameOverride,modifiedInteraction,payloads,isCriticalMetricsEnabled,vcMetrics,criticalMetricsPayloads,criticalPayloadCount,interactionMetricsPayload;return _regenerator.default.wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:ufoNameOverride=getUfoNameOverride(interaction);modifiedInteraction=_objectSpread(_objectSpread({},interaction),{},{ufoName:ufoNameOverride});payloads=[];isCriticalMetricsEnabled=(0,_platformFeatureFlags.fg)('platform_ufo_critical_metrics_payload');// Calculate VC metrics once to avoid duplicate expensive calculations
|
|
22
|
-
_context2.next=
|
|
21
|
+
isVCRevisionTrimEnabled=(0,_platformFeatureFlags.fg)('ufo_vc_revision_trim_enabled');(0,_trimVcDebugData.trimVcDebugData)(properties,(0,_getPayloadSize.default)(properties),MAX_PAYLOAD_SIZE,isVCRevisionTrimEnabled);return _context.abrupt("return",payload);case 92:case"end":return _context.stop();}},_callee,null,[[53,69,72,75]]);}));return _createInteractionMetricsPayload.apply(this,arguments);}function createPayloads(_x6,_x7){return _createPayloads.apply(this,arguments);}function _createPayloads(){_createPayloads=(0,_asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(interactionId,interaction){var ufoNameOverride,modifiedInteraction,config,payloads,isCriticalMetricsEnabled,vcMetrics,criticalMetricsPayloads,criticalPayloadCount,interactionMetricsPayload;return _regenerator.default.wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:ufoNameOverride=getUfoNameOverride(interaction);modifiedInteraction=_objectSpread(_objectSpread({},interaction),{},{ufoName:ufoNameOverride});if(!(0,_platformFeatureFlags.fg)('platform_ufo_disable_ufo_names_config')){_context2.next=6;break;}config=(0,_config2.getConfig)();if(!(config!==null&&config!==void 0&&config.disabledUfoNames&&config!==null&&config!==void 0&&config.disabledUfoNames.includes(ufoNameOverride))){_context2.next=6;break;}return _context2.abrupt("return",[]);case 6:payloads=[];isCriticalMetricsEnabled=(0,_platformFeatureFlags.fg)('platform_ufo_critical_metrics_payload');// Calculate VC metrics once to avoid duplicate expensive calculations
|
|
22
|
+
_context2.next=10;return(0,_getVcMetrics.default)(interaction);case 10:vcMetrics=_context2.sent;if(!isCriticalMetricsEnabled){_context2.next=17;break;}_context2.next=14;return(0,_criticalMetricsPayload.createCriticalMetricsPayloads)(interactionId,interaction,vcMetrics);case 14:_context2.t0=_context2.sent;_context2.next=18;break;case 17:_context2.t0=[];case 18:criticalMetricsPayloads=_context2.t0;payloads.push.apply(payloads,(0,_toConsumableArray2.default)(criticalMetricsPayloads));criticalPayloadCount=isCriticalMetricsEnabled?criticalMetricsPayloads.length:undefined;_context2.next=23;return createInteractionMetricsPayload(modifiedInteraction,interactionId,undefined,criticalPayloadCount,vcMetrics);case 23:interactionMetricsPayload=_context2.sent;payloads.push(interactionMetricsPayload);return _context2.abrupt("return",payloads.filter(Boolean));case 26:case"end":return _context2.stop();}},_callee2);}));return _createPayloads.apply(this,arguments);}function createExperimentalMetricsPayload(_x8,_x9){return _createExperimentalMetricsPayload.apply(this,arguments);}function _createExperimentalMetricsPayload(){_createExperimentalMetricsPayload=(0,_asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3(interactionId,interaction){var config,ufoName,rate,_config,pageVisibilityState,result;return _regenerator.default.wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:config=(0,_config2.getConfig)();if(config){_context3.next=3;break;}throw Error('UFO Configuration not provided');case 3:ufoName=(0,_utils.sanitizeUfoName)(interaction.ufoName);rate=(0,_config2.getExperimentalInteractionRate)(ufoName,interaction.type);if((0,_coinflip.default)(rate)){_context3.next=7;break;}return _context3.abrupt("return",null);case 7:if(!(0,_platformFeatureFlags.fg)('platform_ufo_disable_ufo_names_config')){_context3.next=11;break;}_config=(0,_config2.getConfig)();if(!(_config!==null&&_config!==void 0&&_config.disabledUfoNames&&_config!==null&&_config!==void 0&&_config.disabledUfoNames.includes(ufoName))){_context3.next=11;break;}return _context3.abrupt("return",null);case 11:pageVisibilityState=(0,_hiddenTiming.getPageVisibilityState)(interaction.start,interaction.end);if(!(pageVisibilityState!=='visible')){_context3.next=14;break;}return _context3.abrupt("return",null);case 14:_context3.next=16;return createInteractionMetricsPayload(interaction,interactionId,true);case 16:result=_context3.sent;return _context3.abrupt("return",result);case 18:case"end":return _context3.stop();}},_callee3);}));return _createExperimentalMetricsPayload.apply(this,arguments);}function createExtraSearchPageInteractionPayload(_x0,_x1){return _createExtraSearchPageInteractionPayload.apply(this,arguments);}function _createExtraSearchPageInteractionPayload(){_createExtraSearchPageInteractionPayload=(0,_asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4(interactionId,interaction){var SAIN_HOLD_NAMES,NAME_OVERRIDE,SEARCH_PAGE_SMART_ANSWERS_SEGMENT_LABEL,newInteractionId,newEnd,holdInfo,reactProfilerTimings,lastHold,isLastHoldSAIN,lastFilteredTime,filteredReactProfilerTimings,lastTiming,modifiedInteraction,payloads,vcMetrics,interactionMetricsPayload;return _regenerator.default.wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:SAIN_HOLD_NAMES=['search-ai-dialog-visible-text-loading','search-ai-dialog-all-text-loading'];NAME_OVERRIDE='search-page-ignoring-smart-answers';SEARCH_PAGE_SMART_ANSWERS_SEGMENT_LABEL='search-page-smart-answers';newInteractionId="".concat(interactionId,"-ignoring-smart-answers");// Calculate a new end time which excludes SAIN holds
|
|
23
23
|
holdInfo=interaction.holdInfo,reactProfilerTimings=interaction.reactProfilerTimings;lastHold=holdInfo.at(-1);isLastHoldSAIN=Boolean(lastHold&&SAIN_HOLD_NAMES.includes(lastHold.name));// A new end time is only calculated if the last hold is a SAIN hold
|
|
24
24
|
if(isLastHoldSAIN){lastFilteredTime=null;filteredReactProfilerTimings=reactProfilerTimings.filter(function(timing){if(timing.commitTime===lastFilteredTime){return false;}var isTimingSmartAnswersInSearch=timing.labelStack.some(function(label){return label.name===SEARCH_PAGE_SMART_ANSWERS_SEGMENT_LABEL;});if(isTimingSmartAnswersInSearch){lastFilteredTime=timing.commitTime;return false;}return true;});lastTiming=filteredReactProfilerTimings.at(-1);if(lastTiming){newEnd=lastTiming.commitTime;}}modifiedInteraction=_objectSpread(_objectSpread({},interaction),{},{end:newEnd!==null&&newEnd!==void 0?newEnd:interaction.end,holdInfo:[],knownSegments:[],reactProfilerTimings:[],ufoName:NAME_OVERRIDE});payloads=[];_context4.next=12;return(0,_getVcMetrics.default)(interaction,false,true);case 12:vcMetrics=_context4.sent;_context4.next=15;return createInteractionMetricsPayload(modifiedInteraction,newInteractionId,undefined,undefined,vcMetrics);case 15:interactionMetricsPayload=_context4.sent;payloads.push(interactionMetricsPayload);return _context4.abrupt("return",payloads.filter(Boolean));case 18:case"end":return _context4.stop();}},_callee4);}));return _createExtraSearchPageInteractionPayload.apply(this,arguments);}
|
|
@@ -9,7 +9,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
10
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
11
11
|
var _coinflip = _interopRequireDefault(require("../coinflip"));
|
|
12
|
-
var
|
|
12
|
+
var _config2 = require("../config");
|
|
13
13
|
var _utils = require("../create-payload/common/utils");
|
|
14
14
|
var _getReactUfoPayloadVersion = require("../create-payload/utils/get-react-ufo-payload-version");
|
|
15
15
|
var _hiddenTiming = require("../hidden-timing");
|
|
@@ -127,7 +127,7 @@ function createPostInteractionLogPayload(_ref2) {
|
|
|
127
127
|
lastInteractionFinishVCResult = _ref2.lastInteractionFinishVCResult,
|
|
128
128
|
postInteractionFinishVCResult = _ref2.postInteractionFinishVCResult,
|
|
129
129
|
postInteractionHoldInfo = _ref2.postInteractionHoldInfo;
|
|
130
|
-
var config = (0,
|
|
130
|
+
var config = (0, _config2.getConfig)();
|
|
131
131
|
if (!config) {
|
|
132
132
|
throw Error('UFO Configuration not provided');
|
|
133
133
|
}
|
|
@@ -135,10 +135,16 @@ function createPostInteractionLogPayload(_ref2) {
|
|
|
135
135
|
return null;
|
|
136
136
|
}
|
|
137
137
|
var ufoName = (0, _utils.sanitizeUfoName)(lastInteractionFinish.ufoName);
|
|
138
|
-
var rate = (0,
|
|
138
|
+
var rate = (0, _config2.getPostInteractionRate)(ufoName, lastInteractionFinish.type);
|
|
139
139
|
if (!(0, _coinflip.default)(rate)) {
|
|
140
140
|
return null;
|
|
141
141
|
}
|
|
142
|
+
if ((0, _platformFeatureFlags.fg)('platform_ufo_disable_ufo_names_config')) {
|
|
143
|
+
var _config = (0, _config2.getConfig)();
|
|
144
|
+
if (_config !== null && _config !== void 0 && _config.disabledUfoNames && _config !== null && _config !== void 0 && _config.disabledUfoNames.includes(ufoName)) {
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
142
148
|
var pageVisibilityState = (0, _hiddenTiming.getPageVisibilityState)(lastInteractionFinish.start, lastInteractionFinish.end);
|
|
143
149
|
if (pageVisibilityState !== 'visible') {
|
|
144
150
|
return null;
|
|
@@ -161,7 +167,7 @@ function createPostInteractionLogPayload(_ref2) {
|
|
|
161
167
|
var lastInteractionFinishStart = Math.round(lastInteractionFinish.start);
|
|
162
168
|
var lastInteractionFinishEnd = Math.round(lastInteractionFinish.end);
|
|
163
169
|
var lastInteractionFinishTTAI = Math.round(lastInteractionFinish.end - lastInteractionFinish.start);
|
|
164
|
-
var mostRecentVCRevision = (_getMostRecentVCRevis = (0,
|
|
170
|
+
var mostRecentVCRevision = (_getMostRecentVCRevis = (0, _config2.getMostRecentVCRevision)(lastInteractionFinish.ufoName)) !== null && _getMostRecentVCRevis !== void 0 ? _getMostRecentVCRevis : _config2.DEFAULT_TTVC_REVISION;
|
|
165
171
|
var lastInteractionFinishVC90 = null;
|
|
166
172
|
var lastInteractionFinishVCClean = false;
|
|
167
173
|
var lastInteractionFinishVCRev = lastInteractionFinishVCResult === null || lastInteractionFinishVCResult === void 0 ? void 0 : lastInteractionFinishVCResult['ufo:vc:rev'];
|
|
@@ -41,6 +41,12 @@ async function createInteractionExtraLogPayload(interactionId, interaction, last
|
|
|
41
41
|
if (!coinflip(configRate)) {
|
|
42
42
|
return null;
|
|
43
43
|
}
|
|
44
|
+
if (fg('platform_ufo_disable_ufo_names_config')) {
|
|
45
|
+
const config = getConfig();
|
|
46
|
+
if (config !== null && config !== void 0 && config.disabledUfoNames && config !== null && config !== void 0 && config.disabledUfoNames.includes(sanitisedUfoName)) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
44
50
|
const pageVisibilityAtTTAI = getPageVisibilityUpToTTAI(interaction);
|
|
45
51
|
const isPageLoad = type === 'page_load' || type === 'transition';
|
|
46
52
|
if (!isPageLoad || minorInteractions !== undefined && minorInteractions.length > 0) {
|
|
@@ -20,8 +20,8 @@ const interactionMetricsFieldsToTrim=fg('ufo_remove_featureflags_from_trimmed_fi
|
|
|
20
20
|
const topLevelFieldsToTrim=['ufo:pageVisibilityTimeline'];const properties=payload.attributes.properties;const interactionMetrics=properties.interactionMetrics;if(interactionMetrics){for(const field of interactionMetricsFieldsToTrim){if(getPayloadSize(properties)<=MAX_PAYLOAD_SIZE){continue;}interactionMetrics[field]=undefined;properties['event:isTrimmed']=true;let trimmedFields=properties['event:trimmedFields'];if(!Array.isArray(trimmedFields)){trimmedFields=[];}trimmedFields.push(`interactionMetrics.${field}`);properties['event:trimmedFields']=trimmedFields;}}// Trim top-level properties if payload still exceeds the limit
|
|
21
21
|
for(const field of topLevelFieldsToTrim){if(getPayloadSize(properties)<=MAX_PAYLOAD_SIZE){continue;}properties[field]=undefined;properties['event:isTrimmed']=true;let trimmedFields=properties['event:trimmedFields'];if(!Array.isArray(trimmedFields)){trimmedFields=[];}trimmedFields.push(field);properties['event:trimmedFields']=trimmedFields;}// If the payload size continues to exceed the limit and interactionMetrics is already trimmed,
|
|
22
22
|
// trim VC debug data (early viewport checkpoints). PIR-30543 - AFO-5033
|
|
23
|
-
const isVCRevisionTrimEnabled=fg('ufo_vc_revision_trim_enabled');trimVcDebugData(properties,getPayloadSize(properties),MAX_PAYLOAD_SIZE,isVCRevisionTrimEnabled);return payload;}export async function createPayloads(interactionId,interaction){const ufoNameOverride=getUfoNameOverride(interaction);const modifiedInteraction={...interaction,ufoName:ufoNameOverride};const payloads=[];const isCriticalMetricsEnabled=fg('platform_ufo_critical_metrics_payload');// Calculate VC metrics once to avoid duplicate expensive calculations
|
|
23
|
+
const isVCRevisionTrimEnabled=fg('ufo_vc_revision_trim_enabled');trimVcDebugData(properties,getPayloadSize(properties),MAX_PAYLOAD_SIZE,isVCRevisionTrimEnabled);return payload;}export async function createPayloads(interactionId,interaction){const ufoNameOverride=getUfoNameOverride(interaction);const modifiedInteraction={...interaction,ufoName:ufoNameOverride};if(fg('platform_ufo_disable_ufo_names_config')){const config=getConfig();if(config!==null&&config!==void 0&&config.disabledUfoNames&&config!==null&&config!==void 0&&config.disabledUfoNames.includes(ufoNameOverride)){return[];}}const payloads=[];const isCriticalMetricsEnabled=fg('platform_ufo_critical_metrics_payload');// Calculate VC metrics once to avoid duplicate expensive calculations
|
|
24
24
|
const vcMetrics=await getVCMetrics(interaction);// typeof Promise<CriticalMetricsPayload[]>
|
|
25
|
-
const criticalMetricsPayloads=isCriticalMetricsEnabled?await createCriticalMetricsPayloads(interactionId,interaction,vcMetrics):[];payloads.push(...criticalMetricsPayloads);const criticalPayloadCount=isCriticalMetricsEnabled?criticalMetricsPayloads.length:undefined;const interactionMetricsPayload=await createInteractionMetricsPayload(modifiedInteraction,interactionId,undefined,criticalPayloadCount,vcMetrics);payloads.push(interactionMetricsPayload);return payloads.filter(Boolean);}export async function createExperimentalMetricsPayload(interactionId,interaction){const config=getConfig();if(!config){throw Error('UFO Configuration not provided');}const ufoName=sanitizeUfoName(interaction.ufoName);const rate=getExperimentalInteractionRate(ufoName,interaction.type);if(!coinflip(rate)){return null;}const pageVisibilityState=getPageVisibilityState(interaction.start,interaction.end);if(pageVisibilityState!=='visible'){return null;}const result=await createInteractionMetricsPayload(interaction,interactionId,true);return result;}export async function createExtraSearchPageInteractionPayload(interactionId,interaction){var _newEnd;const SAIN_HOLD_NAMES=['search-ai-dialog-visible-text-loading','search-ai-dialog-all-text-loading'];const NAME_OVERRIDE='search-page-ignoring-smart-answers';const SEARCH_PAGE_SMART_ANSWERS_SEGMENT_LABEL='search-page-smart-answers';const newInteractionId=`${interactionId}-ignoring-smart-answers`;// Calculate a new end time which excludes SAIN holds
|
|
25
|
+
const criticalMetricsPayloads=isCriticalMetricsEnabled?await createCriticalMetricsPayloads(interactionId,interaction,vcMetrics):[];payloads.push(...criticalMetricsPayloads);const criticalPayloadCount=isCriticalMetricsEnabled?criticalMetricsPayloads.length:undefined;const interactionMetricsPayload=await createInteractionMetricsPayload(modifiedInteraction,interactionId,undefined,criticalPayloadCount,vcMetrics);payloads.push(interactionMetricsPayload);return payloads.filter(Boolean);}export async function createExperimentalMetricsPayload(interactionId,interaction){const config=getConfig();if(!config){throw Error('UFO Configuration not provided');}const ufoName=sanitizeUfoName(interaction.ufoName);const rate=getExperimentalInteractionRate(ufoName,interaction.type);if(!coinflip(rate)){return null;}if(fg('platform_ufo_disable_ufo_names_config')){const config=getConfig();if(config!==null&&config!==void 0&&config.disabledUfoNames&&config!==null&&config!==void 0&&config.disabledUfoNames.includes(ufoName)){return null;}}const pageVisibilityState=getPageVisibilityState(interaction.start,interaction.end);if(pageVisibilityState!=='visible'){return null;}const result=await createInteractionMetricsPayload(interaction,interactionId,true);return result;}export async function createExtraSearchPageInteractionPayload(interactionId,interaction){var _newEnd;const SAIN_HOLD_NAMES=['search-ai-dialog-visible-text-loading','search-ai-dialog-all-text-loading'];const NAME_OVERRIDE='search-page-ignoring-smart-answers';const SEARCH_PAGE_SMART_ANSWERS_SEGMENT_LABEL='search-page-smart-answers';const newInteractionId=`${interactionId}-ignoring-smart-answers`;// Calculate a new end time which excludes SAIN holds
|
|
26
26
|
let newEnd;const{holdInfo,reactProfilerTimings}=interaction;const lastHold=holdInfo.at(-1);const isLastHoldSAIN=Boolean(lastHold&&SAIN_HOLD_NAMES.includes(lastHold.name));// A new end time is only calculated if the last hold is a SAIN hold
|
|
27
27
|
if(isLastHoldSAIN){let lastFilteredTime=null;const filteredReactProfilerTimings=reactProfilerTimings.filter(timing=>{if(timing.commitTime===lastFilteredTime){return false;}const isTimingSmartAnswersInSearch=timing.labelStack.some(label=>label.name===SEARCH_PAGE_SMART_ANSWERS_SEGMENT_LABEL);if(isTimingSmartAnswersInSearch){lastFilteredTime=timing.commitTime;return false;}return true;});const lastTiming=filteredReactProfilerTimings.at(-1);if(lastTiming){newEnd=lastTiming.commitTime;}}const modifiedInteraction={...interaction,end:(_newEnd=newEnd)!==null&&_newEnd!==void 0?_newEnd:interaction.end,holdInfo:[],knownSegments:[],reactProfilerTimings:[],ufoName:NAME_OVERRIDE};const payloads=[];const vcMetrics=await getVCMetrics(interaction,false,true);const interactionMetricsPayload=await createInteractionMetricsPayload(modifiedInteraction,newInteractionId,undefined,undefined,vcMetrics);payloads.push(interactionMetricsPayload);return payloads.filter(Boolean);}
|
|
@@ -126,6 +126,12 @@ function createPostInteractionLogPayload({
|
|
|
126
126
|
if (!coinflip(rate)) {
|
|
127
127
|
return null;
|
|
128
128
|
}
|
|
129
|
+
if (fg('platform_ufo_disable_ufo_names_config')) {
|
|
130
|
+
const config = getConfig();
|
|
131
|
+
if (config !== null && config !== void 0 && config.disabledUfoNames && config !== null && config !== void 0 && config.disabledUfoNames.includes(ufoName)) {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
129
135
|
const pageVisibilityState = getPageVisibilityState(lastInteractionFinish.start, lastInteractionFinish.end);
|
|
130
136
|
if (pageVisibilityState !== 'visible') {
|
|
131
137
|
return null;
|
|
@@ -30,7 +30,7 @@ function createInteractionExtraLogPayload(_x, _x2, _x3, _x4) {
|
|
|
30
30
|
function _createInteractionExtraLogPayload() {
|
|
31
31
|
_createInteractionExtraLogPayload = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(interactionId, interaction, lastInteractionFinish, lastInteractionFinishVCResult) {
|
|
32
32
|
var _getTTAI, _getMostRecentVCRevis, _lastInteractionFinis, _getTTAI2, _window$location;
|
|
33
|
-
var config, end, start, ufoName, rate, type, abortReason, routeName, previousInteractionName, isPreviousInteractionAborted, abortedByInteractionName, knownSegments, minorInteractions, sanitisedUfoName, configRate, pageVisibilityAtTTAI, isPageLoad, calculatePageVisibilityFromTheStartOfPageLoad, moreAccuratePageVisibilityAtTTAI, extraTTAI, newUFOName, finalVCMetrics, vcRevisionPayload, effectiveRevision, effectiveVCRevisionPayload, normalTTAI, lastInteractionFinishStart, lastInteractionFinishEnd, lastInteractionFinishVC90, lastInteractionFinishVCClean, lastInteractionFinishVCRev, lastInteractionFinishRevision, isThirdParty, filteredData, getDetailedInteractionMetrics, segments3p, segmentTree, payload;
|
|
33
|
+
var config, end, start, ufoName, rate, type, abortReason, routeName, previousInteractionName, isPreviousInteractionAborted, abortedByInteractionName, knownSegments, minorInteractions, sanitisedUfoName, configRate, _config, pageVisibilityAtTTAI, isPageLoad, calculatePageVisibilityFromTheStartOfPageLoad, moreAccuratePageVisibilityAtTTAI, extraTTAI, newUFOName, finalVCMetrics, vcRevisionPayload, effectiveRevision, effectiveVCRevisionPayload, normalTTAI, lastInteractionFinishStart, lastInteractionFinishEnd, lastInteractionFinishVC90, lastInteractionFinishVCClean, lastInteractionFinishVCRev, lastInteractionFinishRevision, isThirdParty, filteredData, getDetailedInteractionMetrics, segments3p, segmentTree, payload;
|
|
34
34
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
35
35
|
while (1) switch (_context.prev = _context.next) {
|
|
36
36
|
case 0:
|
|
@@ -50,21 +50,32 @@ function _createInteractionExtraLogPayload() {
|
|
|
50
50
|
}
|
|
51
51
|
return _context.abrupt("return", null);
|
|
52
52
|
case 8:
|
|
53
|
+
if (!fg('platform_ufo_disable_ufo_names_config')) {
|
|
54
|
+
_context.next = 12;
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
_config = getConfig();
|
|
58
|
+
if (!(_config !== null && _config !== void 0 && _config.disabledUfoNames && _config !== null && _config !== void 0 && _config.disabledUfoNames.includes(sanitisedUfoName))) {
|
|
59
|
+
_context.next = 12;
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
return _context.abrupt("return", null);
|
|
63
|
+
case 12:
|
|
53
64
|
pageVisibilityAtTTAI = getPageVisibilityUpToTTAI(interaction);
|
|
54
65
|
isPageLoad = type === 'page_load' || type === 'transition';
|
|
55
66
|
if (!(!isPageLoad || minorInteractions !== undefined && minorInteractions.length > 0)) {
|
|
56
|
-
_context.next =
|
|
67
|
+
_context.next = 16;
|
|
57
68
|
break;
|
|
58
69
|
}
|
|
59
70
|
return _context.abrupt("return", null);
|
|
60
|
-
case
|
|
71
|
+
case 16:
|
|
61
72
|
calculatePageVisibilityFromTheStartOfPageLoad = config.enableBetterPageVisibilityApi && isPageLoad;
|
|
62
73
|
moreAccuratePageVisibilityAtTTAI = calculatePageVisibilityFromTheStartOfPageLoad ? getMoreAccuratePageVisibilityUpToTTAI(interaction) : null;
|
|
63
74
|
extraTTAI = (_getTTAI = getTTAI(interaction)) !== null && _getTTAI !== void 0 ? _getTTAI : undefined;
|
|
64
75
|
newUFOName = sanitizeUfoName(ufoName);
|
|
65
|
-
_context.next =
|
|
76
|
+
_context.next = 22;
|
|
66
77
|
return getVCMetrics(interaction, true);
|
|
67
|
-
case
|
|
78
|
+
case 22:
|
|
68
79
|
finalVCMetrics = _context.sent;
|
|
69
80
|
// Check if VC is clean and has valid metric
|
|
70
81
|
vcRevisionPayload = finalVCMetrics === null || finalVCMetrics === void 0 ? void 0 : finalVCMetrics['ufo:vc:rev'];
|
|
@@ -74,24 +85,24 @@ function _createInteractionExtraLogPayload() {
|
|
|
74
85
|
return revision === effectiveRevision;
|
|
75
86
|
});
|
|
76
87
|
if (!(!(effectiveVCRevisionPayload !== null && effectiveVCRevisionPayload !== void 0 && effectiveVCRevisionPayload.clean) || (effectiveVCRevisionPayload === null || effectiveVCRevisionPayload === void 0 ? void 0 : effectiveVCRevisionPayload['metric:vc90']) === undefined || typeof (effectiveVCRevisionPayload === null || effectiveVCRevisionPayload === void 0 ? void 0 : effectiveVCRevisionPayload['metric:vc90']) !== 'number' || extraTTAI === undefined || typeof extraTTAI !== 'number' || interaction.errors.length > 0)) {
|
|
77
|
-
_context.next =
|
|
88
|
+
_context.next = 28;
|
|
78
89
|
break;
|
|
79
90
|
}
|
|
80
91
|
return _context.abrupt("return", null);
|
|
81
|
-
case
|
|
92
|
+
case 28:
|
|
82
93
|
if (!(!lastInteractionFinish || lastInteractionFinish !== null && lastInteractionFinish !== void 0 && lastInteractionFinish.abortReason || lastInteractionFinish !== null && lastInteractionFinish !== void 0 && (_lastInteractionFinis = lastInteractionFinish.errors) !== null && _lastInteractionFinis !== void 0 && _lastInteractionFinis.length)) {
|
|
83
|
-
_context.next =
|
|
94
|
+
_context.next = 30;
|
|
84
95
|
break;
|
|
85
96
|
}
|
|
86
97
|
return _context.abrupt("return", null);
|
|
87
|
-
case
|
|
98
|
+
case 30:
|
|
88
99
|
normalTTAI = (_getTTAI2 = getTTAI(lastInteractionFinish)) !== null && _getTTAI2 !== void 0 ? _getTTAI2 : undefined;
|
|
89
100
|
lastInteractionFinishStart = typeof lastInteractionFinish.start === 'number' ? Math.round(lastInteractionFinish.start) : undefined;
|
|
90
101
|
lastInteractionFinishEnd = typeof lastInteractionFinish.end === 'number' ? Math.round(lastInteractionFinish.end) : undefined;
|
|
91
102
|
lastInteractionFinishVC90 = null;
|
|
92
103
|
lastInteractionFinishVCClean = false;
|
|
93
104
|
if (!lastInteractionFinishVCResult) {
|
|
94
|
-
_context.next =
|
|
105
|
+
_context.next = 46;
|
|
95
106
|
break;
|
|
96
107
|
}
|
|
97
108
|
lastInteractionFinishVCRev = lastInteractionFinishVCResult['ufo:vc:rev'];
|
|
@@ -100,25 +111,25 @@ function _createInteractionExtraLogPayload() {
|
|
|
100
111
|
return revision === effectiveRevision;
|
|
101
112
|
});
|
|
102
113
|
if (!(lastInteractionFinishRevision !== null && lastInteractionFinishRevision !== void 0 && lastInteractionFinishRevision.clean)) {
|
|
103
|
-
_context.next =
|
|
114
|
+
_context.next = 43;
|
|
104
115
|
break;
|
|
105
116
|
}
|
|
106
117
|
lastInteractionFinishVCClean = true;
|
|
107
118
|
lastInteractionFinishVC90 = lastInteractionFinishRevision['metric:vc90'];
|
|
108
|
-
_context.next =
|
|
119
|
+
_context.next = 44;
|
|
109
120
|
break;
|
|
110
|
-
case
|
|
121
|
+
case 43:
|
|
111
122
|
return _context.abrupt("return", null);
|
|
112
|
-
case
|
|
113
|
-
_context.next =
|
|
123
|
+
case 44:
|
|
124
|
+
_context.next = 47;
|
|
114
125
|
break;
|
|
115
|
-
case
|
|
126
|
+
case 46:
|
|
116
127
|
if (normalTTAI !== undefined && typeof normalTTAI === 'number' && normalTTAI === extraTTAI) {
|
|
117
128
|
// Because TTAI is equal between with and without 3p, we can assume VC90 is also equal
|
|
118
129
|
lastInteractionFinishVC90 = effectiveVCRevisionPayload === null || effectiveVCRevisionPayload === void 0 ? void 0 : effectiveVCRevisionPayload['metric:vc90'];
|
|
119
130
|
lastInteractionFinishVCClean = effectiveVCRevisionPayload === null || effectiveVCRevisionPayload === void 0 ? void 0 : effectiveVCRevisionPayload.clean;
|
|
120
131
|
}
|
|
121
|
-
case
|
|
132
|
+
case 47:
|
|
122
133
|
// Helper function to check if labelStack contains third-party type
|
|
123
134
|
isThirdParty = function isThirdParty(labelStack) {
|
|
124
135
|
var _labelStack$some;
|
|
@@ -237,7 +248,7 @@ function _createInteractionExtraLogPayload() {
|
|
|
237
248
|
};
|
|
238
249
|
payload.attributes.properties['event:sizeInKb'] = getPayloadSize(payload.attributes.properties);
|
|
239
250
|
return _context.abrupt("return", payload);
|
|
240
|
-
case
|
|
251
|
+
case 56:
|
|
241
252
|
case "end":
|
|
242
253
|
return _context.stop();
|
|
243
254
|
}
|
|
@@ -18,7 +18,7 @@ apdex:optimizeApdex(interaction.apdex,getReactUFOPayloadVersion(interaction.type
|
|
|
18
18
|
interactionMetricsFieldsToTrim=fg('ufo_remove_featureflags_from_trimmed_fields')?['requestInfo','resourceTimings']:['requestInfo','featureFlags','resourceTimings'];// Top-level properties that can be trimmed if payload exceeds size limit
|
|
19
19
|
topLevelFieldsToTrim=['ufo:pageVisibilityTimeline'];properties=payload.attributes.properties;interactionMetrics=properties.interactionMetrics;if(!interactionMetrics){_context.next=75;break;}_iterator=_createForOfIteratorHelper(interactionMetricsFieldsToTrim);_context.prev=53;_iterator.s();case 55:if((_step=_iterator.n()).done){_context.next=67;break;}field=_step.value;if(!(getPayloadSize(properties)<=MAX_PAYLOAD_SIZE)){_context.next=59;break;}return _context.abrupt("continue",65);case 59:interactionMetrics[field]=undefined;properties['event:isTrimmed']=true;trimmedFields=properties['event:trimmedFields'];if(!Array.isArray(trimmedFields)){trimmedFields=[];}trimmedFields.push("interactionMetrics.".concat(field));properties['event:trimmedFields']=trimmedFields;case 65:_context.next=55;break;case 67:_context.next=72;break;case 69:_context.prev=69;_context.t7=_context["catch"](53);_iterator.e(_context.t7);case 72:_context.prev=72;_iterator.f();return _context.finish(72);case 75:_i2=0,_topLevelFieldsToTrim=topLevelFieldsToTrim;case 76:if(!(_i2<_topLevelFieldsToTrim.length)){_context.next=89;break;}_field=_topLevelFieldsToTrim[_i2];if(!(getPayloadSize(properties)<=MAX_PAYLOAD_SIZE)){_context.next=80;break;}return _context.abrupt("continue",86);case 80:properties[_field]=undefined;properties['event:isTrimmed']=true;_trimmedFields=properties['event:trimmedFields'];if(!Array.isArray(_trimmedFields)){_trimmedFields=[];}_trimmedFields.push(_field);properties['event:trimmedFields']=_trimmedFields;case 86:_i2++;_context.next=76;break;case 89:// If the payload size continues to exceed the limit and interactionMetrics is already trimmed,
|
|
20
20
|
// trim VC debug data (early viewport checkpoints). PIR-30543 - AFO-5033
|
|
21
|
-
isVCRevisionTrimEnabled=fg('ufo_vc_revision_trim_enabled');trimVcDebugData(properties,getPayloadSize(properties),MAX_PAYLOAD_SIZE,isVCRevisionTrimEnabled);return _context.abrupt("return",payload);case 92:case"end":return _context.stop();}},_callee,null,[[53,69,72,75]]);}));return _createInteractionMetricsPayload.apply(this,arguments);}export function createPayloads(_x6,_x7){return _createPayloads.apply(this,arguments);}function _createPayloads(){_createPayloads=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(interactionId,interaction){var ufoNameOverride,modifiedInteraction,payloads,isCriticalMetricsEnabled,vcMetrics,criticalMetricsPayloads,criticalPayloadCount,interactionMetricsPayload;return _regeneratorRuntime.wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:ufoNameOverride=getUfoNameOverride(interaction);modifiedInteraction=_objectSpread(_objectSpread({},interaction),{},{ufoName:ufoNameOverride});payloads=[];isCriticalMetricsEnabled=fg('platform_ufo_critical_metrics_payload');// Calculate VC metrics once to avoid duplicate expensive calculations
|
|
22
|
-
_context2.next=
|
|
21
|
+
isVCRevisionTrimEnabled=fg('ufo_vc_revision_trim_enabled');trimVcDebugData(properties,getPayloadSize(properties),MAX_PAYLOAD_SIZE,isVCRevisionTrimEnabled);return _context.abrupt("return",payload);case 92:case"end":return _context.stop();}},_callee,null,[[53,69,72,75]]);}));return _createInteractionMetricsPayload.apply(this,arguments);}export function createPayloads(_x6,_x7){return _createPayloads.apply(this,arguments);}function _createPayloads(){_createPayloads=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(interactionId,interaction){var ufoNameOverride,modifiedInteraction,config,payloads,isCriticalMetricsEnabled,vcMetrics,criticalMetricsPayloads,criticalPayloadCount,interactionMetricsPayload;return _regeneratorRuntime.wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:ufoNameOverride=getUfoNameOverride(interaction);modifiedInteraction=_objectSpread(_objectSpread({},interaction),{},{ufoName:ufoNameOverride});if(!fg('platform_ufo_disable_ufo_names_config')){_context2.next=6;break;}config=getConfig();if(!(config!==null&&config!==void 0&&config.disabledUfoNames&&config!==null&&config!==void 0&&config.disabledUfoNames.includes(ufoNameOverride))){_context2.next=6;break;}return _context2.abrupt("return",[]);case 6:payloads=[];isCriticalMetricsEnabled=fg('platform_ufo_critical_metrics_payload');// Calculate VC metrics once to avoid duplicate expensive calculations
|
|
22
|
+
_context2.next=10;return getVCMetrics(interaction);case 10:vcMetrics=_context2.sent;if(!isCriticalMetricsEnabled){_context2.next=17;break;}_context2.next=14;return createCriticalMetricsPayloads(interactionId,interaction,vcMetrics);case 14:_context2.t0=_context2.sent;_context2.next=18;break;case 17:_context2.t0=[];case 18:criticalMetricsPayloads=_context2.t0;payloads.push.apply(payloads,_toConsumableArray(criticalMetricsPayloads));criticalPayloadCount=isCriticalMetricsEnabled?criticalMetricsPayloads.length:undefined;_context2.next=23;return createInteractionMetricsPayload(modifiedInteraction,interactionId,undefined,criticalPayloadCount,vcMetrics);case 23:interactionMetricsPayload=_context2.sent;payloads.push(interactionMetricsPayload);return _context2.abrupt("return",payloads.filter(Boolean));case 26:case"end":return _context2.stop();}},_callee2);}));return _createPayloads.apply(this,arguments);}export function createExperimentalMetricsPayload(_x8,_x9){return _createExperimentalMetricsPayload.apply(this,arguments);}function _createExperimentalMetricsPayload(){_createExperimentalMetricsPayload=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(interactionId,interaction){var config,ufoName,rate,_config,pageVisibilityState,result;return _regeneratorRuntime.wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:config=getConfig();if(config){_context3.next=3;break;}throw Error('UFO Configuration not provided');case 3:ufoName=sanitizeUfoName(interaction.ufoName);rate=getExperimentalInteractionRate(ufoName,interaction.type);if(coinflip(rate)){_context3.next=7;break;}return _context3.abrupt("return",null);case 7:if(!fg('platform_ufo_disable_ufo_names_config')){_context3.next=11;break;}_config=getConfig();if(!(_config!==null&&_config!==void 0&&_config.disabledUfoNames&&_config!==null&&_config!==void 0&&_config.disabledUfoNames.includes(ufoName))){_context3.next=11;break;}return _context3.abrupt("return",null);case 11:pageVisibilityState=getPageVisibilityState(interaction.start,interaction.end);if(!(pageVisibilityState!=='visible')){_context3.next=14;break;}return _context3.abrupt("return",null);case 14:_context3.next=16;return createInteractionMetricsPayload(interaction,interactionId,true);case 16:result=_context3.sent;return _context3.abrupt("return",result);case 18:case"end":return _context3.stop();}},_callee3);}));return _createExperimentalMetricsPayload.apply(this,arguments);}export function createExtraSearchPageInteractionPayload(_x0,_x1){return _createExtraSearchPageInteractionPayload.apply(this,arguments);}function _createExtraSearchPageInteractionPayload(){_createExtraSearchPageInteractionPayload=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(interactionId,interaction){var SAIN_HOLD_NAMES,NAME_OVERRIDE,SEARCH_PAGE_SMART_ANSWERS_SEGMENT_LABEL,newInteractionId,newEnd,holdInfo,reactProfilerTimings,lastHold,isLastHoldSAIN,lastFilteredTime,filteredReactProfilerTimings,lastTiming,modifiedInteraction,payloads,vcMetrics,interactionMetricsPayload;return _regeneratorRuntime.wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:SAIN_HOLD_NAMES=['search-ai-dialog-visible-text-loading','search-ai-dialog-all-text-loading'];NAME_OVERRIDE='search-page-ignoring-smart-answers';SEARCH_PAGE_SMART_ANSWERS_SEGMENT_LABEL='search-page-smart-answers';newInteractionId="".concat(interactionId,"-ignoring-smart-answers");// Calculate a new end time which excludes SAIN holds
|
|
23
23
|
holdInfo=interaction.holdInfo,reactProfilerTimings=interaction.reactProfilerTimings;lastHold=holdInfo.at(-1);isLastHoldSAIN=Boolean(lastHold&&SAIN_HOLD_NAMES.includes(lastHold.name));// A new end time is only calculated if the last hold is a SAIN hold
|
|
24
24
|
if(isLastHoldSAIN){lastFilteredTime=null;filteredReactProfilerTimings=reactProfilerTimings.filter(function(timing){if(timing.commitTime===lastFilteredTime){return false;}var isTimingSmartAnswersInSearch=timing.labelStack.some(function(label){return label.name===SEARCH_PAGE_SMART_ANSWERS_SEGMENT_LABEL;});if(isTimingSmartAnswersInSearch){lastFilteredTime=timing.commitTime;return false;}return true;});lastTiming=filteredReactProfilerTimings.at(-1);if(lastTiming){newEnd=lastTiming.commitTime;}}modifiedInteraction=_objectSpread(_objectSpread({},interaction),{},{end:newEnd!==null&&newEnd!==void 0?newEnd:interaction.end,holdInfo:[],knownSegments:[],reactProfilerTimings:[],ufoName:NAME_OVERRIDE});payloads=[];_context4.next=12;return getVCMetrics(interaction,false,true);case 12:vcMetrics=_context4.sent;_context4.next=15;return createInteractionMetricsPayload(modifiedInteraction,newInteractionId,undefined,undefined,vcMetrics);case 15:interactionMetricsPayload=_context4.sent;payloads.push(interactionMetricsPayload);return _context4.abrupt("return",payloads.filter(Boolean));case 18:case"end":return _context4.stop();}},_callee4);}));return _createExtraSearchPageInteractionPayload.apply(this,arguments);}
|
|
@@ -132,6 +132,12 @@ function createPostInteractionLogPayload(_ref2) {
|
|
|
132
132
|
if (!coinflip(rate)) {
|
|
133
133
|
return null;
|
|
134
134
|
}
|
|
135
|
+
if (fg('platform_ufo_disable_ufo_names_config')) {
|
|
136
|
+
var _config = getConfig();
|
|
137
|
+
if (_config !== null && _config !== void 0 && _config.disabledUfoNames && _config !== null && _config !== void 0 && _config.disabledUfoNames.includes(ufoName)) {
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
135
141
|
var pageVisibilityState = getPageVisibilityState(lastInteractionFinish.start, lastInteractionFinish.end);
|
|
136
142
|
if (pageVisibilityState !== 'visible') {
|
|
137
143
|
return null;
|
|
@@ -77,6 +77,10 @@ export type Config = {
|
|
|
77
77
|
readonly test?: string;
|
|
78
78
|
readonly rate?: number;
|
|
79
79
|
}[];
|
|
80
|
+
/**
|
|
81
|
+
* Should only used in emergency cases to stop sending events by ufoNames
|
|
82
|
+
*/
|
|
83
|
+
readonly disabledUfoNames?: readonly string[];
|
|
80
84
|
readonly killswitch?: readonly string[];
|
|
81
85
|
/**
|
|
82
86
|
* @private
|
|
@@ -77,6 +77,10 @@ export type Config = {
|
|
|
77
77
|
readonly test?: string;
|
|
78
78
|
readonly rate?: number;
|
|
79
79
|
}[];
|
|
80
|
+
/**
|
|
81
|
+
* Should only used in emergency cases to stop sending events by ufoNames
|
|
82
|
+
*/
|
|
83
|
+
readonly disabledUfoNames?: readonly string[];
|
|
80
84
|
readonly killswitch?: readonly string[];
|
|
81
85
|
/**
|
|
82
86
|
* @private
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/react-ufo",
|
|
3
|
-
"version": "5.4.
|
|
3
|
+
"version": "5.4.3",
|
|
4
4
|
"description": "Parts of React UFO that are publicly available",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@af/integration-testing": "workspace:^",
|
|
46
|
-
"@atlassian/a11y-jest-testing": "^0.
|
|
46
|
+
"@atlassian/a11y-jest-testing": "^0.11.0",
|
|
47
47
|
"@atlassian/feature-flags-test-utils": "^1.0.0",
|
|
48
48
|
"@testing-library/react": "^16.3.0",
|
|
49
49
|
"@types/is-ci": "^3.0.0",
|
|
@@ -214,6 +214,9 @@
|
|
|
214
214
|
},
|
|
215
215
|
"platform_ufo_reenable_3p_tracking": {
|
|
216
216
|
"type": "boolean"
|
|
217
|
+
},
|
|
218
|
+
"platform_ufo_disable_ufo_names_config": {
|
|
219
|
+
"type": "boolean"
|
|
217
220
|
}
|
|
218
221
|
}
|
|
219
222
|
}
|