@atlaskit/react-ufo 4.15.17 → 4.15.19
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 +14 -0
- package/dist/cjs/config/index.js +7 -0
- package/dist/cjs/create-payload/index.js +4 -3
- package/dist/cjs/create-payload/utils/get-vc-metrics.js +2 -0
- package/dist/cjs/interaction-metrics/index.js +139 -28
- package/dist/cjs/vc/index.js +2 -1
- package/dist/cjs/vc/vc-observer-new/index.js +19 -10
- package/dist/es2019/config/index.js +6 -0
- package/dist/es2019/create-payload/index.js +4 -3
- package/dist/es2019/create-payload/utils/get-vc-metrics.js +2 -0
- package/dist/es2019/interaction-metrics/index.js +142 -30
- package/dist/es2019/vc/index.js +2 -1
- package/dist/es2019/vc/vc-observer-new/index.js +14 -3
- package/dist/esm/config/index.js +6 -0
- package/dist/esm/create-payload/index.js +5 -4
- package/dist/esm/create-payload/utils/get-vc-metrics.js +2 -0
- package/dist/esm/interaction-metrics/index.js +140 -29
- package/dist/esm/vc/index.js +2 -1
- package/dist/esm/vc/vc-observer-new/index.js +19 -10
- package/dist/types/common/common/types.d.ts +1 -0
- package/dist/types/config/index.d.ts +1 -0
- package/dist/types/vc/types.d.ts +1 -0
- package/dist/types/vc/vc-observer-new/types.d.ts +1 -0
- package/dist/types-ts4.5/common/common/types.d.ts +1 -0
- package/dist/types-ts4.5/config/index.d.ts +1 -0
- package/dist/types-ts4.5/vc/types.d.ts +1 -0
- package/dist/types-ts4.5/vc/vc-observer-new/types.d.ts +1 -0
- package/package.json +4 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { v4 as createUUID } from 'uuid';
|
|
3
3
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
4
4
|
import coinflip from '../coinflip';
|
|
5
|
-
import { getAwaitBM3TTIList, getCapabilityRate, getConfig, getExperimentalInteractionRate, getExtraInteractionRate, getFinishInteractionOnTransition, getInteractionTimeout, getPostInteractionRate, getReactHydrationStats } from '../config';
|
|
5
|
+
import { getAwaitBM3TTIList, getCapabilityRate, getConfig, getExperimentalInteractionRate, getExtraInteractionRate, getFinishInteractionOnTransition, getInteractionTimeout, getPostInteractionRate, getReactHydrationStats, shouldUseRawDataThirdPartyBehavior } from '../config';
|
|
6
6
|
import { experimentalVC, getExperimentalVCMetrics, onExperimentalInteractionComplete } from '../create-experimental-interaction-metrics-payload';
|
|
7
7
|
import { onSearchPageInteractionComplete } from '../create-extra-search-page-interaction-payload';
|
|
8
8
|
import { sanitizeUfoName, stringifyLabelStackFully } from '../create-payload/common/utils';
|
|
@@ -743,6 +743,7 @@ export function tryComplete(interactionId, endTime) {
|
|
|
743
743
|
if (interaction != null) {
|
|
744
744
|
const noMoreActiveHolds = interaction.holdActive.size === 0;
|
|
745
745
|
const noMoreExpHolds = interaction.holdExpActive.size === 0;
|
|
746
|
+
const shouldUseRawDataThirdParty = shouldUseRawDataThirdPartyBehavior(interaction.ufoName, interaction.type);
|
|
746
747
|
const postInteraction = async () => {
|
|
747
748
|
var _getConfig7, _getConfig7$postInter;
|
|
748
749
|
if ((_getConfig7 = getConfig()) !== null && _getConfig7 !== void 0 && (_getConfig7$postInter = _getConfig7.postInteractionLog) !== null && _getConfig7$postInter !== void 0 && _getConfig7$postInter.enabled) {
|
|
@@ -782,49 +783,99 @@ export function tryComplete(interactionId, endTime) {
|
|
|
782
783
|
activeSubmitted = false;
|
|
783
784
|
};
|
|
784
785
|
if (fg('platform_ufo_enable_ttai_with_3p')) {
|
|
785
|
-
var _interaction$hold3pAc
|
|
786
|
+
var _interaction$hold3pAc;
|
|
786
787
|
const noMoreActive3pHolds = ((_interaction$hold3pAc = interaction.hold3pActive) === null || _interaction$hold3pAc === void 0 ? void 0 : _interaction$hold3pAc.size) === 0 || interaction.hold3pActive === undefined;
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
788
|
+
|
|
789
|
+
// If using raw data third party behavior, wait for 3p holds to clear
|
|
790
|
+
if (shouldUseRawDataThirdParty) {
|
|
791
|
+
// If there are no non-3p holds active, mark the interaction as successful
|
|
792
|
+
// but don't finish until 3p holds are cleared
|
|
793
|
+
if (noMoreActiveHolds && !noMoreActive3pHolds) {
|
|
794
|
+
// Mark interaction as successful by setting endTime, but don't finish yet
|
|
795
|
+
if (endTime !== undefined && interaction.end === 0) {
|
|
796
|
+
interaction.end = endTime;
|
|
794
797
|
}
|
|
795
|
-
|
|
796
|
-
|
|
798
|
+
// Wait for 3p holds to clear before finishing
|
|
799
|
+
return;
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
// If all holds (including 3p) are cleared, finish the interaction
|
|
803
|
+
if (noMoreActiveHolds && noMoreActive3pHolds) {
|
|
804
|
+
if (!activeSubmitted) {
|
|
805
|
+
var _getConfig1, _getConfig1$extraInte, _getConfig10, _getConfig10$extraSea, _getConfig11, _getConfig11$extraSea;
|
|
806
|
+
// Set end3p to current time when 3p holds cleared, but ensure it's at least interaction.end
|
|
807
|
+
const currentTime = endTime !== null && endTime !== void 0 ? endTime : performance.now();
|
|
808
|
+
interaction.end3p = interaction.end !== 0 && currentTime < interaction.end ? interaction.end : currentTime;
|
|
809
|
+
finishInteraction(interactionId, interaction, interaction.end !== 0 ? interaction.end : endTime);
|
|
810
|
+
if ((_getConfig1 = getConfig()) !== null && _getConfig1 !== void 0 && (_getConfig1$extraInte = _getConfig1.extraInteractionMetrics) !== null && _getConfig1$extraInte !== void 0 && _getConfig1$extraInte.enabled) {
|
|
811
|
+
interactionExtraMetrics.updateFinishedInteraction(interaction);
|
|
812
|
+
}
|
|
813
|
+
if ((_getConfig10 = getConfig()) !== null && _getConfig10 !== void 0 && (_getConfig10$extraSea = _getConfig10.extraSearchPageInteraction) !== null && _getConfig10$extraSea !== void 0 && _getConfig10$extraSea.enabled && interaction.ufoName === ((_getConfig11 = getConfig()) === null || _getConfig11 === void 0 ? void 0 : (_getConfig11$extraSea = _getConfig11.extraSearchPageInteraction) === null || _getConfig11$extraSea === void 0 ? void 0 : _getConfig11$extraSea.searchPageMetricName)) {
|
|
814
|
+
onSearchPageInteractionComplete(interactionId, interaction);
|
|
815
|
+
}
|
|
816
|
+
activeSubmitted = true;
|
|
817
|
+
}
|
|
818
|
+
if (noMoreExpHolds) {
|
|
819
|
+
var _getConfig12, _getConfig12$experime;
|
|
820
|
+
if ((_getConfig12 = getConfig()) !== null && _getConfig12 !== void 0 && (_getConfig12$experime = _getConfig12.experimentalInteractionMetrics) !== null && _getConfig12$experime !== void 0 && _getConfig12$experime.enabled) {
|
|
821
|
+
onExperimentalInteractionComplete(interactionId, interaction, endTime || interaction.end);
|
|
822
|
+
}
|
|
823
|
+
postInteraction();
|
|
797
824
|
}
|
|
798
|
-
activeSubmitted = true;
|
|
799
825
|
}
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
826
|
+
// Send separated third-party event even when feature flag is active
|
|
827
|
+
if (noMoreActiveHolds && noMoreActive3pHolds) {
|
|
828
|
+
const data = {
|
|
829
|
+
...interaction,
|
|
830
|
+
end: endTime || interaction.end
|
|
831
|
+
};
|
|
832
|
+
interactionExtraMetrics.onInteractionComplete(interactionId, data);
|
|
833
|
+
}
|
|
834
|
+
} else {
|
|
835
|
+
var _interactionExtraMetr3;
|
|
836
|
+
// Original behavior when feature flag is not active
|
|
837
|
+
if (noMoreActiveHolds && ((_interactionExtraMetr3 = interactionExtraMetrics.finishedInteraction) === null || _interactionExtraMetr3 === void 0 ? void 0 : _interactionExtraMetr3.id) !== interactionId) {
|
|
838
|
+
// If it's not waiting for extra metrics to complete, finish the interaction as normal
|
|
839
|
+
if (!activeSubmitted) {
|
|
840
|
+
var _getConfig13, _getConfig13$extraInt, _getConfig14, _getConfig14$extraSea, _getConfig15, _getConfig15$extraSea;
|
|
841
|
+
finishInteraction(interactionId, interaction, endTime);
|
|
842
|
+
if ((_getConfig13 = getConfig()) !== null && _getConfig13 !== void 0 && (_getConfig13$extraInt = _getConfig13.extraInteractionMetrics) !== null && _getConfig13$extraInt !== void 0 && _getConfig13$extraInt.enabled) {
|
|
843
|
+
interactionExtraMetrics.updateFinishedInteraction(interaction);
|
|
844
|
+
}
|
|
845
|
+
if ((_getConfig14 = getConfig()) !== null && _getConfig14 !== void 0 && (_getConfig14$extraSea = _getConfig14.extraSearchPageInteraction) !== null && _getConfig14$extraSea !== void 0 && _getConfig14$extraSea.enabled && interaction.ufoName === ((_getConfig15 = getConfig()) === null || _getConfig15 === void 0 ? void 0 : (_getConfig15$extraSea = _getConfig15.extraSearchPageInteraction) === null || _getConfig15$extraSea === void 0 ? void 0 : _getConfig15$extraSea.searchPageMetricName)) {
|
|
846
|
+
onSearchPageInteractionComplete(interactionId, interaction);
|
|
847
|
+
}
|
|
848
|
+
activeSubmitted = true;
|
|
849
|
+
}
|
|
850
|
+
if (noMoreExpHolds) {
|
|
851
|
+
var _getConfig16, _getConfig16$experime;
|
|
852
|
+
if ((_getConfig16 = getConfig()) !== null && _getConfig16 !== void 0 && (_getConfig16$experime = _getConfig16.experimentalInteractionMetrics) !== null && _getConfig16$experime !== void 0 && _getConfig16$experime.enabled) {
|
|
853
|
+
onExperimentalInteractionComplete(interactionId, interaction, endTime);
|
|
854
|
+
}
|
|
855
|
+
postInteraction();
|
|
804
856
|
}
|
|
805
|
-
postInteraction();
|
|
806
857
|
}
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
858
|
+
if (noMoreActiveHolds && noMoreActive3pHolds) {
|
|
859
|
+
const data = {
|
|
860
|
+
...interaction,
|
|
861
|
+
end: endTime
|
|
862
|
+
};
|
|
863
|
+
interactionExtraMetrics.onInteractionComplete(interactionId, data);
|
|
864
|
+
}
|
|
814
865
|
}
|
|
815
866
|
} else {
|
|
816
867
|
if (noMoreActiveHolds) {
|
|
817
868
|
if (!activeSubmitted) {
|
|
818
|
-
var
|
|
869
|
+
var _getConfig17, _getConfig17$extraSea, _getConfig18, _getConfig18$extraSea;
|
|
819
870
|
finishInteraction(interactionId, interaction, endTime);
|
|
820
|
-
if ((
|
|
871
|
+
if ((_getConfig17 = getConfig()) !== null && _getConfig17 !== void 0 && (_getConfig17$extraSea = _getConfig17.extraSearchPageInteraction) !== null && _getConfig17$extraSea !== void 0 && _getConfig17$extraSea.enabled && interaction.ufoName === ((_getConfig18 = getConfig()) === null || _getConfig18 === void 0 ? void 0 : (_getConfig18$extraSea = _getConfig18.extraSearchPageInteraction) === null || _getConfig18$extraSea === void 0 ? void 0 : _getConfig18$extraSea.searchPageMetricName)) {
|
|
821
872
|
onSearchPageInteractionComplete(interactionId, interaction);
|
|
822
873
|
}
|
|
823
874
|
activeSubmitted = true;
|
|
824
875
|
}
|
|
825
876
|
if (noMoreExpHolds) {
|
|
826
|
-
var
|
|
827
|
-
if ((
|
|
877
|
+
var _getConfig19, _getConfig19$experime;
|
|
878
|
+
if ((_getConfig19 = getConfig()) !== null && _getConfig19 !== void 0 && (_getConfig19$experime = _getConfig19.experimentalInteractionMetrics) !== null && _getConfig19$experime !== void 0 && _getConfig19$experime.enabled) {
|
|
828
879
|
onExperimentalInteractionComplete(interactionId, interaction, endTime);
|
|
829
880
|
}
|
|
830
881
|
postInteraction();
|
|
@@ -841,6 +892,26 @@ function callCancelCallbacks(interaction) {
|
|
|
841
892
|
export function abort(interactionId, abortReason) {
|
|
842
893
|
const interaction = interactions.get(interactionId);
|
|
843
894
|
if (interaction != null) {
|
|
895
|
+
const shouldUseRawDataThirdParty = shouldUseRawDataThirdPartyBehavior(interaction.ufoName, interaction.type);
|
|
896
|
+
const noMoreActiveHolds = interaction.holdActive.size === 0;
|
|
897
|
+
const has3pHoldsActive = interaction.hold3pActive && interaction.hold3pActive.size > 0;
|
|
898
|
+
|
|
899
|
+
// If only third-party holds are active, finish as successful instead of aborting
|
|
900
|
+
if (shouldUseRawDataThirdParty && noMoreActiveHolds && has3pHoldsActive) {
|
|
901
|
+
const endTime = interaction.end !== 0 ? interaction.end : performance.now();
|
|
902
|
+
interaction.end3p = performance.now();
|
|
903
|
+
finishInteraction(interactionId, interaction, endTime);
|
|
904
|
+
postInteractionLog.reset();
|
|
905
|
+
postInteractionLog.stopVCObserver();
|
|
906
|
+
if (fg('platform_ufo_enable_ttai_with_3p')) {
|
|
907
|
+
interactionExtraMetrics.stopAll(interactionId);
|
|
908
|
+
}
|
|
909
|
+
if (coinflip(getExperimentalInteractionRate(interaction.ufoName, interaction.type))) {
|
|
910
|
+
onExperimentalInteractionComplete(interactionId, interaction, endTime);
|
|
911
|
+
remove(interactionId);
|
|
912
|
+
}
|
|
913
|
+
return;
|
|
914
|
+
}
|
|
844
915
|
callCancelCallbacks(interaction);
|
|
845
916
|
interaction.abortReason = abortReason;
|
|
846
917
|
finishInteraction(interactionId, interaction);
|
|
@@ -858,6 +929,27 @@ export function abort(interactionId, abortReason) {
|
|
|
858
929
|
export function abortByNewInteraction(interactionId, interactionName) {
|
|
859
930
|
const interaction = interactions.get(interactionId);
|
|
860
931
|
if (interaction != null) {
|
|
932
|
+
const shouldUseRawDataThirdParty = shouldUseRawDataThirdPartyBehavior(interaction.ufoName, interaction.type);
|
|
933
|
+
const noMoreActiveHolds = interaction.holdActive.size === 0;
|
|
934
|
+
const has3pHoldsActive = interaction.hold3pActive && interaction.hold3pActive.size > 0;
|
|
935
|
+
|
|
936
|
+
// If only third-party holds are active, finish as successful instead of aborting
|
|
937
|
+
if (shouldUseRawDataThirdParty && noMoreActiveHolds && has3pHoldsActive) {
|
|
938
|
+
const endTime = interaction.end !== 0 ? interaction.end : performance.now();
|
|
939
|
+
// Set end3p to current time, but ensure it's at least interaction.end
|
|
940
|
+
interaction.end3p = performance.now();
|
|
941
|
+
finishInteraction(interactionId, interaction, endTime);
|
|
942
|
+
postInteractionLog.reset();
|
|
943
|
+
postInteractionLog.stopVCObserver();
|
|
944
|
+
if (fg('platform_ufo_enable_ttai_with_3p')) {
|
|
945
|
+
interactionExtraMetrics.stopAll(interactionId);
|
|
946
|
+
}
|
|
947
|
+
if (coinflip(getExperimentalInteractionRate(interaction.ufoName, interaction.type))) {
|
|
948
|
+
onExperimentalInteractionComplete(interactionId, interaction, endTime);
|
|
949
|
+
remove(interactionId);
|
|
950
|
+
}
|
|
951
|
+
return;
|
|
952
|
+
}
|
|
861
953
|
callCancelCallbacks(interaction);
|
|
862
954
|
interaction.abortReason = 'new_interaction';
|
|
863
955
|
interaction.abortedByInteractionName = interactionName;
|
|
@@ -882,6 +974,26 @@ export function abortAll(abortReason, abortedByInteractionName) {
|
|
|
882
974
|
if (isActiveInteraction && abortReason === 'transition' && interaction.type === 'press' && finishInteractions !== null && finishInteractions !== void 0 && finishInteractions.includes(interaction.ufoName) && fg('platform_ufo_enable_finish_interaction_transition')) {
|
|
883
975
|
hasFinished = true;
|
|
884
976
|
}
|
|
977
|
+
const shouldUseRawDataThirdParty = shouldUseRawDataThirdPartyBehavior(interaction.ufoName, interaction.type);
|
|
978
|
+
const noMoreActiveHolds = interaction.holdActive.size === 0;
|
|
979
|
+
const has3pHoldsActive = interaction.hold3pActive && interaction.hold3pActive.size > 0;
|
|
980
|
+
|
|
981
|
+
// If only third-party holds are active, finish as successful instead of aborting
|
|
982
|
+
if (shouldUseRawDataThirdParty && noMoreActiveHolds && has3pHoldsActive) {
|
|
983
|
+
const endTime = interaction.end !== 0 ? interaction.end : performance.now();
|
|
984
|
+
interaction.end3p = performance.now();
|
|
985
|
+
finishInteraction(interactionId, interaction, endTime);
|
|
986
|
+
postInteractionLog.reset();
|
|
987
|
+
postInteractionLog.stopVCObserver();
|
|
988
|
+
if (fg('platform_ufo_enable_ttai_with_3p')) {
|
|
989
|
+
interactionExtraMetrics.stopAll(interactionId);
|
|
990
|
+
}
|
|
991
|
+
if (coinflip(getExperimentalInteractionRate(interaction.ufoName, interaction.type))) {
|
|
992
|
+
onExperimentalInteractionComplete(interactionId, interaction, endTime);
|
|
993
|
+
remove(interactionId);
|
|
994
|
+
}
|
|
995
|
+
return;
|
|
996
|
+
}
|
|
885
997
|
if (!hasFinished) {
|
|
886
998
|
callCancelCallbacks(interaction);
|
|
887
999
|
interaction.abortReason = abortReason;
|
|
@@ -1017,7 +1129,7 @@ export function addNewInteraction(interactionId, ufoName, type, startTime, rate,
|
|
|
1017
1129
|
addHoldByID(interactionId, [], ufoName, ufoName, true);
|
|
1018
1130
|
}
|
|
1019
1131
|
if (type === 'transition' || type === 'page_load') {
|
|
1020
|
-
var
|
|
1132
|
+
var _getConfig20, _getConfig20$postInte, _config$extraInteract;
|
|
1021
1133
|
// Use per-interaction VC observer if available, otherwise fall back to global
|
|
1022
1134
|
const observer = vcObserver;
|
|
1023
1135
|
if (observer) {
|
|
@@ -1028,7 +1140,7 @@ export function addNewInteraction(interactionId, ufoName, type, startTime, rate,
|
|
|
1028
1140
|
}
|
|
1029
1141
|
// Start post interaction observer for all if config is enabled
|
|
1030
1142
|
// in case ufoName is updated at later time
|
|
1031
|
-
if ((
|
|
1143
|
+
if ((_getConfig20 = getConfig()) !== null && _getConfig20 !== void 0 && (_getConfig20$postInte = _getConfig20.postInteractionLog) !== null && _getConfig20$postInte !== void 0 && _getConfig20$postInte.enabled) {
|
|
1032
1144
|
postInteractionLog.startVCObserver({
|
|
1033
1145
|
startTime
|
|
1034
1146
|
});
|
package/dist/es2019/vc/index.js
CHANGED
|
@@ -115,7 +115,8 @@ export class VCObserverWrapper {
|
|
|
115
115
|
isPageVisible: param.isPageVisible,
|
|
116
116
|
interactionAbortReason: param.interactionAbortReason,
|
|
117
117
|
includeRawData,
|
|
118
|
-
includeSSRInV3: param.includeSSRInV3
|
|
118
|
+
includeSSRInV3: param.includeSSRInV3,
|
|
119
|
+
rawDataStopTime: param.rawDataStopTime
|
|
119
120
|
})) : [];
|
|
120
121
|
if (!v3v4Result) {
|
|
121
122
|
return v1v2Result !== null && v1v2Result !== void 0 ? v1v2Result : {};
|
|
@@ -213,7 +213,8 @@ export default class VCObserverNew {
|
|
|
213
213
|
include3p,
|
|
214
214
|
includeSSRRatio,
|
|
215
215
|
excludeSmartAnswersInSearch,
|
|
216
|
-
includeRawData
|
|
216
|
+
includeRawData,
|
|
217
|
+
rawDataStopTime
|
|
217
218
|
} = param;
|
|
218
219
|
const results = [];
|
|
219
220
|
this.addStartEntry(start);
|
|
@@ -316,12 +317,22 @@ export default class VCObserverNew {
|
|
|
316
317
|
if (includeRawData && fg('platform_ufo_enable_vc_raw_data')) {
|
|
317
318
|
const rawVCCalculationStartTime = performance.now();
|
|
318
319
|
const rawHandler = new RawDataHandler();
|
|
320
|
+
// Use rawDataStopTime (end3p) when available to capture observations during 3p holds
|
|
321
|
+
const rawStopTime = rawDataStopTime !== null && rawDataStopTime !== void 0 ? rawDataStopTime : stop;
|
|
322
|
+
const rawOrderedEntries = rawDataStopTime ? this.entriesTimeline.getOrderedEntries({
|
|
323
|
+
start,
|
|
324
|
+
stop: rawStopTime
|
|
325
|
+
}) : orderedEntries;
|
|
319
326
|
const raw = await rawHandler.getRawData({
|
|
320
|
-
entries:
|
|
327
|
+
entries: rawOrderedEntries,
|
|
321
328
|
startTime: start,
|
|
322
|
-
stopTime:
|
|
329
|
+
stopTime: rawStopTime,
|
|
323
330
|
isPageVisible
|
|
324
331
|
});
|
|
332
|
+
results.forEach(result => {
|
|
333
|
+
delete result.vcDetails;
|
|
334
|
+
delete result.ratios;
|
|
335
|
+
});
|
|
325
336
|
if (raw) {
|
|
326
337
|
raw.rawVCTime = Number((performance.now() - rawVCCalculationStartTime).toFixed(2));
|
|
327
338
|
raw.feVCTime = Number((feVCCalculationEndTime - feVCCalculationStartTime).toFixed(2));
|
package/dist/esm/config/index.js
CHANGED
|
@@ -170,6 +170,12 @@ export function getExperimentalInteractionRate(name, interactionType) {
|
|
|
170
170
|
export function getVCRawDataInteractionRate(name, interactionType) {
|
|
171
171
|
return getConfigRate(name, interactionType, 'enableVCRawDataRates');
|
|
172
172
|
}
|
|
173
|
+
export function shouldUseRawDataThirdPartyBehavior(name, interactionType) {
|
|
174
|
+
if (!fg('platform_ufo_raw_data_thirdparty')) {
|
|
175
|
+
return false;
|
|
176
|
+
}
|
|
177
|
+
return getVCRawDataInteractionRate(name, interactionType) > 0;
|
|
178
|
+
}
|
|
173
179
|
export function getPostInteractionRate(name, interactionType) {
|
|
174
180
|
return getConfigRate(name, interactionType, 'postInteractionLog');
|
|
175
181
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _defineProperty from"@babel/runtime/helpers/defineProperty";var _excluded=["labelStack"];import _regeneratorRuntime from"@babel/runtime/regenerator";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){_defineProperty(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{getDocument}from'@atlaskit/browser-apis';import{fg}from'@atlaskit/platform-feature-flags';// Import common utilities
|
|
2
|
-
import{getLighthouseMetrics}from'../additional-payload';import{CHRReporter}from'../assets';import*as bundleEvalTiming from'../bundle-eval-timing';import coinflip from'../coinflip';import{getConfig,getExperimentalInteractionRate,getUfoNameOverrides}from'../config';import{getExperimentalVCMetrics}from'../create-experimental-interaction-metrics-payload';import{getBm3Timings}from'../custom-timings';import{getGlobalErrorCount}from'../global-error-handler';import{getPageVisibilityState}from'../hidden-timing';import*as initialPageLoadExtraTiming from'../initial-page-load-extra-timing';import{interactionSpans as atlaskitInteractionSpans}from'../interaction-metrics';import{createMemoryStateReport,createPressureStateReport}from'../machine-utilisation';import*as resourceTiming from'../resource-timing';import{filterResourceTimings}from'../resource-timing/common/utils/resource-timing-buffer';import{roundEpsilon}from'../round-number';import*as ssr from'../ssr';import{buildSegmentTree,getOldSegmentsLabelStack,labelStackStartWith,optimizeLabelStack,sanitizeUfoName,stringifyLabelStackFully}from'./common/utils';import{createCriticalMetricsPayloads}from'./critical-metrics-payload';import{addPerformanceMeasures}from'./utils/add-performance-measures';import{getBatteryInfoToLegacyFormat}from'./utils/get-battery-info';import{getBrowserMetadataToLegacyFormat}from'./utils/get-browser-metadata';import getInteractionStatus from'./utils/get-interaction-status';import{getMoreAccuratePageVisibilityUpToTTAI}from'./utils/get-more-accurate-page-visibility-up-to-ttai';import{getNavigationMetricsToLegacyFormat}from'./utils/get-navigation-metrics';import getPageVisibilityUpToTTAI from'./utils/get-page-visibility-up-to-ttai';import{getPaintMetricsToLegacyFormat}from'./utils/get-paint-metrics';import getPayloadSize from'./utils/get-payload-size';import{getReactUFOPayloadVersion}from'./utils/get-react-ufo-payload-version';import getSSRDoneTimeValue from'./utils/get-ssr-done-time-value';import getSSRSuccessUtil from'./utils/get-ssr-success';import getTTAI from'./utils/get-ttai';import getVCMetrics from'./utils/get-vc-metrics';import{getVisibilityStateFromPerformance}from'./utils/get-visibility-state-from-performance';import{optimizeApdex}from'./utils/optimize-apdex';import{optimizeCustomTimings}from'./utils/optimize-custom-timings';import{optimizeHoldInfo}from'./utils/optimize-hold-info';import{optimizeMarks}from'./utils/optimize-marks';import{optimizeReactProfilerTimings}from'./utils/optimize-react-profiler-timings';import{optimizeRequestInfo}from'./utils/optimize-request-info';import{optimizeSpans}from'./utils/optimize-spans';var MAX_PAYLOAD_SIZE=230;function getUfoNameOverride(interaction){var ufoName=interaction.ufoName,apdex=interaction.apdex;try{var ufoNameOverrides=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(!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 getPageVisibilityState(start,bm3EndTimeOrInteractionEndTime);}function getMoreAccuratePageVisibilityUpToTTI(interaction){var old=getPageVisibilityUpToTTI(interaction);var tti=getEarliestLegacyStopTime(interaction,[]);if(!tti){return old;}var buffered=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=getConfig();var interactionStatus=getInteractionStatus(interaction);var pageVisibilityUpToTTAI=getPageVisibilityUpToTTAI(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?getLighthouseMetrics({start:start,stop:tti}):null;var PPSMetricsAtTTAI=ttai!==undefined?getLighthouseMetrics({start:start,stop:interaction.end}):null;if(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:getSSRSuccessUtil(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=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
|
|
2
|
+
import{getLighthouseMetrics}from'../additional-payload';import{CHRReporter}from'../assets';import*as bundleEvalTiming from'../bundle-eval-timing';import coinflip from'../coinflip';import{getConfig,getExperimentalInteractionRate,getUfoNameOverrides,shouldUseRawDataThirdPartyBehavior}from'../config';import{getExperimentalVCMetrics}from'../create-experimental-interaction-metrics-payload';import{getBm3Timings}from'../custom-timings';import{getGlobalErrorCount}from'../global-error-handler';import{getPageVisibilityState}from'../hidden-timing';import*as initialPageLoadExtraTiming from'../initial-page-load-extra-timing';import{interactionSpans as atlaskitInteractionSpans}from'../interaction-metrics';import{createMemoryStateReport,createPressureStateReport}from'../machine-utilisation';import*as resourceTiming from'../resource-timing';import{filterResourceTimings}from'../resource-timing/common/utils/resource-timing-buffer';import{roundEpsilon}from'../round-number';import*as ssr from'../ssr';import{buildSegmentTree,getOldSegmentsLabelStack,labelStackStartWith,optimizeLabelStack,sanitizeUfoName,stringifyLabelStackFully}from'./common/utils';import{createCriticalMetricsPayloads}from'./critical-metrics-payload';import{addPerformanceMeasures}from'./utils/add-performance-measures';import{getBatteryInfoToLegacyFormat}from'./utils/get-battery-info';import{getBrowserMetadataToLegacyFormat}from'./utils/get-browser-metadata';import getInteractionStatus from'./utils/get-interaction-status';import{getMoreAccuratePageVisibilityUpToTTAI}from'./utils/get-more-accurate-page-visibility-up-to-ttai';import{getNavigationMetricsToLegacyFormat}from'./utils/get-navigation-metrics';import getPageVisibilityUpToTTAI from'./utils/get-page-visibility-up-to-ttai';import{getPaintMetricsToLegacyFormat}from'./utils/get-paint-metrics';import getPayloadSize from'./utils/get-payload-size';import{getReactUFOPayloadVersion}from'./utils/get-react-ufo-payload-version';import getSSRDoneTimeValue from'./utils/get-ssr-done-time-value';import getSSRSuccessUtil from'./utils/get-ssr-success';import getTTAI from'./utils/get-ttai';import getVCMetrics from'./utils/get-vc-metrics';import{getVisibilityStateFromPerformance}from'./utils/get-visibility-state-from-performance';import{optimizeApdex}from'./utils/optimize-apdex';import{optimizeCustomTimings}from'./utils/optimize-custom-timings';import{optimizeHoldInfo}from'./utils/optimize-hold-info';import{optimizeMarks}from'./utils/optimize-marks';import{optimizeReactProfilerTimings}from'./utils/optimize-react-profiler-timings';import{optimizeRequestInfo}from'./utils/optimize-request-info';import{optimizeSpans}from'./utils/optimize-spans';var MAX_PAYLOAD_SIZE=230;function getUfoNameOverride(interaction){var ufoName=interaction.ufoName,apdex=interaction.apdex;try{var ufoNameOverrides=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(!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 getPageVisibilityState(start,bm3EndTimeOrInteractionEndTime);}function getMoreAccuratePageVisibilityUpToTTI(interaction){var old=getPageVisibilityUpToTTI(interaction);var tti=getEarliestLegacyStopTime(interaction,[]);if(!tti){return old;}var buffered=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=getConfig();var interactionStatus=getInteractionStatus(interaction);var pageVisibilityUpToTTAI=getPageVisibilityUpToTTAI(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?getLighthouseMetrics({start:start,stop:tti}):null;var PPSMetricsAtTTAI=ttai!==undefined?getLighthouseMetrics({start:start,stop:interaction.end}):null;if(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:getSSRSuccessUtil(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=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 CHRReporter();var resourceTimings=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
|
|
@@ -7,12 +7,13 @@ browserTimeOrigin:+(performance.timeOrigin+start).toFixed(2)}};}return tracingCo
|
|
|
7
7
|
if(cohortingCustomData&&cohortingCustomData.size>0){var _interaction$labelSta,_customDataMap$get$da,_customDataMap$get,_interaction$labelSta2;var label=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:optimizeLabelStack((_interaction$labelSta2=interaction.labelStack)!==null&&_interaction$labelSta2!==void 0?_interaction$labelSta2:[],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=_slicedToArray(_Object$entries[_i],2),key=_Object$entries$_i[0],_value=_Object$entries$_i[1];var _label=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:optimizeLabelStack([],getReactUFOPayloadVersion(interaction.type)),data:Object.assign(labelValue,_defineProperty({},key,_value))});}return result;},new Map());return[].concat(_toConsumableArray(customDataMap.values()),_toConsumableArray(legacyMetricsFiltered.values()));}return _toConsumableArray(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(_defineProperty({},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: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=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
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':getGlobalErrorCount(),'ufo:errors:count':interaction.errors.length};}function createInteractionMetricsPayload(_x,_x2,_x3,_x4,_x5){return _createInteractionMetricsPayload.apply(this,arguments);}function _createInteractionMetricsPayload(){_createInteractionMetricsPayload=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(interaction,interactionId,experimental,criticalPayloadCount,vcMetrics){var _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,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,properties,interactionMetrics,_iterator,_step,field,trimmedFields;return _regeneratorRuntime.wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:interactionPayloadStart=performance.now();config=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=getPageVisibilityUpToTTAI(interaction);segments=!fg('platform_ufo_remove_deprecated_config_fields')&&config.killswitchNestedSegments?[]:knownSegments;segmentTree=getReactUFOPayloadVersion(interaction.type)==='2.0.0'?buildSegmentTree(segments.map(function(segment){return segment.labelStack;})):{};isDetailedPayload=pageVisibilityAtTTAI==='visible';isPageLoad=type==='page_load';calculatePageVisibilityFromTheStartOfPageLoad=config.enableBetterPageVisibilityApi&&isPageLoad;moreAccuratePageVisibilityAtTTI=calculatePageVisibilityFromTheStartOfPageLoad?getMoreAccuratePageVisibilityUpToTTI(interaction):null;moreAccuratePageVisibilityAtTTAI=calculatePageVisibilityFromTheStartOfPageLoad?getMoreAccuratePageVisibilityUpToTTAI(interaction):null;labelStack=interaction.labelStack?{labelStack:optimizeLabelStack(interaction.labelStack,getReactUFOPayloadVersion(interaction.type))}:{};// Page Load
|
|
9
9
|
getInitialPageLoadSSRMetrics=function getInitialPageLoadSSRMetrics(){var _config$ssr;if(!isPageLoad){return{};}var config=getConfig();var SSRDoneTimeValue=getSSRDoneTimeValue(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(_toConsumableArray(interaction.spans),_toConsumableArray(atlaskitInteractionSpans));atlaskitInteractionSpans.length=0;
|
|
10
|
+
getDetailedInteractionMetrics=function getDetailedInteractionMetrics(resourceTimings){if(experimental||window.__UFO_COMPACT_PAYLOAD__||!isDetailedPayload){return{};}var spans=[].concat(_toConsumableArray(interaction.spans),_toConsumableArray(atlaskitInteractionSpans));atlaskitInteractionSpans.length=0;var shouldInclude3pHolds=shouldUseRawDataThirdPartyBehavior(ufoName,type);var basePayload={errors:interaction.errors.map(function(_ref2){var labelStack=_ref2.labelStack,others=_objectWithoutProperties(_ref2,_excluded);return _objectSpread(_objectSpread({},others),{},{labelStack:labelStack&&optimizeLabelStack(labelStack,getReactUFOPayloadVersion(interaction.type))});}),holdActive:_toConsumableArray(interaction.holdActive.values()),redirects:optimizeRedirects(interaction.redirects,start),holdInfo:optimizeHoldInfo(experimental?interaction.holdExpInfo:interaction.holdInfo,start,getReactUFOPayloadVersion(interaction.type)),spans:optimizeSpans(spans,start,getReactUFOPayloadVersion(interaction.type)),requestInfo:optimizeRequestInfo(interaction.requestInfo,start,getReactUFOPayloadVersion(interaction.type)),customTimings:optimizeCustomTimings(interaction.customTimings,start),bundleEvalTimings:objectToArray(getBundleEvalTimings(start)),resourceTimings:objectToArray(resourceTimings)};// Include third-party holds when feature flag is active
|
|
11
|
+
if(shouldInclude3pHolds){var _interaction$hold3pIn;return _objectSpread(_objectSpread({},basePayload),{},{hold3pActive:interaction.hold3pActive?_toConsumableArray(interaction.hold3pActive.values()):[],hold3pInfo:optimizeHoldInfo((_interaction$hold3pIn=interaction.hold3pInfo)!==null&&_interaction$hold3pIn!==void 0?_interaction$hold3pIn:[],start,getReactUFOPayloadVersion(interaction.type))});}return basePayload;};// Page load & detailed payload
|
|
11
12
|
getPageLoadDetailedInteractionMetrics=function getPageLoadDetailedInteractionMetrics(){var _config$ssr2,_config$ssr2$getSSRTi;if(!isPageLoad||!isDetailedPayload){return{};}var initialPageLoadExtraTimings=objectToArray(initialPageLoadExtraTiming.getTimings());var config=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(_toConsumableArray(ssrTimingsFromConfig),_toConsumableArray(defaultSSRTimings)):defaultSSRTimings};};if(experimental){expTTAI=getTTAI(interaction);}else{regularTTAI=getTTAI(interaction);}newUFOName=sanitizeUfoName(ufoName);resourceTimings=getResourceTimings(start,end);_context.t0=Promise;_context.t1=vcMetrics;if(_context.t1){_context.next=28;break;}_context.next=27;return getVCMetrics(interaction);case 27:_context.t1=_context.sent;case 28:_context.t2=_context.t1;_context.t3=experimental?getExperimentalVCMetrics(interaction):Promise.resolve(undefined);_context.t4=getPaintMetricsToLegacyFormat(type,end);_context.t5=getBatteryInfoToLegacyFormat();_context.t6=[_context.t2,_context.t3,_context.t4,_context.t5];_context.next=35;return _context.t0.all.call(_context.t0,_context.t6);case 35:_yield$Promise$all=_context.sent;_yield$Promise$all2=_slicedToArray(_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){addPerformanceMeasures(interaction.start,_toConsumableArray((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({// basic
|
|
12
13
|
'event:hostname':((_window$location=window.location)===null||_window$location===void 0?void 0:_window$location.hostname)||'unknown','event:product':config.product,'event:schema':'1.0.0','event:sizeInKb':0,'event:source':{name:'react-ufo/web',version: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
|
|
13
|
-
'event:cpu:usage':createPressureStateReport(interaction.start,interaction.end),'event:memory:usage':createMemoryStateReport(interaction.start,interaction.end)},criticalPayloadCount!==undefined?{'ufo:multipayload':true,'ufo:criticalPayloadCount':criticalPayloadCount}:{}),getBrowserMetadataToLegacyFormat()),batteryInfo),getSSRProperties(type)),getAssetsMetrics(interaction,pageLoadInteractionMetrics===null||pageLoadInteractionMetrics===void 0?void 0:pageLoadInteractionMetrics.SSRDoneTime)),getPPSMetrics(interaction)),paintMetrics),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({namePrefix:config.namePrefix||'',segmentPrefix:config.segmentPrefix||'',interactionId:interactionId,pageVisibilityAtTTI:pageVisibilityAtTTI,pageVisibilityAtTTAI:pageVisibilityAtTTAI,experimental__pageVisibilityAtTTI:moreAccuratePageVisibilityAtTTI,experimental__pageVisibilityAtTTAI:moreAccuratePageVisibilityAtTTAI,// raw interaction metrics
|
|
14
|
+
'event:cpu:usage':createPressureStateReport(interaction.start,interaction.end),'event:memory:usage':createMemoryStateReport(interaction.start,interaction.end)},criticalPayloadCount!==undefined?{'ufo:multipayload':true,'ufo:criticalPayloadCount':criticalPayloadCount}:{}),getBrowserMetadataToLegacyFormat()),batteryInfo),getSSRProperties(type)),getAssetsMetrics(interaction,pageLoadInteractionMetrics===null||pageLoadInteractionMetrics===void 0?void 0:pageLoadInteractionMetrics.SSRDoneTime)),getPPSMetrics(interaction)),paintMetrics),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
|
|
14
15
|
rate:rate,routeName:routeName,type:type,abortReason:abortReason,featureFlags:featureFlags,previousInteractionName:previousInteractionName,isPreviousInteractionAborted:isPreviousInteractionAborted,abortedByInteractionName:abortedByInteractionName,// performance
|
|
15
|
-
apdex:optimizeApdex(interaction.apdex,getReactUFOPayloadVersion(interaction.type)),end:Math.round(end),start:Math.round(start),segments:getReactUFOPayloadVersion(interaction.type)==='2.0.0'?segmentTree:getOldSegmentsLabelStack(segments,interaction.type),marks:optimizeMarks(interaction.marks,getReactUFOPayloadVersion(interaction.type)),customData:optimizeCustomData(interaction),reactProfilerTimings:optimizeReactProfilerTimings(interaction.reactProfilerTimings,start,getReactUFOPayloadVersion(interaction.type)),minorInteractions:interaction.minorInteractions},responsiveness?{responsiveness:responsiveness}:{}),labelStack),pageLoadInteractionMetrics),getDetailedInteractionMetrics(resourceTimings)),getPageLoadDetailedInteractionMetrics()),getBm3TrackerTimings(interaction)),{},{'metric:ttai':experimental?regularTTAI||expTTAI:undefined,'metric:experimental:ttai':expTTAI},unknownElementName?{unknownElementName:unknownElementName}:{}),unknownElementHierarchy?{unknownElementHierarchy:unknownElementHierarchy}:{}),'ufo:payloadTime':roundEpsilon(performance.now()-interactionPayloadStart)})}};if(experimental){regularTTAI=undefined;expTTAI=undefined;}if(fg('platform_ufo_enable_vc_raw_data')){size=getPayloadSize(payload.attributes.properties);vcRev=payload.attributes.properties['ufo:vc:rev'];rawData=vcRev.find(function(item){return item.revision==='raw-handler';});if(rawData){rawDataSize=getPayloadSize(rawData);payload.attributes.properties['ufo:vc:raw:size']=rawDataSize;if(size>MAX_PAYLOAD_SIZE&&Array.isArray(vcRev)&&vcRev.length>0){payload.attributes.properties['ufo:vc:rev']=vcRev.filter(function(item){return item.revision!=='raw-handler';});payload.attributes.properties['ufo:vc:raw:removed']=true;}}payload.attributes.properties['event:sizeInKb']=getPayloadSize(payload.attributes.properties);}else{payload.attributes.properties['event:sizeInKb']=getPayloadSize(payload.attributes.properties);}if(!fg('platform_ufo_enable_trimmed_payload')){_context.next=74;break;}// in order of importance, first one being least important
|
|
16
|
+
apdex:optimizeApdex(interaction.apdex,getReactUFOPayloadVersion(interaction.type)),end:Math.round(end)},interaction.end3p?{end3p:Math.round(interaction.end3p)}:{}),{},{start:Math.round(start),segments:getReactUFOPayloadVersion(interaction.type)==='2.0.0'?segmentTree:getOldSegmentsLabelStack(segments,interaction.type),marks:optimizeMarks(interaction.marks,getReactUFOPayloadVersion(interaction.type)),customData:optimizeCustomData(interaction),reactProfilerTimings:optimizeReactProfilerTimings(interaction.reactProfilerTimings,start,getReactUFOPayloadVersion(interaction.type)),minorInteractions:interaction.minorInteractions},responsiveness?{responsiveness:responsiveness}:{}),labelStack),pageLoadInteractionMetrics),getDetailedInteractionMetrics(resourceTimings)),getPageLoadDetailedInteractionMetrics()),getBm3TrackerTimings(interaction)),{},{'metric:ttai':experimental?regularTTAI||expTTAI:undefined,'metric:experimental:ttai':expTTAI},unknownElementName?{unknownElementName:unknownElementName}:{}),unknownElementHierarchy?{unknownElementHierarchy:unknownElementHierarchy}:{}),'ufo:payloadTime':roundEpsilon(performance.now()-interactionPayloadStart)})}};if(experimental){regularTTAI=undefined;expTTAI=undefined;}if(fg('platform_ufo_enable_vc_raw_data')){size=getPayloadSize(payload.attributes.properties);vcRev=payload.attributes.properties['ufo:vc:rev'];rawData=vcRev.find(function(item){return item.revision==='raw-handler';});if(rawData){rawDataSize=getPayloadSize(rawData);payload.attributes.properties['ufo:vc:raw:size']=rawDataSize;if(size>MAX_PAYLOAD_SIZE&&Array.isArray(vcRev)&&vcRev.length>0){payload.attributes.properties['ufo:vc:rev']=vcRev.filter(function(item){return item.revision!=='raw-handler';});payload.attributes.properties['ufo:vc:raw:removed']=true;}}payload.attributes.properties['event:sizeInKb']=getPayloadSize(payload.attributes.properties);}else{payload.attributes.properties['event:sizeInKb']=getPayloadSize(payload.attributes.properties);}if(!fg('platform_ufo_enable_trimmed_payload')){_context.next=74;break;}// in order of importance, first one being least important
|
|
16
17
|
// we can add more fields as necessary
|
|
17
18
|
interactionMetricsFieldsToTrim=['requestInfo','featureFlags','resourceTimings'];properties=payload.attributes.properties;interactionMetrics=properties.interactionMetrics;if(!interactionMetrics){_context.next=74;break;}_iterator=_createForOfIteratorHelper(interactionMetricsFieldsToTrim);_context.prev=52;_iterator.s();case 54:if((_step=_iterator.n()).done){_context.next=66;break;}field=_step.value;if(!(getPayloadSize(properties)<=MAX_PAYLOAD_SIZE)){_context.next=58;break;}return _context.abrupt("continue",64);case 58: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 64:_context.next=54;break;case 66:_context.next=71;break;case 68:_context.prev=68;_context.t7=_context["catch"](52);_iterator.e(_context.t7);case 71:_context.prev=71;_iterator.f();return _context.finish(71);case 74:return _context.abrupt("return",payload);case 75:case"end":return _context.stop();}},_callee,null,[[52,68,71,74]]);}));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
|
|
18
19
|
_context2.next=6;return getVCMetrics(interaction);case 6:vcMetrics=_context2.sent;if(!isCriticalMetricsEnabled){_context2.next=13;break;}_context2.next=10;return createCriticalMetricsPayloads(interactionId,interaction,vcMetrics);case 10:_context2.t0=_context2.sent;_context2.next=14;break;case 13:_context2.t0=[];case 14:criticalMetricsPayloads=_context2.t0;payloads.push.apply(payloads,_toConsumableArray(criticalMetricsPayloads));criticalPayloadCount=isCriticalMetricsEnabled?criticalMetricsPayloads.length:undefined;_context2.next=19;return createInteractionMetricsPayload(modifiedInteraction,interactionId,undefined,criticalPayloadCount,vcMetrics);case 19:interactionMetricsPayload=_context2.sent;payloads.push(interactionMetricsPayload);return _context2.abrupt("return",payloads.filter(Boolean));case 22: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,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:pageVisibilityState=getPageVisibilityState(interaction.start,interaction.end);if(!(pageVisibilityState!=='visible')){_context3.next=10;break;}return _context3.abrupt("return",null);case 10:_context3.next=12;return createInteractionMetricsPayload(interaction,interactionId,true);case 12:result=_context3.sent;return _context3.abrupt("return",result);case 14: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
|
|
@@ -73,6 +73,8 @@ function _getVCMetrics() {
|
|
|
73
73
|
return observer.getVCResult(_objectSpread(_objectSpread({
|
|
74
74
|
start: interaction.start,
|
|
75
75
|
stop: interaction.end,
|
|
76
|
+
// Use end3p when available to capture raw data observations during 3p holds
|
|
77
|
+
rawDataStopTime: interaction.end3p,
|
|
76
78
|
tti: tti,
|
|
77
79
|
prefix: prefix,
|
|
78
80
|
includeSSRInV3: (_config$vc2 = config.vc) === null || _config$vc2 === void 0 ? void 0 : _config$vc2.includeSSRInV3,
|