@atlaskit/react-ufo 4.6.2 → 4.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/dist/cjs/create-interaction-extra-metrics-payload/index.js +82 -15
- package/dist/cjs/create-payload/index.js +26 -218
- package/dist/cjs/create-payload/utils/get-more-accurate-page-visibility-up-to-ttai.js +20 -0
- package/dist/cjs/create-payload/utils/get-visibility-state-from-performance.js +35 -0
- package/dist/cjs/create-payload/utils/optimize-apdex.js +25 -0
- package/dist/cjs/create-payload/utils/optimize-custom-timings.js +22 -0
- package/dist/cjs/create-payload/utils/optimize-hold-info.js +41 -0
- package/dist/cjs/create-payload/utils/optimize-marks.js +24 -0
- package/dist/cjs/create-payload/utils/optimize-react-profiler-timings.js +53 -0
- package/dist/cjs/create-payload/utils/optimize-request-info.js +32 -0
- package/dist/cjs/create-payload/utils/optimize-spans.js +30 -0
- package/dist/cjs/interaction-metrics-init/index.js +1 -1
- package/dist/cjs/vc/vc-observer-new/metric-calculator/fy25_03/index.js +1 -1
- package/dist/es2019/create-interaction-extra-metrics-payload/index.js +62 -9
- package/dist/es2019/create-payload/index.js +10 -205
- package/dist/es2019/create-payload/utils/get-more-accurate-page-visibility-up-to-ttai.js +13 -0
- package/dist/es2019/create-payload/utils/get-visibility-state-from-performance.js +28 -0
- package/dist/es2019/create-payload/utils/optimize-apdex.js +14 -0
- package/dist/es2019/create-payload/utils/optimize-custom-timings.js +16 -0
- package/dist/es2019/create-payload/utils/optimize-hold-info.js +35 -0
- package/dist/es2019/create-payload/utils/optimize-marks.js +12 -0
- package/dist/es2019/create-payload/utils/optimize-react-profiler-timings.js +46 -0
- package/dist/es2019/create-payload/utils/optimize-request-info.js +26 -0
- package/dist/es2019/create-payload/utils/optimize-spans.js +24 -0
- package/dist/es2019/interaction-metrics-init/index.js +1 -1
- package/dist/es2019/vc/vc-observer-new/metric-calculator/fy25_03/index.js +1 -1
- package/dist/esm/create-interaction-extra-metrics-payload/index.js +83 -16
- package/dist/esm/create-payload/index.js +18 -208
- package/dist/esm/create-payload/utils/get-more-accurate-page-visibility-up-to-ttai.js +13 -0
- package/dist/esm/create-payload/utils/get-visibility-state-from-performance.js +29 -0
- package/dist/esm/create-payload/utils/optimize-apdex.js +18 -0
- package/dist/esm/create-payload/utils/optimize-custom-timings.js +16 -0
- package/dist/esm/create-payload/utils/optimize-hold-info.js +34 -0
- package/dist/esm/create-payload/utils/optimize-marks.js +17 -0
- package/dist/esm/create-payload/utils/optimize-react-profiler-timings.js +46 -0
- package/dist/esm/create-payload/utils/optimize-request-info.js +25 -0
- package/dist/esm/create-payload/utils/optimize-spans.js +23 -0
- package/dist/esm/interaction-metrics-init/index.js +1 -1
- package/dist/esm/vc/vc-observer-new/metric-calculator/fy25_03/index.js +1 -1
- package/dist/types/create-interaction-extra-metrics-payload/index.d.ts +56 -0
- package/dist/types/create-payload/index.d.ts +0 -3
- package/dist/types/create-payload/utils/get-more-accurate-page-visibility-up-to-ttai.d.ts +2 -0
- package/dist/types/create-payload/utils/get-visibility-state-from-performance.d.ts +1 -0
- package/dist/types/create-payload/utils/optimize-apdex.d.ts +12 -0
- package/dist/types/create-payload/utils/optimize-custom-timings.d.ts +7 -0
- package/dist/types/create-payload/utils/optimize-hold-info.d.ts +3 -0
- package/dist/types/create-payload/utils/optimize-marks.d.ts +12 -0
- package/dist/types/create-payload/utils/optimize-react-profiler-timings.d.ts +3 -0
- package/dist/types/create-payload/utils/optimize-request-info.d.ts +8 -0
- package/dist/types/create-payload/utils/optimize-spans.d.ts +9 -0
- package/dist/types-ts4.5/create-interaction-extra-metrics-payload/index.d.ts +56 -0
- package/dist/types-ts4.5/create-payload/index.d.ts +0 -3
- package/dist/types-ts4.5/create-payload/utils/get-more-accurate-page-visibility-up-to-ttai.d.ts +2 -0
- package/dist/types-ts4.5/create-payload/utils/get-visibility-state-from-performance.d.ts +1 -0
- package/dist/types-ts4.5/create-payload/utils/optimize-apdex.d.ts +12 -0
- package/dist/types-ts4.5/create-payload/utils/optimize-custom-timings.d.ts +7 -0
- package/dist/types-ts4.5/create-payload/utils/optimize-hold-info.d.ts +3 -0
- package/dist/types-ts4.5/create-payload/utils/optimize-marks.d.ts +12 -0
- package/dist/types-ts4.5/create-payload/utils/optimize-react-profiler-timings.d.ts +3 -0
- package/dist/types-ts4.5/create-payload/utils/optimize-request-info.d.ts +8 -0
- package/dist/types-ts4.5/create-payload/utils/optimize-spans.d.ts +9 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @atlaskit/ufo-interaction-ignore
|
|
2
2
|
|
|
3
|
+
## 4.7.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`8f8b18e77c187`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/8f8b18e77c187) -
|
|
8
|
+
Add more timings info into interaction-extra-metrics
|
|
9
|
+
|
|
10
|
+
## 4.7.0
|
|
11
|
+
|
|
12
|
+
### Minor Changes
|
|
13
|
+
|
|
14
|
+
- [`dbde6617644d6`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/dbde6617644d6) -
|
|
15
|
+
[NO-ISSUE] Exclude contenteditable, data-has-collab-initialised, and translate attributes from VC
|
|
16
|
+
calculation
|
|
17
|
+
|
|
3
18
|
## 4.6.2
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
|
@@ -7,17 +7,28 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
13
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
12
14
|
var _coinflip = _interopRequireDefault(require("../coinflip"));
|
|
13
15
|
var _config = require("../config");
|
|
14
|
-
var _createPayload = require("../create-payload");
|
|
15
16
|
var _utils = require("../create-payload/common/utils");
|
|
17
|
+
var _getMoreAccuratePageVisibilityUpToTtai = require("../create-payload/utils/get-more-accurate-page-visibility-up-to-ttai");
|
|
16
18
|
var _getPageVisibilityUpToTtai = _interopRequireDefault(require("../create-payload/utils/get-page-visibility-up-to-ttai"));
|
|
17
19
|
var _getPayloadSize = _interopRequireDefault(require("../create-payload/utils/get-payload-size"));
|
|
18
20
|
var _getReactUfoPayloadVersion = require("../create-payload/utils/get-react-ufo-payload-version");
|
|
19
21
|
var _getTtai = _interopRequireDefault(require("../create-payload/utils/get-ttai"));
|
|
20
22
|
var _getVcMetrics = _interopRequireDefault(require("../create-payload/utils/get-vc-metrics"));
|
|
23
|
+
var _optimizeApdex = require("../create-payload/utils/optimize-apdex");
|
|
24
|
+
var _optimizeCustomTimings = require("../create-payload/utils/optimize-custom-timings");
|
|
25
|
+
var _optimizeHoldInfo = require("../create-payload/utils/optimize-hold-info");
|
|
26
|
+
var _optimizeMarks = require("../create-payload/utils/optimize-marks");
|
|
27
|
+
var _optimizeReactProfilerTimings = require("../create-payload/utils/optimize-react-profiler-timings");
|
|
28
|
+
var _optimizeRequestInfo = require("../create-payload/utils/optimize-request-info");
|
|
29
|
+
var _optimizeSpans = require("../create-payload/utils/optimize-spans");
|
|
30
|
+
var _interactionMetrics = require("../interaction-metrics");
|
|
31
|
+
var _excluded = ["labelStack"];
|
|
21
32
|
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; }
|
|
22
33
|
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; }
|
|
23
34
|
function createInteractionExtraLogPayload(_x, _x2) {
|
|
@@ -25,8 +36,8 @@ function createInteractionExtraLogPayload(_x, _x2) {
|
|
|
25
36
|
}
|
|
26
37
|
function _createInteractionExtraLogPayload() {
|
|
27
38
|
_createInteractionExtraLogPayload = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(interactionId, interaction) {
|
|
28
|
-
var _getTTAI,
|
|
29
|
-
var config, end, start, ufoName, rate, type, abortReason, routeName, previousInteractionName, isPreviousInteractionAborted, abortedByInteractionName, knownSegments, sanitisedUfoName, configRate, pageVisibilityAtTTAI, isPageLoad, calculatePageVisibilityFromTheStartOfPageLoad, moreAccuratePageVisibilityAtTTAI, extraTTAI, newUFOName, finalVCMetrics,
|
|
39
|
+
var _getTTAI, _getMostRecentVCRevis, _window$location;
|
|
40
|
+
var config, end, start, ufoName, rate, type, abortReason, routeName, previousInteractionName, isPreviousInteractionAborted, abortedByInteractionName, knownSegments, sanitisedUfoName, configRate, pageVisibilityAtTTAI, isPageLoad, calculatePageVisibilityFromTheStartOfPageLoad, moreAccuratePageVisibilityAtTTAI, extraTTAI, newUFOName, mostRecentVCRevision, finalVCMetrics, isThirdParty, filteredData, getDetailedInteractionMetrics, segments3p, segmentTree, payload;
|
|
30
41
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
31
42
|
while (1) switch (_context.prev = _context.next) {
|
|
32
43
|
case 0:
|
|
@@ -55,19 +66,71 @@ function _createInteractionExtraLogPayload() {
|
|
|
55
66
|
return _context.abrupt("return", null);
|
|
56
67
|
case 12:
|
|
57
68
|
calculatePageVisibilityFromTheStartOfPageLoad = config.enableBetterPageVisibilityApi && isPageLoad;
|
|
58
|
-
moreAccuratePageVisibilityAtTTAI = calculatePageVisibilityFromTheStartOfPageLoad ? (0,
|
|
69
|
+
moreAccuratePageVisibilityAtTTAI = calculatePageVisibilityFromTheStartOfPageLoad ? (0, _getMoreAccuratePageVisibilityUpToTtai.getMoreAccuratePageVisibilityUpToTTAI)(interaction) : null;
|
|
59
70
|
extraTTAI = (_getTTAI = (0, _getTtai.default)(interaction)) !== null && _getTTAI !== void 0 ? _getTTAI : undefined;
|
|
60
71
|
newUFOName = (0, _utils.sanitizeUfoName)(ufoName);
|
|
61
|
-
|
|
72
|
+
mostRecentVCRevision = (_getMostRecentVCRevis = (0, _config.getMostRecentVCRevision)(newUFOName)) !== null && _getMostRecentVCRevis !== void 0 ? _getMostRecentVCRevis : _config.DEFAULT_TTVC_REVISION;
|
|
73
|
+
_context.next = 19;
|
|
62
74
|
return (0, _getVcMetrics.default)(interaction, true);
|
|
63
|
-
case
|
|
75
|
+
case 19:
|
|
64
76
|
finalVCMetrics = _context.sent;
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
77
|
+
// Helper function to check if labelStack contains third-party type
|
|
78
|
+
isThirdParty = function isThirdParty(labelStack) {
|
|
79
|
+
var _labelStack$some;
|
|
80
|
+
return (_labelStack$some = labelStack === null || labelStack === void 0 ? void 0 : labelStack.some(function (entry) {
|
|
68
81
|
return 'type' in entry && entry.type === 'third-party';
|
|
69
|
-
});
|
|
70
|
-
}
|
|
82
|
+
})) !== null && _labelStack$some !== void 0 ? _labelStack$some : false;
|
|
83
|
+
}; // Pre-filter 3p data
|
|
84
|
+
filteredData = {
|
|
85
|
+
errors: interaction.errors.filter(function (error) {
|
|
86
|
+
return isThirdParty(error.labelStack);
|
|
87
|
+
}),
|
|
88
|
+
spans: [].concat((0, _toConsumableArray2.default)(interaction.spans), (0, _toConsumableArray2.default)(_interactionMetrics.interactionSpans)).filter(function (span) {
|
|
89
|
+
return isThirdParty(span.labelStack);
|
|
90
|
+
}),
|
|
91
|
+
requestInfo: interaction.requestInfo.filter(function (req) {
|
|
92
|
+
return isThirdParty(req.labelStack);
|
|
93
|
+
}),
|
|
94
|
+
customTimings: interaction.customTimings.filter(function (timing) {
|
|
95
|
+
return isThirdParty(timing.labelStack);
|
|
96
|
+
}),
|
|
97
|
+
apdex: interaction.apdex.filter(function (apdex) {
|
|
98
|
+
return isThirdParty(apdex.labelStack);
|
|
99
|
+
}),
|
|
100
|
+
reactProfilerTimings: interaction.reactProfilerTimings.filter(function (timing) {
|
|
101
|
+
return isThirdParty(timing.labelStack);
|
|
102
|
+
}),
|
|
103
|
+
customData: interaction.customData.filter(function (data) {
|
|
104
|
+
return isThirdParty(data.labelStack);
|
|
105
|
+
}),
|
|
106
|
+
segments: knownSegments.filter(function (segment) {
|
|
107
|
+
return isThirdParty(segment.labelStack);
|
|
108
|
+
}),
|
|
109
|
+
marks: interaction.marks.filter(function (mark) {
|
|
110
|
+
return isThirdParty(mark.labelStack);
|
|
111
|
+
})
|
|
112
|
+
}; // Clear atlaskit spans after filtering
|
|
113
|
+
_interactionMetrics.interactionSpans.length = 0;
|
|
114
|
+
|
|
115
|
+
// Detailed payload
|
|
116
|
+
getDetailedInteractionMetrics = function getDetailedInteractionMetrics() {
|
|
117
|
+
var _interaction$hold3pIn;
|
|
118
|
+
return {
|
|
119
|
+
errors: filteredData.errors.map(function (_ref) {
|
|
120
|
+
var labelStack = _ref.labelStack,
|
|
121
|
+
others = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
122
|
+
return _objectSpread(_objectSpread({}, others), {}, {
|
|
123
|
+
labelStack: labelStack && (0, _utils.optimizeLabelStack)(labelStack, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type))
|
|
124
|
+
});
|
|
125
|
+
}),
|
|
126
|
+
holdActive: interaction.hold3pActive ? (0, _toConsumableArray2.default)(interaction.hold3pActive.values()) : [],
|
|
127
|
+
holdInfo: (0, _optimizeHoldInfo.optimizeHoldInfo)((_interaction$hold3pIn = interaction.hold3pInfo) !== null && _interaction$hold3pIn !== void 0 ? _interaction$hold3pIn : [], start, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
|
|
128
|
+
spans: (0, _optimizeSpans.optimizeSpans)(filteredData.spans, start, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
|
|
129
|
+
requestInfo: (0, _optimizeRequestInfo.optimizeRequestInfo)(filteredData.requestInfo, start, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
|
|
130
|
+
customTimings: (0, _optimizeCustomTimings.optimizeCustomTimings)(filteredData.customTimings, start)
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
segments3p = !(0, _platformFeatureFlags.fg)('platform_ufo_remove_deprecated_config_fields') && config.killswitchNestedSegments ? [] : filteredData.segments;
|
|
71
134
|
segmentTree = (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type) === '2.0.0' ? (0, _utils.buildSegmentTree)(segments3p.map(function (segment) {
|
|
72
135
|
return segment.labelStack;
|
|
73
136
|
})) : {};
|
|
@@ -110,15 +173,19 @@ function _createInteractionExtraLogPayload() {
|
|
|
110
173
|
start: Math.round(start),
|
|
111
174
|
'metric:ttai:3p': extraTTAI
|
|
112
175
|
}, finalVCMetrics), {}, {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
176
|
+
segments: (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type) === '2.0.0' ? segmentTree : (0, _utils.getOldSegmentsLabelStack)(segments3p, interaction.type),
|
|
177
|
+
marks: (0, _optimizeMarks.optimizeMarks)(filteredData.marks, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
|
|
178
|
+
apdex: (0, _optimizeApdex.optimizeApdex)(filteredData.apdex, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
|
|
179
|
+
reactProfilerTimings: (0, _optimizeReactProfilerTimings.optimizeReactProfilerTimings)(filteredData.reactProfilerTimings, start, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
|
|
180
|
+
customData: filteredData.customData
|
|
181
|
+
}, getDetailedInteractionMetrics()),
|
|
182
|
+
'vc:effective:revision': mostRecentVCRevision
|
|
116
183
|
}
|
|
117
184
|
}
|
|
118
185
|
};
|
|
119
186
|
payload.attributes.properties['event:sizeInKb'] = (0, _getPayloadSize.default)(payload.attributes.properties);
|
|
120
187
|
return _context.abrupt("return", payload);
|
|
121
|
-
case
|
|
188
|
+
case 29:
|
|
122
189
|
case "end":
|
|
123
190
|
return _context.stop();
|
|
124
191
|
}
|
|
@@ -7,11 +7,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.createExperimentalMetricsPayload = createExperimentalMetricsPayload;
|
|
9
9
|
exports.createPayloads = createPayloads;
|
|
10
|
-
exports.getMoreAccuratePageVisibilityUpToTTAI = getMoreAccuratePageVisibilityUpToTTAI;
|
|
11
|
-
exports.optimizeHoldInfo = optimizeHoldInfo;
|
|
12
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
14
11
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
13
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
16
14
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
@@ -38,6 +36,7 @@ var _criticalMetricsPayload = require("./critical-metrics-payload");
|
|
|
38
36
|
var _addPerformanceMeasures = require("./utils/add-performance-measures");
|
|
39
37
|
var _getBrowserMetadata = require("./utils/get-browser-metadata");
|
|
40
38
|
var _getInteractionStatus = _interopRequireDefault(require("./utils/get-interaction-status"));
|
|
39
|
+
var _getMoreAccuratePageVisibilityUpToTtai = require("./utils/get-more-accurate-page-visibility-up-to-ttai");
|
|
41
40
|
var _getNavigationMetrics = require("./utils/get-navigation-metrics");
|
|
42
41
|
var _getPageVisibilityUpToTtai = _interopRequireDefault(require("./utils/get-page-visibility-up-to-ttai"));
|
|
43
42
|
var _getPaintMetrics = require("./utils/get-paint-metrics");
|
|
@@ -47,9 +46,15 @@ var _getSsrDoneTimeValue = _interopRequireDefault(require("./utils/get-ssr-done-
|
|
|
47
46
|
var _getSsrSuccess = _interopRequireDefault(require("./utils/get-ssr-success"));
|
|
48
47
|
var _getTtai = _interopRequireDefault(require("./utils/get-ttai"));
|
|
49
48
|
var _getVcMetrics = _interopRequireDefault(require("./utils/get-vc-metrics"));
|
|
50
|
-
var
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
var _getVisibilityStateFromPerformance = require("./utils/get-visibility-state-from-performance");
|
|
50
|
+
var _optimizeApdex = require("./utils/optimize-apdex");
|
|
51
|
+
var _optimizeCustomTimings = require("./utils/optimize-custom-timings");
|
|
52
|
+
var _optimizeHoldInfo = require("./utils/optimize-hold-info");
|
|
53
|
+
var _optimizeMarks = require("./utils/optimize-marks");
|
|
54
|
+
var _optimizeReactProfilerTimings = require("./utils/optimize-react-profiler-timings");
|
|
55
|
+
var _optimizeRequestInfo = require("./utils/optimize-request-info");
|
|
56
|
+
var _optimizeSpans = require("./utils/optimize-spans");
|
|
57
|
+
var _excluded = ["labelStack"];
|
|
53
58
|
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); }
|
|
54
59
|
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; }
|
|
55
60
|
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
|
|
@@ -99,53 +104,13 @@ function getPageVisibilityUpToTTI(interaction) {
|
|
|
99
104
|
var bm3EndTimeOrInteractionEndTime = getBm3EndTimeOrFallbackValue(interaction);
|
|
100
105
|
return (0, _hiddenTiming.getPageVisibilityState)(start, bm3EndTimeOrInteractionEndTime);
|
|
101
106
|
}
|
|
102
|
-
function getVisibilityStateFromPerformance(stop) {
|
|
103
|
-
try {
|
|
104
|
-
var results = performance.getEntriesByType('visibility-state');
|
|
105
|
-
if (!results || results.length === 0) {
|
|
106
|
-
return null;
|
|
107
|
-
}
|
|
108
|
-
return results.reduce(function () {
|
|
109
|
-
var acc = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
110
|
-
var _ref = arguments.length > 1 ? arguments[1] : undefined,
|
|
111
|
-
name = _ref.name,
|
|
112
|
-
startTime = _ref.startTime;
|
|
113
|
-
if (startTime > stop) {
|
|
114
|
-
return acc;
|
|
115
|
-
}
|
|
116
|
-
if (acc === null && name === null) {
|
|
117
|
-
return null;
|
|
118
|
-
}
|
|
119
|
-
if (acc === null) {
|
|
120
|
-
return name;
|
|
121
|
-
}
|
|
122
|
-
if (acc !== name) {
|
|
123
|
-
return 'mixed';
|
|
124
|
-
}
|
|
125
|
-
return acc;
|
|
126
|
-
}, null);
|
|
127
|
-
} catch (e) {
|
|
128
|
-
return null;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
107
|
function getMoreAccuratePageVisibilityUpToTTI(interaction) {
|
|
132
108
|
var old = getPageVisibilityUpToTTI(interaction);
|
|
133
109
|
var tti = getEarliestLegacyStopTime(interaction, []);
|
|
134
110
|
if (!tti) {
|
|
135
111
|
return old;
|
|
136
112
|
}
|
|
137
|
-
var buffered = getVisibilityStateFromPerformance(tti);
|
|
138
|
-
if (!buffered) {
|
|
139
|
-
return old;
|
|
140
|
-
}
|
|
141
|
-
if (buffered !== old) {
|
|
142
|
-
return 'mixed';
|
|
143
|
-
}
|
|
144
|
-
return old;
|
|
145
|
-
}
|
|
146
|
-
function getMoreAccuratePageVisibilityUpToTTAI(interaction) {
|
|
147
|
-
var old = (0, _getPageVisibilityUpToTtai.default)(interaction);
|
|
148
|
-
var buffered = getVisibilityStateFromPerformance(interaction.end);
|
|
113
|
+
var buffered = (0, _getVisibilityStateFromPerformance.getVisibilityStateFromPerformance)(tti);
|
|
149
114
|
if (!buffered) {
|
|
150
115
|
return old;
|
|
151
116
|
}
|
|
@@ -256,10 +221,10 @@ function optimizeCustomData(interaction) {
|
|
|
256
221
|
var customData = interaction.customData,
|
|
257
222
|
cohortingCustomData = interaction.cohortingCustomData,
|
|
258
223
|
legacyMetrics = interaction.legacyMetrics;
|
|
259
|
-
var customDataMap = customData.reduce(function (result,
|
|
224
|
+
var customDataMap = customData.reduce(function (result, _ref) {
|
|
260
225
|
var _result$get$data, _result$get;
|
|
261
|
-
var labelStack =
|
|
262
|
-
data =
|
|
226
|
+
var labelStack = _ref.labelStack,
|
|
227
|
+
data = _ref.data;
|
|
263
228
|
var label = (0, _utils.stringifyLabelStackFully)(labelStack);
|
|
264
229
|
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 : {};
|
|
265
230
|
result.set(label, {
|
|
@@ -301,48 +266,6 @@ function optimizeCustomData(interaction) {
|
|
|
301
266
|
}
|
|
302
267
|
return (0, _toConsumableArray2.default)(customDataMap.values());
|
|
303
268
|
}
|
|
304
|
-
function optimizeReactProfilerTimings(reactProfilerTimings, interactionStart, reactUFOVersion) {
|
|
305
|
-
var reactProfilerTimingsMap = reactProfilerTimings.reduce(function (result, _ref3) {
|
|
306
|
-
var labelStack = _ref3.labelStack,
|
|
307
|
-
startTime = _ref3.startTime,
|
|
308
|
-
commitTime = _ref3.commitTime,
|
|
309
|
-
actualDuration = _ref3.actualDuration,
|
|
310
|
-
type = _ref3.type;
|
|
311
|
-
if (labelStack && startTime >= interactionStart) {
|
|
312
|
-
var label = (0, _utils.stringifyLabelStackFully)(labelStack);
|
|
313
|
-
var start = Math.round(startTime);
|
|
314
|
-
var end = Math.round(commitTime);
|
|
315
|
-
var timing = result.get(label) || {
|
|
316
|
-
labelStack: (0, _utils.optimizeLabelStack)(labelStack, reactUFOVersion),
|
|
317
|
-
startTime: start,
|
|
318
|
-
endTime: end,
|
|
319
|
-
mountCount: 0,
|
|
320
|
-
rerenderCount: 0,
|
|
321
|
-
renderDuration: 0
|
|
322
|
-
};
|
|
323
|
-
if (start < timing.startTime) {
|
|
324
|
-
timing.startTime = start;
|
|
325
|
-
}
|
|
326
|
-
if (end > timing.endTime) {
|
|
327
|
-
timing.endTime = end;
|
|
328
|
-
}
|
|
329
|
-
if (type === 'mount') {
|
|
330
|
-
timing.mountCount += 1;
|
|
331
|
-
}
|
|
332
|
-
if (type === 'update') {
|
|
333
|
-
timing.rerenderCount += 1;
|
|
334
|
-
}
|
|
335
|
-
if (_interactionMetrics.segmentUnmountCache.has(label) && (0, _platformFeatureFlags.fg)('platform_ufo_segment_unmount_count')) {
|
|
336
|
-
timing.unmountCount = _interactionMetrics.segmentUnmountCache.get(label) || 0;
|
|
337
|
-
_interactionMetrics.segmentUnmountCache.delete(label);
|
|
338
|
-
}
|
|
339
|
-
timing.renderDuration += Math.round(actualDuration);
|
|
340
|
-
result.set(label, timing);
|
|
341
|
-
}
|
|
342
|
-
return result;
|
|
343
|
-
}, new Map());
|
|
344
|
-
return (0, _toConsumableArray2.default)(reactProfilerTimingsMap.values());
|
|
345
|
-
}
|
|
346
269
|
function optimizeRedirects(redirects, interactionStart) {
|
|
347
270
|
var lastRedirectTime = interactionStart;
|
|
348
271
|
var updatedRedirects = redirects.sort(function (a, b) {
|
|
@@ -364,121 +287,6 @@ function optimizeRedirects(redirects, interactionStart) {
|
|
|
364
287
|
}, []);
|
|
365
288
|
return updatedRedirects;
|
|
366
289
|
}
|
|
367
|
-
function optimizeHoldInfo(holdInfo, interactionStart, reactUFOVersion) {
|
|
368
|
-
var holdInfoMap = holdInfo.reduce(function (result, hold) {
|
|
369
|
-
var labelStack = hold.labelStack,
|
|
370
|
-
name = hold.name,
|
|
371
|
-
start = hold.start,
|
|
372
|
-
end = hold.end,
|
|
373
|
-
ignoreOnSubmit = hold.ignoreOnSubmit;
|
|
374
|
-
if (labelStack && !ignoreOnSubmit && start >= interactionStart) {
|
|
375
|
-
var label = (0, _utils.stringifyLabelStackFully)([].concat((0, _toConsumableArray2.default)(labelStack), [{
|
|
376
|
-
name: name
|
|
377
|
-
}]));
|
|
378
|
-
var startTime = Math.round(start);
|
|
379
|
-
var endTime = Math.round(end);
|
|
380
|
-
var timing = result.get(label) || {
|
|
381
|
-
labelStack: (0, _utils.optimizeLabelStack)([].concat((0, _toConsumableArray2.default)(labelStack), [{
|
|
382
|
-
name: name
|
|
383
|
-
}]), reactUFOVersion),
|
|
384
|
-
startTime: startTime,
|
|
385
|
-
endTime: endTime
|
|
386
|
-
};
|
|
387
|
-
if (startTime < timing.startTime) {
|
|
388
|
-
timing.startTime = startTime;
|
|
389
|
-
}
|
|
390
|
-
if (endTime > timing.endTime) {
|
|
391
|
-
timing.endTime = endTime;
|
|
392
|
-
}
|
|
393
|
-
result.set(label, timing);
|
|
394
|
-
}
|
|
395
|
-
return result;
|
|
396
|
-
}, new Map());
|
|
397
|
-
return (0, _toConsumableArray2.default)(holdInfoMap.values());
|
|
398
|
-
}
|
|
399
|
-
function optimizeSpans(spans, interactionStart, reactUFOVersion) {
|
|
400
|
-
var updatedSpans = spans.reduce(function (result, span) {
|
|
401
|
-
var labelStack = span.labelStack,
|
|
402
|
-
type = span.type,
|
|
403
|
-
name = span.name,
|
|
404
|
-
start = span.start,
|
|
405
|
-
end = span.end;
|
|
406
|
-
if (labelStack && start >= interactionStart) {
|
|
407
|
-
result.push({
|
|
408
|
-
labelStack: (0, _utils.optimizeLabelStack)([].concat((0, _toConsumableArray2.default)(labelStack), [{
|
|
409
|
-
name: name
|
|
410
|
-
}]), reactUFOVersion),
|
|
411
|
-
startTime: Math.round(start),
|
|
412
|
-
endTime: Math.round(end),
|
|
413
|
-
type: type
|
|
414
|
-
});
|
|
415
|
-
}
|
|
416
|
-
return result;
|
|
417
|
-
}, []);
|
|
418
|
-
return updatedSpans;
|
|
419
|
-
}
|
|
420
|
-
function optimizeRequestInfo(requestInfo, interactionStart, reactUFOVersion) {
|
|
421
|
-
var updatedRequestInfo = requestInfo.reduce(function (result, reqInfo) {
|
|
422
|
-
var labelStack = reqInfo.labelStack,
|
|
423
|
-
name = reqInfo.name,
|
|
424
|
-
start = reqInfo.start,
|
|
425
|
-
end = reqInfo.end,
|
|
426
|
-
networkStart = reqInfo.networkStart,
|
|
427
|
-
networkComplete = reqInfo.networkComplete;
|
|
428
|
-
var startTime = networkStart !== null && networkStart !== void 0 ? networkStart : start;
|
|
429
|
-
var endTime = networkComplete !== null && networkComplete !== void 0 ? networkComplete : end;
|
|
430
|
-
if (labelStack && start >= interactionStart && endTime) {
|
|
431
|
-
result.push({
|
|
432
|
-
labelStack: (0, _utils.optimizeLabelStack)([].concat((0, _toConsumableArray2.default)(labelStack), [{
|
|
433
|
-
name: name
|
|
434
|
-
}]), reactUFOVersion),
|
|
435
|
-
startTime: Math.round(startTime),
|
|
436
|
-
endTime: Math.round(endTime)
|
|
437
|
-
});
|
|
438
|
-
}
|
|
439
|
-
return result;
|
|
440
|
-
}, []);
|
|
441
|
-
return updatedRequestInfo;
|
|
442
|
-
}
|
|
443
|
-
function optimizeCustomTimings(customTimings, interactionStart) {
|
|
444
|
-
return customTimings.reduce(function (result, item) {
|
|
445
|
-
Object.keys(item.data).forEach(function (key) {
|
|
446
|
-
if (item.data[key].startTime >= interactionStart) {
|
|
447
|
-
result.push({
|
|
448
|
-
labelStack: [{
|
|
449
|
-
n: key
|
|
450
|
-
}],
|
|
451
|
-
startTime: Math.round(item.data[key].startTime),
|
|
452
|
-
endTime: Math.round(item.data[key].endTime)
|
|
453
|
-
});
|
|
454
|
-
}
|
|
455
|
-
});
|
|
456
|
-
return result;
|
|
457
|
-
}, []);
|
|
458
|
-
}
|
|
459
|
-
function optimizeMarks(marks, reactUFOVersion) {
|
|
460
|
-
return marks.map(function (_ref4) {
|
|
461
|
-
var labelStack = _ref4.labelStack,
|
|
462
|
-
time = _ref4.time,
|
|
463
|
-
others = (0, _objectWithoutProperties2.default)(_ref4, _excluded);
|
|
464
|
-
return _objectSpread(_objectSpread({}, others), {}, {
|
|
465
|
-
labelStack: labelStack && (0, _utils.optimizeLabelStack)(labelStack, reactUFOVersion),
|
|
466
|
-
time: Math.round(time)
|
|
467
|
-
});
|
|
468
|
-
});
|
|
469
|
-
}
|
|
470
|
-
function optimizeApdex(apdex, reactUFOVersion) {
|
|
471
|
-
return apdex.map(function (_ref5) {
|
|
472
|
-
var stopTime = _ref5.stopTime,
|
|
473
|
-
labelStack = _ref5.labelStack,
|
|
474
|
-
others = (0, _objectWithoutProperties2.default)(_ref5, _excluded2);
|
|
475
|
-
return _objectSpread(_objectSpread({}, others), {}, {
|
|
476
|
-
stopTime: Math.round(stopTime)
|
|
477
|
-
}, labelStack ? {
|
|
478
|
-
labelStack: (0, _utils.optimizeLabelStack)(labelStack, reactUFOVersion)
|
|
479
|
-
} : {});
|
|
480
|
-
});
|
|
481
|
-
}
|
|
482
290
|
function objectToArray() {
|
|
483
291
|
var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
484
292
|
return Object.keys(obj).reduce(function (result, key) {
|
|
@@ -611,7 +419,7 @@ function _createInteractionMetricsPayload() {
|
|
|
611
419
|
isPageLoad = type === 'page_load';
|
|
612
420
|
calculatePageVisibilityFromTheStartOfPageLoad = config.enableBetterPageVisibilityApi && isPageLoad;
|
|
613
421
|
moreAccuratePageVisibilityAtTTI = calculatePageVisibilityFromTheStartOfPageLoad ? getMoreAccuratePageVisibilityUpToTTI(interaction) : null;
|
|
614
|
-
moreAccuratePageVisibilityAtTTAI = calculatePageVisibilityFromTheStartOfPageLoad ? getMoreAccuratePageVisibilityUpToTTAI(interaction) : null;
|
|
422
|
+
moreAccuratePageVisibilityAtTTAI = calculatePageVisibilityFromTheStartOfPageLoad ? (0, _getMoreAccuratePageVisibilityUpToTtai.getMoreAccuratePageVisibilityUpToTTAI)(interaction) : null;
|
|
615
423
|
labelStack = interaction.labelStack ? {
|
|
616
424
|
labelStack: (0, _utils.optimizeLabelStack)(interaction.labelStack, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type))
|
|
617
425
|
} : {}; // Page Load
|
|
@@ -652,19 +460,19 @@ function _createInteractionMetricsPayload() {
|
|
|
652
460
|
var spans = [].concat((0, _toConsumableArray2.default)(interaction.spans), (0, _toConsumableArray2.default)(_interactionMetrics.interactionSpans));
|
|
653
461
|
_interactionMetrics.interactionSpans.length = 0;
|
|
654
462
|
return {
|
|
655
|
-
errors: interaction.errors.map(function (
|
|
656
|
-
var labelStack =
|
|
657
|
-
others = (0, _objectWithoutProperties2.default)(
|
|
463
|
+
errors: interaction.errors.map(function (_ref2) {
|
|
464
|
+
var labelStack = _ref2.labelStack,
|
|
465
|
+
others = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
|
|
658
466
|
return _objectSpread(_objectSpread({}, others), {}, {
|
|
659
467
|
labelStack: labelStack && (0, _utils.optimizeLabelStack)(labelStack, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type))
|
|
660
468
|
});
|
|
661
469
|
}),
|
|
662
470
|
holdActive: (0, _toConsumableArray2.default)(interaction.holdActive.values()),
|
|
663
471
|
redirects: optimizeRedirects(interaction.redirects, start),
|
|
664
|
-
holdInfo: optimizeHoldInfo(experimental ? interaction.holdExpInfo : interaction.holdInfo, start, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
|
|
665
|
-
spans: optimizeSpans(spans, start, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
|
|
666
|
-
requestInfo: optimizeRequestInfo(interaction.requestInfo, start, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
|
|
667
|
-
customTimings: optimizeCustomTimings(interaction.customTimings, start),
|
|
472
|
+
holdInfo: (0, _optimizeHoldInfo.optimizeHoldInfo)(experimental ? interaction.holdExpInfo : interaction.holdInfo, start, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
|
|
473
|
+
spans: (0, _optimizeSpans.optimizeSpans)(spans, start, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
|
|
474
|
+
requestInfo: (0, _optimizeRequestInfo.optimizeRequestInfo)(interaction.requestInfo, start, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
|
|
475
|
+
customTimings: (0, _optimizeCustomTimings.optimizeCustomTimings)(interaction.customTimings, start),
|
|
668
476
|
bundleEvalTimings: objectToArray(getBundleEvalTimings(start)),
|
|
669
477
|
resourceTimings: objectToArray(resourceTimings)
|
|
670
478
|
};
|
|
@@ -766,13 +574,13 @@ function _createInteractionMetricsPayload() {
|
|
|
766
574
|
isPreviousInteractionAborted: isPreviousInteractionAborted,
|
|
767
575
|
abortedByInteractionName: abortedByInteractionName,
|
|
768
576
|
// performance
|
|
769
|
-
apdex: optimizeApdex(interaction.apdex, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
|
|
577
|
+
apdex: (0, _optimizeApdex.optimizeApdex)(interaction.apdex, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
|
|
770
578
|
end: Math.round(end),
|
|
771
579
|
start: Math.round(start),
|
|
772
580
|
segments: (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type) === '2.0.0' ? segmentTree : (0, _utils.getOldSegmentsLabelStack)(segments, interaction.type),
|
|
773
|
-
marks: optimizeMarks(interaction.marks, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
|
|
581
|
+
marks: (0, _optimizeMarks.optimizeMarks)(interaction.marks, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type)),
|
|
774
582
|
customData: optimizeCustomData(interaction),
|
|
775
|
-
reactProfilerTimings: optimizeReactProfilerTimings(interaction.reactProfilerTimings, start, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type))
|
|
583
|
+
reactProfilerTimings: (0, _optimizeReactProfilerTimings.optimizeReactProfilerTimings)(interaction.reactProfilerTimings, start, (0, _getReactUfoPayloadVersion.getReactUFOPayloadVersion)(interaction.type))
|
|
776
584
|
}, responsiveness ? {
|
|
777
585
|
responsiveness: responsiveness
|
|
778
586
|
} : {}), labelStack), pageLoadInteractionMetrics), getDetailedInteractionMetrics(resourceTimings)), getPageLoadDetailedInteractionMetrics()), getBm3TrackerTimings(interaction)), {}, {
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getMoreAccuratePageVisibilityUpToTTAI = getMoreAccuratePageVisibilityUpToTTAI;
|
|
8
|
+
var _getPageVisibilityUpToTtai = _interopRequireDefault(require("./get-page-visibility-up-to-ttai"));
|
|
9
|
+
var _getVisibilityStateFromPerformance = require("./get-visibility-state-from-performance");
|
|
10
|
+
function getMoreAccuratePageVisibilityUpToTTAI(interaction) {
|
|
11
|
+
var old = (0, _getPageVisibilityUpToTtai.default)(interaction);
|
|
12
|
+
var buffered = (0, _getVisibilityStateFromPerformance.getVisibilityStateFromPerformance)(interaction.end);
|
|
13
|
+
if (!buffered) {
|
|
14
|
+
return old;
|
|
15
|
+
}
|
|
16
|
+
if (buffered !== old) {
|
|
17
|
+
return 'mixed';
|
|
18
|
+
}
|
|
19
|
+
return old;
|
|
20
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getVisibilityStateFromPerformance = getVisibilityStateFromPerformance;
|
|
7
|
+
function getVisibilityStateFromPerformance(stop) {
|
|
8
|
+
try {
|
|
9
|
+
var results = performance.getEntriesByType('visibility-state');
|
|
10
|
+
if (!results || results.length === 0) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
return results.reduce(function () {
|
|
14
|
+
var acc = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
15
|
+
var _ref = arguments.length > 1 ? arguments[1] : undefined,
|
|
16
|
+
name = _ref.name,
|
|
17
|
+
startTime = _ref.startTime;
|
|
18
|
+
if (startTime > stop) {
|
|
19
|
+
return acc;
|
|
20
|
+
}
|
|
21
|
+
if (acc === null && name === null) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
if (acc === null) {
|
|
25
|
+
return name;
|
|
26
|
+
}
|
|
27
|
+
if (acc !== name) {
|
|
28
|
+
return 'mixed';
|
|
29
|
+
}
|
|
30
|
+
return acc;
|
|
31
|
+
}, null);
|
|
32
|
+
} catch (e) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.optimizeApdex = optimizeApdex;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
|
+
var _utils = require("../common/utils");
|
|
11
|
+
var _excluded = ["stopTime", "labelStack"];
|
|
12
|
+
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; }
|
|
13
|
+
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; }
|
|
14
|
+
function optimizeApdex(apdex, reactUFOVersion) {
|
|
15
|
+
return apdex.map(function (_ref) {
|
|
16
|
+
var stopTime = _ref.stopTime,
|
|
17
|
+
labelStack = _ref.labelStack,
|
|
18
|
+
others = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
19
|
+
return _objectSpread(_objectSpread({}, others), {}, {
|
|
20
|
+
stopTime: Math.round(stopTime)
|
|
21
|
+
}, labelStack ? {
|
|
22
|
+
labelStack: (0, _utils.optimizeLabelStack)(labelStack, reactUFOVersion)
|
|
23
|
+
} : {});
|
|
24
|
+
});
|
|
25
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.optimizeCustomTimings = optimizeCustomTimings;
|
|
7
|
+
function optimizeCustomTimings(customTimings, interactionStart) {
|
|
8
|
+
return customTimings.reduce(function (result, item) {
|
|
9
|
+
Object.keys(item.data).forEach(function (key) {
|
|
10
|
+
if (item.data[key].startTime >= interactionStart) {
|
|
11
|
+
result.push({
|
|
12
|
+
labelStack: [{
|
|
13
|
+
n: key
|
|
14
|
+
}],
|
|
15
|
+
startTime: Math.round(item.data[key].startTime),
|
|
16
|
+
endTime: Math.round(item.data[key].endTime)
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
return result;
|
|
21
|
+
}, []);
|
|
22
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.optimizeHoldInfo = optimizeHoldInfo;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
var _utils = require("../common/utils");
|
|
10
|
+
function optimizeHoldInfo(holdInfo, interactionStart, reactUFOVersion) {
|
|
11
|
+
var holdInfoMap = holdInfo.reduce(function (result, hold) {
|
|
12
|
+
var labelStack = hold.labelStack,
|
|
13
|
+
name = hold.name,
|
|
14
|
+
start = hold.start,
|
|
15
|
+
end = hold.end,
|
|
16
|
+
ignoreOnSubmit = hold.ignoreOnSubmit;
|
|
17
|
+
if (labelStack && !ignoreOnSubmit && start >= interactionStart) {
|
|
18
|
+
var label = (0, _utils.stringifyLabelStackFully)([].concat((0, _toConsumableArray2.default)(labelStack), [{
|
|
19
|
+
name: name
|
|
20
|
+
}]));
|
|
21
|
+
var startTime = Math.round(start);
|
|
22
|
+
var endTime = Math.round(end);
|
|
23
|
+
var timing = result.get(label) || {
|
|
24
|
+
labelStack: (0, _utils.optimizeLabelStack)([].concat((0, _toConsumableArray2.default)(labelStack), [{
|
|
25
|
+
name: name
|
|
26
|
+
}]), reactUFOVersion),
|
|
27
|
+
startTime: startTime,
|
|
28
|
+
endTime: endTime
|
|
29
|
+
};
|
|
30
|
+
if (startTime < timing.startTime) {
|
|
31
|
+
timing.startTime = startTime;
|
|
32
|
+
}
|
|
33
|
+
if (endTime > timing.endTime) {
|
|
34
|
+
timing.endTime = endTime;
|
|
35
|
+
}
|
|
36
|
+
result.set(label, timing);
|
|
37
|
+
}
|
|
38
|
+
return result;
|
|
39
|
+
}, new Map());
|
|
40
|
+
return (0, _toConsumableArray2.default)(holdInfoMap.values());
|
|
41
|
+
}
|