@atlaskit/react-ufo 2.7.0 → 2.8.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 +20 -0
- package/dist/cjs/config/index.js +18 -40
- package/dist/cjs/create-payload/common/utils/index.js +2 -66
- package/dist/cjs/create-payload/index.js +78 -55
- package/dist/cjs/interaction-metrics/common/constants.js +3 -8
- package/dist/cjs/interaction-metrics/index.js +238 -166
- package/dist/cjs/interaction-metrics-init/index.js +9 -31
- package/dist/cjs/load-hold/UFOLoadHold.js +3 -5
- package/dist/cjs/segment/segment.js +8 -9
- package/dist/cjs/vc/vc-observer/observers/ssr-placeholders/index.js +23 -13
- package/dist/es2019/config/index.js +0 -22
- package/dist/es2019/create-payload/common/utils/index.js +1 -68
- package/dist/es2019/create-payload/index.js +77 -48
- package/dist/es2019/interaction-metrics/common/constants.js +2 -7
- package/dist/es2019/interaction-metrics/index.js +131 -91
- package/dist/es2019/interaction-metrics-init/index.js +8 -28
- package/dist/es2019/load-hold/UFOLoadHold.js +3 -5
- package/dist/es2019/segment/segment.js +11 -8
- package/dist/es2019/vc/vc-observer/observers/ssr-placeholders/index.js +18 -8
- package/dist/esm/config/index.js +18 -39
- package/dist/esm/create-payload/common/utils/index.js +1 -63
- package/dist/esm/create-payload/index.js +78 -53
- package/dist/esm/interaction-metrics/common/constants.js +2 -7
- package/dist/esm/interaction-metrics/index.js +158 -86
- package/dist/esm/interaction-metrics-init/index.js +8 -28
- package/dist/esm/load-hold/UFOLoadHold.js +3 -5
- package/dist/esm/segment/segment.js +8 -9
- package/dist/esm/vc/vc-observer/observers/ssr-placeholders/index.js +23 -13
- package/dist/types/common/common/types.d.ts +4 -6
- package/dist/types/config/index.d.ts +0 -6
- package/dist/types/create-payload/common/utils/index.d.ts +0 -9
- package/dist/types/create-payload/index.d.ts +5660 -13
- package/dist/types/interaction-context/index.d.ts +0 -1
- package/dist/types/interaction-metrics/common/constants.d.ts +3 -32
- package/dist/types/interaction-metrics/index.d.ts +17 -1
- package/dist/types/load-hold/UFOLoadHold.d.ts +2 -1
- package/dist/types-ts4.5/common/common/types.d.ts +4 -6
- package/dist/types-ts4.5/config/index.d.ts +0 -6
- package/dist/types-ts4.5/create-payload/common/utils/index.d.ts +0 -9
- package/dist/types-ts4.5/create-payload/index.d.ts +5660 -13
- package/dist/types-ts4.5/interaction-context/index.d.ts +0 -1
- package/dist/types-ts4.5/interaction-metrics/common/constants.d.ts +3 -32
- package/dist/types-ts4.5/interaction-metrics/index.d.ts +17 -1
- package/dist/types-ts4.5/load-hold/UFOLoadHold.d.ts +2 -1
- package/package.json +2 -3
- package/create-experimental-interaction-metrics-payload/package.json +0 -15
- package/dist/cjs/create-experimental-interaction-metrics-payload/index.js +0 -100
- package/dist/cjs/interaction-metrics/common/index.js +0 -151
- package/dist/es2019/create-experimental-interaction-metrics-payload/index.js +0 -71
- package/dist/es2019/interaction-metrics/common/index.js +0 -103
- package/dist/esm/create-experimental-interaction-metrics-payload/index.js +0 -90
- package/dist/esm/interaction-metrics/common/index.js +0 -132
- package/dist/types/create-experimental-interaction-metrics-payload/index.d.ts +0 -16
- package/dist/types/interaction-metrics/common/index.d.ts +0 -16
- package/dist/types-ts4.5/create-experimental-interaction-metrics-payload/index.d.ts +0 -16
- package/dist/types-ts4.5/interaction-metrics/common/index.d.ts +0 -16
|
@@ -34,7 +34,7 @@ exports.addSpanToAll = addSpanToAll;
|
|
|
34
34
|
exports.extractModuleName = extractModuleName;
|
|
35
35
|
exports.getActiveInteraction = getActiveInteraction;
|
|
36
36
|
exports.getCurrentInteractionType = getCurrentInteractionType;
|
|
37
|
-
exports.interactionSpans = void 0;
|
|
37
|
+
exports.postInteractionLog = exports.interactionSpans = void 0;
|
|
38
38
|
exports.remove = remove;
|
|
39
39
|
exports.removeHoldByID = removeHoldByID;
|
|
40
40
|
exports.removeSegment = removeSegment;
|
|
@@ -43,32 +43,85 @@ exports.tryComplete = tryComplete;
|
|
|
43
43
|
exports.updatePageLoadInteractionName = updatePageLoadInteractionName;
|
|
44
44
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
45
45
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
46
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
46
47
|
var _uuid = require("uuid");
|
|
47
48
|
var _coinflip = _interopRequireDefault(require("../coinflip"));
|
|
48
49
|
var _config = require("../config");
|
|
49
|
-
var _createExperimentalInteractionMetricsPayload = require("../create-experimental-interaction-metrics-payload");
|
|
50
|
-
var _utils = require("../create-payload/common/utils");
|
|
51
50
|
var _experienceTraceIdContext = require("../experience-trace-id-context");
|
|
52
51
|
var _featureFlagsAccessed = require("../feature-flags-accessed");
|
|
53
52
|
var _interactionIdContext = require("../interaction-id-context");
|
|
54
53
|
var _vc = require("../vc");
|
|
55
|
-
var
|
|
56
|
-
var
|
|
54
|
+
var _constants = _interopRequireDefault(require("./common/constants"));
|
|
55
|
+
var _postInteractionLog = _interopRequireDefault(require("./post-interaction-log"));
|
|
57
56
|
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; }
|
|
58
57
|
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; }
|
|
58
|
+
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; } } }; }
|
|
59
|
+
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; } }
|
|
60
|
+
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; }
|
|
59
61
|
var PreviousInteractionLog = {
|
|
60
62
|
name: undefined,
|
|
61
63
|
isAborted: undefined
|
|
62
64
|
};
|
|
65
|
+
var postInteractionLog = exports.postInteractionLog = new _postInteractionLog.default();
|
|
66
|
+
var interactionQueue = [];
|
|
67
|
+
var segmentCache = new Map();
|
|
68
|
+
var CLEANUP_TIMEOUT = 60 * 1000;
|
|
69
|
+
var CLEANUP_TIMEOUT_AFTER_APDEX = 15 * 1000;
|
|
70
|
+
var segmentObservers = [];
|
|
63
71
|
function getActiveInteraction() {
|
|
64
72
|
var interactionId = (0, _interactionIdContext.getInteractionId)();
|
|
65
73
|
if (!interactionId.current) {
|
|
66
74
|
return;
|
|
67
75
|
}
|
|
68
|
-
return _constants.
|
|
76
|
+
return _constants.default.get(interactionId.current);
|
|
77
|
+
}
|
|
78
|
+
function isPerformanceTracingEnabled() {
|
|
79
|
+
var _getConfig;
|
|
80
|
+
return ((_getConfig = (0, _config.getConfig)()) === null || _getConfig === void 0 ? void 0 : _getConfig.enableAdditionalPerformanceMarks) || window.__REACT_UFO_ENABLE_PERF_TRACING || process.env.NODE_ENV !== 'production';
|
|
81
|
+
}
|
|
82
|
+
function labelStackToString(labelStack, name) {
|
|
83
|
+
var _stack$map;
|
|
84
|
+
var stack = (0, _toConsumableArray2.default)(labelStack !== null && labelStack !== void 0 ? labelStack : []);
|
|
85
|
+
if (name) {
|
|
86
|
+
stack.push({
|
|
87
|
+
name: name
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
return (_stack$map = stack.map(function (l) {
|
|
91
|
+
return l.name;
|
|
92
|
+
})) === null || _stack$map === void 0 ? void 0 : _stack$map.join('/');
|
|
93
|
+
}
|
|
94
|
+
function labelStackToIdString(labelStack) {
|
|
95
|
+
var _labelStack$map;
|
|
96
|
+
return labelStack === null || labelStack === void 0 || (_labelStack$map = labelStack.map(function (l) {
|
|
97
|
+
return 'segmentId' in l ? "".concat(l.name, ":").concat(l.segmentId) : "".concat(l.name);
|
|
98
|
+
})) === null || _labelStack$map === void 0 ? void 0 : _labelStack$map.join('/');
|
|
99
|
+
}
|
|
100
|
+
function addSegmentObserver(observer) {
|
|
101
|
+
segmentObservers.push(observer);
|
|
102
|
+
var _iterator = _createForOfIteratorHelper(segmentCache.values()),
|
|
103
|
+
_step;
|
|
104
|
+
try {
|
|
105
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
106
|
+
var segmentInfo = _step.value;
|
|
107
|
+
observer.onAdd(segmentInfo);
|
|
108
|
+
}
|
|
109
|
+
} catch (err) {
|
|
110
|
+
_iterator.e(err);
|
|
111
|
+
} finally {
|
|
112
|
+
_iterator.f();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function removeSegmentObserver(observer) {
|
|
116
|
+
var index = segmentObservers.findIndex(function (obs) {
|
|
117
|
+
return obs === observer;
|
|
118
|
+
});
|
|
119
|
+
if (index !== -1) {
|
|
120
|
+
segmentObservers.splice(index, 1);
|
|
121
|
+
}
|
|
69
122
|
}
|
|
70
123
|
function remove(interactionId) {
|
|
71
|
-
_constants.
|
|
124
|
+
_constants.default.delete(interactionId);
|
|
72
125
|
}
|
|
73
126
|
function updatePageLoadInteractionName(ufoName) {
|
|
74
127
|
var routeName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ufoName;
|
|
@@ -80,7 +133,7 @@ function updatePageLoadInteractionName(ufoName) {
|
|
|
80
133
|
interaction.routeName = routeName;
|
|
81
134
|
}
|
|
82
135
|
function addMetadata(interactionId, data) {
|
|
83
|
-
var interaction = _constants.
|
|
136
|
+
var interaction = _constants.default.get(interactionId);
|
|
84
137
|
if (interaction != null) {
|
|
85
138
|
Object.keys(data).forEach(function (key) {
|
|
86
139
|
interaction.metaData[key] = data[key];
|
|
@@ -88,7 +141,7 @@ function addMetadata(interactionId, data) {
|
|
|
88
141
|
}
|
|
89
142
|
}
|
|
90
143
|
function addCustomData(interactionId, labelStack, data) {
|
|
91
|
-
var interaction = _constants.
|
|
144
|
+
var interaction = _constants.default.get(interactionId);
|
|
92
145
|
if (interaction != null) {
|
|
93
146
|
Object.keys(data).forEach(function (i) {
|
|
94
147
|
interaction.customData.push({
|
|
@@ -99,13 +152,13 @@ function addCustomData(interactionId, labelStack, data) {
|
|
|
99
152
|
}
|
|
100
153
|
}
|
|
101
154
|
function addCustomTiming(interactionId, labelStack, data) {
|
|
102
|
-
var interaction = _constants.
|
|
155
|
+
var interaction = _constants.default.get(interactionId);
|
|
103
156
|
if (interaction != null) {
|
|
104
157
|
interaction.customTimings.push({
|
|
105
158
|
labelStack: labelStack,
|
|
106
159
|
data: data
|
|
107
160
|
});
|
|
108
|
-
if (
|
|
161
|
+
if (isPerformanceTracingEnabled()) {
|
|
109
162
|
for (var _i = 0, _Object$entries = Object.entries(data); _i < _Object$entries.length; _i++) {
|
|
110
163
|
var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
|
|
111
164
|
key = _Object$entries$_i[0],
|
|
@@ -114,7 +167,7 @@ function addCustomTiming(interactionId, labelStack, data) {
|
|
|
114
167
|
endTime = timingData.endTime;
|
|
115
168
|
try {
|
|
116
169
|
// for Firefox 102 and older
|
|
117
|
-
performance.measure("\uD83D\uDEF8 ".concat(
|
|
170
|
+
performance.measure("\uD83D\uDEF8 ".concat(labelStackToString(labelStack, key), " [custom_timing]"), {
|
|
118
171
|
start: startTime,
|
|
119
172
|
end: endTime
|
|
120
173
|
});
|
|
@@ -127,7 +180,7 @@ function addCustomTiming(interactionId, labelStack, data) {
|
|
|
127
180
|
}
|
|
128
181
|
function addMark(interactionId, type, name, labelStack) {
|
|
129
182
|
var time = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : performance.now();
|
|
130
|
-
var interaction = _constants.
|
|
183
|
+
var interaction = _constants.default.get(interactionId);
|
|
131
184
|
if (interaction != null) {
|
|
132
185
|
interaction.marks.push({
|
|
133
186
|
type: type,
|
|
@@ -136,15 +189,15 @@ function addMark(interactionId, type, name, labelStack) {
|
|
|
136
189
|
time: time
|
|
137
190
|
});
|
|
138
191
|
}
|
|
139
|
-
if (
|
|
140
|
-
performance.mark("\uD83D\uDEF8 ".concat(
|
|
192
|
+
if (isPerformanceTracingEnabled()) {
|
|
193
|
+
performance.mark("\uD83D\uDEF8 ".concat(labelStackToString(labelStack, name), " [").concat(type, "]"), {
|
|
141
194
|
startTime: time
|
|
142
195
|
});
|
|
143
196
|
}
|
|
144
197
|
}
|
|
145
198
|
function addMarkToAll(type, name, labelStack) {
|
|
146
199
|
var time = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : performance.now();
|
|
147
|
-
_constants.
|
|
200
|
+
_constants.default.forEach(function (interaction) {
|
|
148
201
|
interaction.marks.push({
|
|
149
202
|
type: type,
|
|
150
203
|
name: name,
|
|
@@ -152,8 +205,8 @@ function addMarkToAll(type, name, labelStack) {
|
|
|
152
205
|
time: time
|
|
153
206
|
});
|
|
154
207
|
});
|
|
155
|
-
if (
|
|
156
|
-
performance.mark("\uD83D\uDEF8 ".concat(
|
|
208
|
+
if (isPerformanceTracingEnabled()) {
|
|
209
|
+
performance.mark("\uD83D\uDEF8 ".concat(labelStackToString(labelStack, name), " [").concat(type, "]"), {
|
|
157
210
|
startTime: time
|
|
158
211
|
});
|
|
159
212
|
}
|
|
@@ -161,7 +214,7 @@ function addMarkToAll(type, name, labelStack) {
|
|
|
161
214
|
function addSpan(interactionId, type, name, labelStack, start) {
|
|
162
215
|
var end = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : performance.now();
|
|
163
216
|
var size = arguments.length > 6 ? arguments[6] : undefined;
|
|
164
|
-
var interaction = _constants.
|
|
217
|
+
var interaction = _constants.default.get(interactionId);
|
|
165
218
|
if (interaction != null) {
|
|
166
219
|
interaction.spans.push({
|
|
167
220
|
type: type,
|
|
@@ -171,10 +224,10 @@ function addSpan(interactionId, type, name, labelStack, start) {
|
|
|
171
224
|
end: end,
|
|
172
225
|
size: size
|
|
173
226
|
});
|
|
174
|
-
if (
|
|
227
|
+
if (isPerformanceTracingEnabled()) {
|
|
175
228
|
try {
|
|
176
229
|
// for Firefox 102 and older
|
|
177
|
-
performance.measure("\uD83D\uDEF8 ".concat(
|
|
230
|
+
performance.measure("\uD83D\uDEF8 ".concat(labelStackToString(labelStack, name), " [").concat(type, "]"), {
|
|
178
231
|
start: start,
|
|
179
232
|
end: end
|
|
180
233
|
});
|
|
@@ -187,7 +240,7 @@ function addSpan(interactionId, type, name, labelStack, start) {
|
|
|
187
240
|
function addSpanToAll(type, name, labelStack, start) {
|
|
188
241
|
var end = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : performance.now();
|
|
189
242
|
var size = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;
|
|
190
|
-
_constants.
|
|
243
|
+
_constants.default.forEach(function (interaction) {
|
|
191
244
|
interaction.spans.push({
|
|
192
245
|
type: type,
|
|
193
246
|
name: name,
|
|
@@ -197,10 +250,10 @@ function addSpanToAll(type, name, labelStack, start) {
|
|
|
197
250
|
size: size
|
|
198
251
|
});
|
|
199
252
|
});
|
|
200
|
-
if (
|
|
253
|
+
if (isPerformanceTracingEnabled()) {
|
|
201
254
|
try {
|
|
202
255
|
// for Firefox 102 and older
|
|
203
|
-
performance.measure("\uD83D\uDEF8 ".concat(
|
|
256
|
+
performance.measure("\uD83D\uDEF8 ".concat(labelStackToString(labelStack, name), " [").concat(type, "]"), {
|
|
204
257
|
start: start,
|
|
205
258
|
end: end
|
|
206
259
|
});
|
|
@@ -215,6 +268,7 @@ function addPreload(moduleId, timestamp) {
|
|
|
215
268
|
function addLoad(identifier, start, end) {
|
|
216
269
|
addSpanToAll('bundle_load', identifier, null, start, end - start);
|
|
217
270
|
}
|
|
271
|
+
var moduleLoadingRequests = {};
|
|
218
272
|
function extractModuleName(input) {
|
|
219
273
|
var result = input !== null && input !== void 0 ? input : '';
|
|
220
274
|
result = result.replace(/^\.\/src\/packages\//, '');
|
|
@@ -222,34 +276,37 @@ function extractModuleName(input) {
|
|
|
222
276
|
result = result.replace(/(\/src)?\/(index|main)\.(tsx|ts|js|jsx)$/, '');
|
|
223
277
|
return result;
|
|
224
278
|
}
|
|
225
|
-
function
|
|
226
|
-
var
|
|
279
|
+
function addHoldCriterion(id, labelStack, name, startTime) {
|
|
280
|
+
var _window$__CRITERION__;
|
|
281
|
+
if (!((_window$__CRITERION__ = window.__CRITERION__) !== null && _window$__CRITERION__ !== void 0 && _window$__CRITERION__.addUFOHold)) {
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
window.__CRITERION__.addUFOHold(id, labelStackToString(labelStack), name, startTime);
|
|
285
|
+
}
|
|
286
|
+
function removeHoldCriterion(id) {
|
|
287
|
+
var _window$__CRITERION__2;
|
|
288
|
+
if (!((_window$__CRITERION__2 = window.__CRITERION__) !== null && _window$__CRITERION__2 !== void 0 && _window$__CRITERION__2.removeUFOHold)) {
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
window.__CRITERION__.removeUFOHold(id);
|
|
292
|
+
}
|
|
293
|
+
function addHold(interactionId, labelStack, name) {
|
|
294
|
+
var interaction = _constants.default.get(interactionId);
|
|
227
295
|
var id = (0, _uuid.v4)();
|
|
228
296
|
if (interaction != null) {
|
|
229
|
-
var
|
|
230
|
-
|
|
297
|
+
var start = performance.now();
|
|
298
|
+
interaction.holdActive.set(id, {
|
|
231
299
|
labelStack: labelStack,
|
|
232
300
|
name: name,
|
|
233
|
-
start:
|
|
234
|
-
};
|
|
235
|
-
|
|
236
|
-
if ((_getConfig = (0, _config.getConfig)()) !== null && _getConfig !== void 0 && (_getConfig = _getConfig.experimentalInteractionMetrics) !== null && _getConfig !== void 0 && _getConfig.enabled && experimental) {
|
|
237
|
-
interaction.holdExpActive.set(id, _objectSpread(_objectSpread({}, holdActive), {}, {
|
|
238
|
-
start: start
|
|
239
|
-
}));
|
|
240
|
-
}
|
|
241
|
-
if (!experimental) {
|
|
242
|
-
interaction.holdActive.set(id, _objectSpread(_objectSpread({}, holdActive), {}, {
|
|
243
|
-
start: start
|
|
244
|
-
}));
|
|
245
|
-
}
|
|
246
|
-
(0, _common.addHoldCriterion)(id, labelStack, name, start);
|
|
301
|
+
start: start
|
|
302
|
+
});
|
|
303
|
+
addHoldCriterion(id, labelStack, name, start);
|
|
247
304
|
return function () {
|
|
248
305
|
var end = performance.now();
|
|
249
|
-
if (
|
|
306
|
+
if (isPerformanceTracingEnabled()) {
|
|
250
307
|
try {
|
|
251
308
|
// for Firefox 102 and older
|
|
252
|
-
performance.measure("\uD83D\uDEF8 ".concat(
|
|
309
|
+
performance.measure("\uD83D\uDEF8 ".concat(labelStackToString(labelStack, name), " [hold]"), {
|
|
253
310
|
start: start,
|
|
254
311
|
end: end
|
|
255
312
|
});
|
|
@@ -257,30 +314,21 @@ function addHold(interactionId, labelStack, name, experimental) {
|
|
|
257
314
|
// do nothing
|
|
258
315
|
}
|
|
259
316
|
}
|
|
260
|
-
|
|
261
|
-
var currentInteraction = _constants.
|
|
317
|
+
removeHoldCriterion(id);
|
|
318
|
+
var currentInteraction = _constants.default.get(interactionId);
|
|
262
319
|
var currentHold = interaction.holdActive.get(id);
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
}));
|
|
269
|
-
interaction.holdActive.delete(id);
|
|
270
|
-
}
|
|
271
|
-
if (expHold != null) {
|
|
272
|
-
currentInteraction.holdExpInfo.push(_objectSpread(_objectSpread({}, expHold), {}, {
|
|
273
|
-
end: end
|
|
274
|
-
}));
|
|
275
|
-
interaction.holdExpActive.delete(id);
|
|
276
|
-
}
|
|
320
|
+
if (currentInteraction != null && currentHold != null) {
|
|
321
|
+
currentInteraction.holdInfo.push(_objectSpread(_objectSpread({}, currentHold), {}, {
|
|
322
|
+
end: end
|
|
323
|
+
}));
|
|
324
|
+
interaction.holdActive.delete(id);
|
|
277
325
|
}
|
|
278
326
|
};
|
|
279
327
|
}
|
|
280
328
|
return function () {};
|
|
281
329
|
}
|
|
282
330
|
function addHoldByID(interactionId, labelStack, name, id, ignoreOnSubmit) {
|
|
283
|
-
var interaction = _constants.
|
|
331
|
+
var interaction = _constants.default.get(interactionId);
|
|
284
332
|
if (interaction != null) {
|
|
285
333
|
var start = performance.now();
|
|
286
334
|
interaction.holdActive.set(id, {
|
|
@@ -289,27 +337,27 @@ function addHoldByID(interactionId, labelStack, name, id, ignoreOnSubmit) {
|
|
|
289
337
|
start: start,
|
|
290
338
|
ignoreOnSubmit: ignoreOnSubmit
|
|
291
339
|
});
|
|
292
|
-
|
|
340
|
+
addHoldCriterion(id, labelStack, name, start);
|
|
293
341
|
}
|
|
294
342
|
return function () {};
|
|
295
343
|
}
|
|
296
344
|
function removeHoldByID(interactionId, id) {
|
|
297
|
-
var interaction = _constants.
|
|
345
|
+
var interaction = _constants.default.get(interactionId);
|
|
298
346
|
if (interaction != null) {
|
|
299
347
|
var end = performance.now();
|
|
300
|
-
var currentInteraction = _constants.
|
|
348
|
+
var currentInteraction = _constants.default.get(interactionId);
|
|
301
349
|
var currentHold = interaction.holdActive.get(id);
|
|
302
350
|
if (currentInteraction != null && currentHold != null) {
|
|
303
351
|
currentInteraction.holdInfo.push(_objectSpread(_objectSpread({}, currentHold), {}, {
|
|
304
352
|
end: end
|
|
305
353
|
}));
|
|
306
354
|
interaction.holdActive.delete(id);
|
|
307
|
-
|
|
355
|
+
removeHoldCriterion(id);
|
|
308
356
|
}
|
|
309
357
|
}
|
|
310
358
|
}
|
|
311
359
|
function getCurrentInteractionType(interactionId) {
|
|
312
|
-
var interaction = _constants.
|
|
360
|
+
var interaction = _constants.default.get(interactionId);
|
|
313
361
|
if (interaction) {
|
|
314
362
|
return interaction.type;
|
|
315
363
|
}
|
|
@@ -321,19 +369,19 @@ var ModuleLoadingProfiler = exports.ModuleLoadingProfiler = {
|
|
|
321
369
|
},
|
|
322
370
|
onLoadStart: function onLoadStart(info) {
|
|
323
371
|
var timeoutId = setTimeout(function () {
|
|
324
|
-
delete
|
|
372
|
+
delete moduleLoadingRequests[info.identifier];
|
|
325
373
|
}, 30000);
|
|
326
374
|
var request = {
|
|
327
375
|
start: performance.now(),
|
|
328
376
|
timeoutId: timeoutId
|
|
329
377
|
};
|
|
330
|
-
|
|
378
|
+
moduleLoadingRequests[info.identifier] = request;
|
|
331
379
|
},
|
|
332
380
|
onLoadComplete: function onLoadComplete(info) {
|
|
333
|
-
var request =
|
|
381
|
+
var request = moduleLoadingRequests[info.identifier];
|
|
334
382
|
if (request) {
|
|
335
383
|
clearTimeout(request.timeoutId);
|
|
336
|
-
delete
|
|
384
|
+
delete moduleLoadingRequests[info.identifier];
|
|
337
385
|
addLoad(extractModuleName(info.identifier), request.start, performance.now());
|
|
338
386
|
}
|
|
339
387
|
},
|
|
@@ -351,7 +399,7 @@ var ModuleLoadingProfiler = exports.ModuleLoadingProfiler = {
|
|
|
351
399
|
}
|
|
352
400
|
};
|
|
353
401
|
function addError(interactionId, name, labelStack, errorType, errorMessage, errorStack, forcedError) {
|
|
354
|
-
var interaction = _constants.
|
|
402
|
+
var interaction = _constants.default.get(interactionId);
|
|
355
403
|
if (interaction != null) {
|
|
356
404
|
interaction.errors.push({
|
|
357
405
|
name: name,
|
|
@@ -364,7 +412,7 @@ function addError(interactionId, name, labelStack, errorType, errorMessage, erro
|
|
|
364
412
|
}
|
|
365
413
|
}
|
|
366
414
|
function addErrorToAll(name, labelStack, errorType, errorMessage, errorStack) {
|
|
367
|
-
_constants.
|
|
415
|
+
_constants.default.forEach(function (interaction) {
|
|
368
416
|
interaction.errors.push({
|
|
369
417
|
name: name,
|
|
370
418
|
labelStack: labelStack,
|
|
@@ -376,10 +424,10 @@ function addErrorToAll(name, labelStack, errorType, errorMessage, errorStack) {
|
|
|
376
424
|
}
|
|
377
425
|
var addProfilerTimings = exports.addProfilerTimings = function addProfilerTimings(interactionId, labelStack, type, actualDuration, baseDuration, startTime, commitTime) {
|
|
378
426
|
var _getConfig2;
|
|
379
|
-
if (
|
|
427
|
+
if (isPerformanceTracingEnabled()) {
|
|
380
428
|
try {
|
|
381
429
|
// for Firefox 102 and older
|
|
382
|
-
performance.measure("\uD83D\uDEF8 ".concat(
|
|
430
|
+
performance.measure("\uD83D\uDEF8 ".concat(labelStackToString(labelStack), " [react-profiler] ").concat(type), {
|
|
383
431
|
start: startTime,
|
|
384
432
|
duration: actualDuration
|
|
385
433
|
});
|
|
@@ -387,7 +435,7 @@ var addProfilerTimings = exports.addProfilerTimings = function addProfilerTiming
|
|
|
387
435
|
// do nothing
|
|
388
436
|
}
|
|
389
437
|
}
|
|
390
|
-
var interaction = _constants.
|
|
438
|
+
var interaction = _constants.default.get(interactionId);
|
|
391
439
|
if (interaction != null) {
|
|
392
440
|
interaction.reactProfilerTimings.push({
|
|
393
441
|
labelStack: labelStack,
|
|
@@ -398,13 +446,25 @@ var addProfilerTimings = exports.addProfilerTimings = function addProfilerTiming
|
|
|
398
446
|
commitTime: commitTime
|
|
399
447
|
});
|
|
400
448
|
} else if ((_getConfig2 = (0, _config.getConfig)()) !== null && _getConfig2 !== void 0 && (_getConfig2 = _getConfig2.postInteractionLog) !== null && _getConfig2 !== void 0 && _getConfig2.enabled) {
|
|
401
|
-
|
|
449
|
+
postInteractionLog.addProfilerTimings(labelStack, type, actualDuration, baseDuration, startTime, commitTime);
|
|
402
450
|
}
|
|
403
451
|
};
|
|
404
|
-
var
|
|
452
|
+
var pushToQueue = function pushToQueue(id, data) {
|
|
453
|
+
interactionQueue.push({
|
|
454
|
+
id: id,
|
|
455
|
+
data: data
|
|
456
|
+
});
|
|
457
|
+
};
|
|
458
|
+
var handleInteraction = pushToQueue;
|
|
459
|
+
function callCleanUpCallbacks(interaction) {
|
|
460
|
+
interaction.cleanupCallbacks.reverse().forEach(function (cleanUpCallback) {
|
|
461
|
+
cleanUpCallback();
|
|
462
|
+
});
|
|
463
|
+
}
|
|
405
464
|
var finishInteraction = function finishInteraction(id, data) {
|
|
406
465
|
var _getConfig3;
|
|
407
466
|
var endTime = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : performance.now();
|
|
467
|
+
// eslint-disable-next-line no-param-reassign
|
|
408
468
|
data.end = endTime;
|
|
409
469
|
try {
|
|
410
470
|
// for Firefox 102 and older
|
|
@@ -416,20 +476,58 @@ var finishInteraction = function finishInteraction(id, data) {
|
|
|
416
476
|
// do nothing
|
|
417
477
|
}
|
|
418
478
|
if (data.featureFlags) {
|
|
479
|
+
// eslint-disable-next-line no-param-reassign
|
|
419
480
|
data.featureFlags.during = Object.fromEntries(_featureFlagsAccessed.currentFeatureFlagsAccessed);
|
|
420
481
|
}
|
|
421
482
|
(0, _experienceTraceIdContext.clearActiveTrace)();
|
|
422
|
-
|
|
483
|
+
callCleanUpCallbacks(data);
|
|
423
484
|
if ((_getConfig3 = (0, _config.getConfig)()) !== null && _getConfig3 !== void 0 && (_getConfig3 = _getConfig3.vc) !== null && _getConfig3 !== void 0 && _getConfig3.stopVCAtInteractionFinish) {
|
|
424
485
|
data.vc = (0, _vc.getVCObserver)().getVCRawData();
|
|
425
486
|
}
|
|
487
|
+
remove(id);
|
|
426
488
|
PreviousInteractionLog.name = data.ufoName || 'unknown';
|
|
427
489
|
PreviousInteractionLog.isAborted = data.abortReason != null;
|
|
428
490
|
if (data.ufoName) {
|
|
429
491
|
handleInteraction(id, data);
|
|
430
492
|
}
|
|
431
|
-
if (
|
|
432
|
-
|
|
493
|
+
if (isPerformanceTracingEnabled()) {
|
|
494
|
+
var profilerTimingMap = new Map();
|
|
495
|
+
data.reactProfilerTimings.forEach(function (profilerTiming) {
|
|
496
|
+
var labelStackId = labelStackToIdString(profilerTiming.labelStack);
|
|
497
|
+
if (labelStackId) {
|
|
498
|
+
var _profilerTimingMap$ge, _timing$start, _timing$end;
|
|
499
|
+
var timing = (_profilerTimingMap$ge = profilerTimingMap.get(labelStackId)) !== null && _profilerTimingMap$ge !== void 0 ? _profilerTimingMap$ge : {
|
|
500
|
+
labelStack: profilerTiming.labelStack
|
|
501
|
+
};
|
|
502
|
+
timing.start = profilerTiming.startTime < ((_timing$start = timing.start) !== null && _timing$start !== void 0 ? _timing$start : Number.MAX_SAFE_INTEGER) ? profilerTiming.startTime : timing.start;
|
|
503
|
+
timing.end = profilerTiming.commitTime > ((_timing$end = timing.end) !== null && _timing$end !== void 0 ? _timing$end : Number.MIN_SAFE_INTEGER) ? profilerTiming.commitTime : timing.end;
|
|
504
|
+
profilerTimingMap.set(labelStackId, timing);
|
|
505
|
+
}
|
|
506
|
+
});
|
|
507
|
+
try {
|
|
508
|
+
// for Firefox 102 and older
|
|
509
|
+
var _iterator2 = _createForOfIteratorHelper(profilerTimingMap.entries()),
|
|
510
|
+
_step2;
|
|
511
|
+
try {
|
|
512
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
513
|
+
var _step2$value = (0, _slicedToArray2.default)(_step2.value, 2),
|
|
514
|
+
_step2$value$ = _step2$value[1],
|
|
515
|
+
labelStack = _step2$value$.labelStack,
|
|
516
|
+
start = _step2$value$.start,
|
|
517
|
+
end = _step2$value$.end;
|
|
518
|
+
performance.measure("\uD83D\uDEF8 ".concat(labelStackToString(labelStack), " [segment_ttai]"), {
|
|
519
|
+
start: start,
|
|
520
|
+
end: end
|
|
521
|
+
});
|
|
522
|
+
}
|
|
523
|
+
} catch (err) {
|
|
524
|
+
_iterator2.e(err);
|
|
525
|
+
} finally {
|
|
526
|
+
_iterator2.f();
|
|
527
|
+
}
|
|
528
|
+
} catch (e) {
|
|
529
|
+
// do nothing
|
|
530
|
+
}
|
|
433
531
|
}
|
|
434
532
|
try {
|
|
435
533
|
// dispatch a global window event to notify the measure is completed
|
|
@@ -441,113 +539,82 @@ var finishInteraction = function finishInteraction(id, data) {
|
|
|
441
539
|
}
|
|
442
540
|
};
|
|
443
541
|
var sinkInteractionHandler = exports.sinkInteractionHandler = function sinkInteractionHandler(sinkFn) {
|
|
444
|
-
if (handleInteraction ===
|
|
542
|
+
if (handleInteraction === pushToQueue) {
|
|
445
543
|
handleInteraction = sinkFn;
|
|
446
|
-
|
|
544
|
+
interactionQueue.forEach(function (interaction) {
|
|
447
545
|
sinkFn(interaction.id, interaction.data);
|
|
448
546
|
});
|
|
449
|
-
|
|
547
|
+
interactionQueue.length = 0;
|
|
450
548
|
}
|
|
451
549
|
};
|
|
452
550
|
var sinkPostInteractionLogHandler = exports.sinkPostInteractionLogHandler = function sinkPostInteractionLogHandler(sinkFn) {
|
|
453
|
-
|
|
551
|
+
postInteractionLog.sinkHandler(sinkFn);
|
|
454
552
|
};
|
|
455
|
-
|
|
456
|
-
// a flag to prevent multiple submitting
|
|
457
|
-
var activeSubmitted = false;
|
|
458
553
|
function tryComplete(interactionId, endTime) {
|
|
459
|
-
var interaction = _constants.
|
|
554
|
+
var interaction = _constants.default.get(interactionId);
|
|
460
555
|
if (interaction != null) {
|
|
461
|
-
var
|
|
462
|
-
|
|
463
|
-
var postInteraction = function postInteraction() {
|
|
556
|
+
var noMoreHolds = interaction.holdActive.size === 0;
|
|
557
|
+
if (noMoreHolds) {
|
|
464
558
|
var _getConfig4;
|
|
559
|
+
finishInteraction(interactionId, interaction, endTime);
|
|
465
560
|
if ((_getConfig4 = (0, _config.getConfig)()) !== null && _getConfig4 !== void 0 && (_getConfig4 = _getConfig4.postInteractionLog) !== null && _getConfig4 !== void 0 && _getConfig4.enabled) {
|
|
466
|
-
|
|
467
|
-
var experimentalVC90 = (_getExperimentalVCMet = (0, _createExperimentalInteractionMetricsPayload.getExperimentalVCMetrics)(interaction)) === null || _getExperimentalVCMet === void 0 ? void 0 : _getExperimentalVCMet['metric:experimental:vc90'];
|
|
468
|
-
var experimentalTTAI = (0, _utils.getTTAI)(interaction);
|
|
469
|
-
_utils.postInteractionLog.onInteractionComplete(_objectSpread(_objectSpread({}, interaction), {}, {
|
|
470
|
-
experimentalTTAI: experimentalTTAI,
|
|
471
|
-
experimentalVC90: experimentalVC90
|
|
472
|
-
}));
|
|
473
|
-
}
|
|
474
|
-
remove(interactionId);
|
|
475
|
-
};
|
|
476
|
-
if (noMoreActiveHolds) {
|
|
477
|
-
if (!activeSubmitted) {
|
|
478
|
-
finishInteraction(interactionId, interaction, endTime);
|
|
479
|
-
activeSubmitted = true;
|
|
480
|
-
}
|
|
481
|
-
if (noMoreExpHolds) {
|
|
482
|
-
var _getConfig5;
|
|
483
|
-
if ((_getConfig5 = (0, _config.getConfig)()) !== null && _getConfig5 !== void 0 && (_getConfig5 = _getConfig5.experimentalInteractionMetrics) !== null && _getConfig5 !== void 0 && _getConfig5.enabled) {
|
|
484
|
-
(0, _createExperimentalInteractionMetricsPayload.onExperimentalInteractionComplete)(interactionId, interaction, endTime);
|
|
485
|
-
}
|
|
486
|
-
postInteraction();
|
|
561
|
+
postInteractionLog.onInteractionComplete(interaction);
|
|
487
562
|
}
|
|
488
563
|
}
|
|
489
564
|
}
|
|
490
565
|
}
|
|
566
|
+
function callCancelCallbacks(interaction) {
|
|
567
|
+
interaction.cancelCallbacks.reverse().forEach(function (cancelCallback) {
|
|
568
|
+
cancelCallback();
|
|
569
|
+
});
|
|
570
|
+
}
|
|
491
571
|
function abort(interactionId, abortReason) {
|
|
492
|
-
var interaction = _constants.
|
|
572
|
+
var interaction = _constants.default.get(interactionId);
|
|
493
573
|
if (interaction != null) {
|
|
494
|
-
|
|
495
|
-
(0, _common.callCancelCallbacks)(interaction);
|
|
574
|
+
callCancelCallbacks(interaction);
|
|
496
575
|
interaction.abortReason = abortReason;
|
|
497
576
|
finishInteraction(interactionId, interaction);
|
|
498
|
-
if ((_getConfig6 = (0, _config.getConfig)()) !== null && _getConfig6 !== void 0 && (_getConfig6 = _getConfig6.experimentalInteractionMetrics) !== null && _getConfig6 !== void 0 && _getConfig6.enabled) {
|
|
499
|
-
(0, _createExperimentalInteractionMetricsPayload.onExperimentalInteractionComplete)(interactionId, interaction);
|
|
500
|
-
}
|
|
501
|
-
remove(interactionId);
|
|
502
577
|
}
|
|
503
578
|
}
|
|
504
579
|
function abortByNewInteraction(interactionId, interactionName) {
|
|
505
|
-
var interaction = _constants.
|
|
580
|
+
var interaction = _constants.default.get(interactionId);
|
|
506
581
|
if (interaction != null) {
|
|
507
|
-
|
|
508
|
-
(0, _common.callCancelCallbacks)(interaction);
|
|
582
|
+
callCancelCallbacks(interaction);
|
|
509
583
|
interaction.abortReason = 'new_interaction';
|
|
510
584
|
interaction.abortedByInteractionName = interactionName;
|
|
511
585
|
finishInteraction(interactionId, interaction);
|
|
512
|
-
if ((_getConfig7 = (0, _config.getConfig)()) !== null && _getConfig7 !== void 0 && (_getConfig7 = _getConfig7.experimentalInteractionMetrics) !== null && _getConfig7 !== void 0 && _getConfig7.enabled) {
|
|
513
|
-
(0, _createExperimentalInteractionMetricsPayload.onExperimentalInteractionComplete)(interactionId, interaction);
|
|
514
|
-
}
|
|
515
|
-
remove(interactionId);
|
|
516
586
|
}
|
|
517
587
|
}
|
|
518
588
|
function abortAll(abortReason, abortedByInteractionName) {
|
|
519
|
-
_constants.
|
|
520
|
-
var _getConfig8;
|
|
589
|
+
_constants.default.forEach(function (interaction, interactionId) {
|
|
521
590
|
var noMoreHolds = interaction.holdActive.size === 0;
|
|
522
591
|
if (!noMoreHolds) {
|
|
523
|
-
|
|
592
|
+
callCancelCallbacks(interaction);
|
|
593
|
+
// eslint-disable-next-line no-param-reassign
|
|
524
594
|
interaction.abortReason = abortReason;
|
|
525
595
|
if (abortedByInteractionName != null) {
|
|
596
|
+
// eslint-disable-next-line no-param-reassign
|
|
526
597
|
interaction.abortedByInteractionName = abortedByInteractionName;
|
|
527
598
|
}
|
|
528
599
|
}
|
|
529
600
|
finishInteraction(interactionId, interaction);
|
|
530
|
-
if ((_getConfig8 = (0, _config.getConfig)()) !== null && _getConfig8 !== void 0 && (_getConfig8 = _getConfig8.experimentalInteractionMetrics) !== null && _getConfig8 !== void 0 && _getConfig8.enabled) {
|
|
531
|
-
(0, _createExperimentalInteractionMetricsPayload.onExperimentalInteractionComplete)(interactionId, interaction);
|
|
532
|
-
}
|
|
533
|
-
remove(interactionId);
|
|
534
601
|
});
|
|
535
602
|
}
|
|
536
603
|
function addOnCancelCallback(id, cancelCallback) {
|
|
537
|
-
var interaction = _constants.
|
|
604
|
+
var interaction = _constants.default.get(id);
|
|
538
605
|
interaction === null || interaction === void 0 || interaction.cancelCallbacks.push(cancelCallback);
|
|
539
606
|
}
|
|
540
607
|
function addNewInteraction(interactionId, ufoName, type, startTime, rate, labelStack, routeName) {
|
|
541
|
-
var
|
|
608
|
+
var _getConfig5;
|
|
542
609
|
var trace = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null;
|
|
543
|
-
if ((
|
|
544
|
-
|
|
610
|
+
if ((_getConfig5 = (0, _config.getConfig)()) !== null && _getConfig5 !== void 0 && (_getConfig5 = _getConfig5.postInteractionLog) !== null && _getConfig5 !== void 0 && _getConfig5.enabled) {
|
|
611
|
+
postInteractionLog.reset();
|
|
545
612
|
}
|
|
546
613
|
var previousTime = startTime;
|
|
547
|
-
var timeoutTime =
|
|
614
|
+
var timeoutTime = CLEANUP_TIMEOUT;
|
|
548
615
|
var timerID = setTimeout(function () {
|
|
549
616
|
abort(interactionId, 'timeout');
|
|
550
|
-
},
|
|
617
|
+
}, CLEANUP_TIMEOUT);
|
|
551
618
|
function changeTimeout(newTime) {
|
|
552
619
|
// we compare if the time left is lower than the new time to no
|
|
553
620
|
// extend the timeout beyond the initial waiting time
|
|
@@ -580,11 +647,9 @@ function addNewInteraction(interactionId, ufoName, type, startTime, rate, labelS
|
|
|
580
647
|
requestInfo: [],
|
|
581
648
|
reactProfilerTimings: [],
|
|
582
649
|
holdInfo: [],
|
|
583
|
-
holdExpInfo: [],
|
|
584
650
|
holdActive: new Map(),
|
|
585
|
-
holdExpActive: new Map(),
|
|
586
651
|
// measure when we execute this code
|
|
587
|
-
// from this
|
|
652
|
+
// from this we can measure the input delay -
|
|
588
653
|
// how long the browser took to hand execution back to JS)
|
|
589
654
|
measureStart: performance.now(),
|
|
590
655
|
rate: rate,
|
|
@@ -609,16 +674,16 @@ function addNewInteraction(interactionId, ufoName, type, startTime, rate, labelS
|
|
|
609
674
|
if (addFeatureFlagsToInteraction) {
|
|
610
675
|
_featureFlagsAccessed.currentFeatureFlagsAccessed.clear();
|
|
611
676
|
}
|
|
612
|
-
_constants.
|
|
677
|
+
_constants.default.set(interactionId, metrics);
|
|
613
678
|
var segmentObserver = {
|
|
614
679
|
onAdd: function onAdd(segment) {
|
|
615
680
|
metrics.knownSegments.push(segment);
|
|
616
681
|
},
|
|
617
682
|
onRemove: function onRemove() {}
|
|
618
683
|
};
|
|
619
|
-
|
|
684
|
+
addSegmentObserver(segmentObserver);
|
|
620
685
|
metrics.cleanupCallbacks.push(function () {
|
|
621
|
-
|
|
686
|
+
removeSegmentObserver(segmentObserver);
|
|
622
687
|
});
|
|
623
688
|
metrics.cleanupCallbacks.push(function () {
|
|
624
689
|
clearTimeout(metrics.timerID);
|
|
@@ -631,13 +696,9 @@ function addNewInteraction(interactionId, ufoName, type, startTime, rate, labelS
|
|
|
631
696
|
(0, _vc.getVCObserver)().start({
|
|
632
697
|
startTime: startTime
|
|
633
698
|
});
|
|
634
|
-
|
|
635
|
-
startTime: startTime
|
|
636
|
-
});
|
|
637
|
-
_createExperimentalInteractionMetricsPayload.experimentalVC.start({
|
|
699
|
+
postInteractionLog.startVCObserver({
|
|
638
700
|
startTime: startTime
|
|
639
701
|
});
|
|
640
|
-
activeSubmitted = false;
|
|
641
702
|
}
|
|
642
703
|
}
|
|
643
704
|
function addBrowserMetricEvent(event) {
|
|
@@ -647,13 +708,13 @@ function addBrowserMetricEvent(event) {
|
|
|
647
708
|
interaction.legacyMetrics = interaction.legacyMetrics || [];
|
|
648
709
|
interaction.legacyMetrics.push(event);
|
|
649
710
|
if ((interaction.type === 'page_load' || interaction.type === 'transition') && ((_event$config = event.config) === null || _event$config === void 0 ? void 0 : _event$config.type) === 'PAGE_LOAD') {
|
|
650
|
-
interaction.changeTimeout(
|
|
711
|
+
interaction.changeTimeout(CLEANUP_TIMEOUT_AFTER_APDEX);
|
|
651
712
|
removeHoldByID(interaction.id, interaction.ufoName);
|
|
652
713
|
}
|
|
653
714
|
}
|
|
654
715
|
}
|
|
655
716
|
function addApdexToAll(apdex) {
|
|
656
|
-
_constants.
|
|
717
|
+
_constants.default.forEach(function (interaction, key) {
|
|
657
718
|
interaction.apdex.push(apdex);
|
|
658
719
|
try {
|
|
659
720
|
var _apdex$startTime;
|
|
@@ -666,13 +727,13 @@ function addApdexToAll(apdex) {
|
|
|
666
727
|
// do nothing
|
|
667
728
|
}
|
|
668
729
|
if (interaction.type === 'page_load' || interaction.type === 'transition') {
|
|
669
|
-
interaction.changeTimeout(
|
|
730
|
+
interaction.changeTimeout(CLEANUP_TIMEOUT_AFTER_APDEX);
|
|
670
731
|
removeHoldByID(key, interaction.ufoName);
|
|
671
732
|
}
|
|
672
733
|
});
|
|
673
734
|
}
|
|
674
735
|
function addApdex(interactionId, apdexInfo) {
|
|
675
|
-
var interaction = _constants.
|
|
736
|
+
var interaction = _constants.default.get(interactionId);
|
|
676
737
|
if (interaction != null) {
|
|
677
738
|
interaction.apdex.push(apdexInfo);
|
|
678
739
|
try {
|
|
@@ -686,44 +747,55 @@ function addApdex(interactionId, apdexInfo) {
|
|
|
686
747
|
// do nothing
|
|
687
748
|
}
|
|
688
749
|
if (interaction.type === 'page_load' || interaction.type === 'transition') {
|
|
689
|
-
interaction.changeTimeout(
|
|
750
|
+
interaction.changeTimeout(CLEANUP_TIMEOUT_AFTER_APDEX);
|
|
690
751
|
removeHoldByID(interactionId, interaction.ufoName);
|
|
691
752
|
}
|
|
692
753
|
}
|
|
693
754
|
}
|
|
694
755
|
function addRequestInfo(interactionId, labelStack, requestInfo) {
|
|
695
|
-
var interaction = _constants.
|
|
756
|
+
var interaction = _constants.default.get(interactionId);
|
|
696
757
|
if (interaction != null) {
|
|
697
758
|
interaction.requestInfo.push(_objectSpread({
|
|
698
759
|
labelStack: labelStack
|
|
699
760
|
}, requestInfo));
|
|
700
761
|
}
|
|
701
762
|
}
|
|
763
|
+
function isSegmentLabel(obj) {
|
|
764
|
+
return obj && typeof obj.name === 'string' && typeof obj.segmentId === 'string';
|
|
765
|
+
}
|
|
766
|
+
function getSegmentCacheKey(labelStack) {
|
|
767
|
+
return labelStack.map(function (l) {
|
|
768
|
+
if (isSegmentLabel(l)) {
|
|
769
|
+
return "".concat(l.name, "_").concat(l.segmentId);
|
|
770
|
+
}
|
|
771
|
+
return l.name;
|
|
772
|
+
}).join('|');
|
|
773
|
+
}
|
|
702
774
|
function addSegment(labelStack) {
|
|
703
|
-
var key =
|
|
704
|
-
var existingSegment =
|
|
775
|
+
var key = getSegmentCacheKey(labelStack);
|
|
776
|
+
var existingSegment = segmentCache.get(key);
|
|
705
777
|
if (!existingSegment) {
|
|
706
778
|
var segmentInfo = {
|
|
707
779
|
labelStack: labelStack
|
|
708
780
|
};
|
|
709
|
-
|
|
710
|
-
|
|
781
|
+
segmentCache.set(key, segmentInfo);
|
|
782
|
+
segmentObservers.forEach(function (observer) {
|
|
711
783
|
observer.onAdd(segmentInfo);
|
|
712
784
|
});
|
|
713
785
|
}
|
|
714
786
|
}
|
|
715
787
|
function removeSegment(labelStack) {
|
|
716
|
-
var key =
|
|
717
|
-
var segmentInfo =
|
|
788
|
+
var key = getSegmentCacheKey(labelStack);
|
|
789
|
+
var segmentInfo = segmentCache.get(key);
|
|
718
790
|
if (segmentInfo) {
|
|
719
|
-
|
|
720
|
-
|
|
791
|
+
segmentCache.delete(JSON.stringify(labelStack));
|
|
792
|
+
segmentObservers.forEach(function (observer) {
|
|
721
793
|
observer.onRemove(segmentInfo);
|
|
722
794
|
});
|
|
723
795
|
}
|
|
724
796
|
}
|
|
725
797
|
function addRedirect(interactionId, fromUfoName, nextUfoName, nextRouteName, time) {
|
|
726
|
-
var interaction = _constants.
|
|
798
|
+
var interaction = _constants.default.get(interactionId);
|
|
727
799
|
if (interaction != null) {
|
|
728
800
|
interaction.ufoName = nextUfoName;
|
|
729
801
|
interaction.routeName = nextRouteName;
|
|
@@ -731,7 +803,7 @@ function addRedirect(interactionId, fromUfoName, nextUfoName, nextRouteName, tim
|
|
|
731
803
|
fromInteractionName: fromUfoName,
|
|
732
804
|
time: time
|
|
733
805
|
});
|
|
734
|
-
if (
|
|
806
|
+
if (isPerformanceTracingEnabled()) {
|
|
735
807
|
var prevRedirect = interaction.redirects.at(-2);
|
|
736
808
|
try {
|
|
737
809
|
var _prevRedirect$time;
|