419 lines
16 KiB
JavaScript
419 lines
16 KiB
JavaScript
// Metro module 1167 (f1168).
|
|
import { getReactNavigationIntegration } from "./Module1168";
|
|
import { debug } from "./Module817";
|
|
import { NATIVE } from "./Module1001";
|
|
import { UI_LOAD_FULL_DISPLAY, UI_LOAD_INITIAL_DISPLAY } from "./Module1155";
|
|
import { createSpanJSON } from "./createSpanJSON";
|
|
import { SPAN_ORIGIN_MANUAL_UI_TIME_TO_DISPLAY, SPAN_ORIGIN_AUTO_UI_TIME_TO_DISPLAY } from "./Module1158";
|
|
import { SPAN_THREAD_NAME, SPAN_THREAD_NAME_JAVASCRIPT } from "./startIdleSpan";
|
|
import { getTimeToInitialDisplayFallback } from "./Module1169";
|
|
import { SEMANTIC_ATTRIBUTE_ROUTE_HAS_BEEN_SEEN } from "./Module1157";
|
|
function $mk117647($env) {
|
|
return function(a0) {
|
|
a0($env[0]);
|
|
};
|
|
}
|
|
function $mk117649($env) {
|
|
return async function addTimeToFullDisplay(a0) {
|
|
let r140;
|
|
let env31884 = {
|
|
$parent: $env
|
|
};
|
|
env31884[0] = a0.event;
|
|
env31884[1] = a0.rootSpanId;
|
|
env31884[2] = a0.transactionStartTimestampSeconds;
|
|
env31884[3] = a0.ttidSpan;
|
|
env31884[4] = void 0;
|
|
let c32095_0, c32095_1;
|
|
L32: {
|
|
L29: {
|
|
let env32161;
|
|
c32095_1 = env31884;
|
|
const r11 = env32161 = {
|
|
$parent: env31884.$parent
|
|
};
|
|
c32095_0 = r11;
|
|
env32161[0] = void 0;
|
|
env32161[1] = void 0;
|
|
env32161[2] = void 0;
|
|
env32161[3] = void 0;
|
|
env32161[0] = await NATIVE.popTimeToDisplayFor(`ttfd-${env31884[1]}`);
|
|
if (!env31884[3]) {
|
|
break L32;
|
|
}
|
|
if (env32161[0]) {
|
|
env31884[0].spans = env31884[0].spans || [];
|
|
const spans = env31884[0].spans;
|
|
env31884[4] = spans;
|
|
env32161[1] = spans !== null ? env31884[4] !== void 0 ? env31884[4].find($mk119078(c32095_0.$parent)) : void 0 : void 0;
|
|
env32161[2] = env32161[0];
|
|
if (env31884[3].timestamp && env32161[0] < env31884[3].timestamp && env31884[3].timestamp) {
|
|
env32161[2] = env31884[3].timestamp;
|
|
}
|
|
env32161[3] = 1000 * (env32161[2] - env31884[2]);
|
|
if ((env32161[1] == null ? void 0 : env32161[1].status) && env32161[1].status !== "ok") {
|
|
env32161[1].status = "ok";
|
|
env32161[1].timestamp = env32161[2];
|
|
debug.log(`[${c971_3}] Updated existing ttfd span.`, env32161[1]);
|
|
r140 = env32161[1];
|
|
break L29;
|
|
}
|
|
const status = (0, isDeadlineExceeded)(env32161[3]) ? "deadline_exceeded" : "ok";
|
|
const data = {};
|
|
data[SPAN_THREAD_NAME] = SPAN_THREAD_NAME_JAVASCRIPT;
|
|
env32161[1] = createSpanJSON({
|
|
status,
|
|
op: UI_LOAD_FULL_DISPLAY,
|
|
description: "Time To Full Display",
|
|
start_timestamp: env31884[2],
|
|
timestamp: env32161[2],
|
|
origin: SPAN_ORIGIN_MANUAL_UI_TIME_TO_DISPLAY,
|
|
parent_span_id: env31884[1],
|
|
data
|
|
});
|
|
debug.log(`[${c971_3}] Added ttfd span to transaction.`, env32161[1]);
|
|
env31884[0].spans.push(env32161[1]);
|
|
r140 = env32161[1];
|
|
break L29;
|
|
}
|
|
break L32;
|
|
}
|
|
return r140;
|
|
}
|
|
};
|
|
}
|
|
function $mk119076($env) {
|
|
return (a0) => a0.op === UI_LOAD_INITIAL_DISPLAY;
|
|
}
|
|
function $mk119077($env) {
|
|
return async function addAutomaticTimeToInitialDisplay(a0) {
|
|
let r123, r124, r211;
|
|
let env32185 = {
|
|
$parent: $env
|
|
};
|
|
env32185[0] = a0.event;
|
|
env32185[1] = a0.rootSpanId;
|
|
env32185[2] = a0.transactionStartTimestampSeconds;
|
|
env32185[3] = a0.enableTimeToInitialDisplayForPreloadedRoutes;
|
|
env32185[4] = void 0;
|
|
env32185[5] = void 0;
|
|
env32185[6] = void 0;
|
|
env32185[7] = void 0;
|
|
env32185[8] = void 0;
|
|
env32185[9] = void 0;
|
|
let c32191_0, c32191_1;
|
|
L45: {
|
|
L24: {
|
|
let env32193;
|
|
c32191_1 = env32185;
|
|
const r10 = env32193 = {};
|
|
c32191_0 = r10;
|
|
env32193[0] = void 0;
|
|
env32193[1] = void 0;
|
|
env32193[2] = void 0;
|
|
env32193[3] = void 0;
|
|
env32193[4] = void 0;
|
|
env32193[5] = void 0;
|
|
const r53 = await NATIVE.popTimeToDisplayFor(`ttid-navigation-${env32185[1]}`);
|
|
env32193[0] = r53;
|
|
env32193[1] = await getTimeToInitialDisplayFallback(env32185[1]);
|
|
const contexts = env32185[0].contexts;
|
|
env32185[4] = contexts;
|
|
const r91 = contexts !== null ? env32185[4] !== void 0 ? env32185[4].trace : void 0 : void 0;
|
|
env32185[5] = r91;
|
|
const r93 = r91 !== null ? r91 !== void 0 ? r91.data : void 0 : void 0;
|
|
env32185[6] = r93;
|
|
let r98 = void 0;
|
|
if (r93 !== null) {
|
|
r98 = void 0;
|
|
if (r93 !== void 0) {
|
|
r98 = r93[SEMANTIC_ATTRIBUTE_ROUTE_HAS_BEEN_SEEN];
|
|
}
|
|
}
|
|
if (r98) {
|
|
if (!env32185[3]) {
|
|
debug.log(`[${c971_3}] Route has been seen and time to initial display is disabled for preloaded routes.`);
|
|
break L24;
|
|
}
|
|
}
|
|
if (env32193[0] != null) {
|
|
const r122 = c32191_0;
|
|
r123 = env32193[0];
|
|
r124 = r122;
|
|
} else {
|
|
r124 = c32191_0;
|
|
r123 = env32193[1];
|
|
}
|
|
env32193[2] = r123;
|
|
const r125 = env32193[2];
|
|
if (r125) {
|
|
const contexts2 = env32185[0].contexts;
|
|
env32185[7] = contexts2;
|
|
const r129 = contexts2 !== null ? env32185[7] !== void 0 ? env32185[7].app : void 0 : void 0;
|
|
env32185[8] = r129;
|
|
env32193[3] = r129 !== null ? r129 !== void 0 ? r129.view_names : void 0 : void 0;
|
|
const isArray = Array.isArray(env32193[3]);
|
|
const r153 = env32193[3];
|
|
const r154 = isArray ? r153[0] : r153;
|
|
env32193[4] = r154;
|
|
const description = env32193[4] ? `${env32193[4]} initial display` : "Time To Initial Display";
|
|
const data = {};
|
|
data[SPAN_THREAD_NAME] = SPAN_THREAD_NAME_JAVASCRIPT;
|
|
env32193[5] = createSpanJSON({
|
|
op: UI_LOAD_INITIAL_DISPLAY,
|
|
description,
|
|
start_timestamp: env32185[2],
|
|
timestamp: env32193[2],
|
|
origin: SPAN_ORIGIN_AUTO_UI_TIME_TO_DISPLAY,
|
|
parent_span_id: env32185[1],
|
|
data
|
|
});
|
|
const r192 = env32185[0];
|
|
const spans = env32185[0].spans;
|
|
env32185[9] = spans;
|
|
r192.spans = spans !== null ? env32185[9] !== void 0 ? env32185[9] : [] : [];
|
|
env32185[0].spans.push(env32193[5]);
|
|
r211 = env32193[5];
|
|
break L45;
|
|
}
|
|
debug.log(`[${c971_3}] No automatic ttid end timestamp found for span ${env32185[1]}.`);
|
|
}
|
|
return void 0;
|
|
}
|
|
return r211;
|
|
};
|
|
}
|
|
function $mk119078($env) {
|
|
return (a0) => a0.op === UI_LOAD_FULL_DISPLAY;
|
|
}
|
|
let c971_3, isDeadlineExceeded;
|
|
let env971 = {};
|
|
const c971_2 = (this ? this.__awaiter : this) || function(c12873_0, c12873_1, a2, c12873_3) {
|
|
let r2 = a2;
|
|
let Promise2 = a2;
|
|
if (!a2) {
|
|
Promise2 = Promise;
|
|
r2 = Promise2;
|
|
}
|
|
return new r2(function(a0, c24266_1) {
|
|
let rejected2, step2;
|
|
let c24266_0 = a0;
|
|
const fulfilled2 = function fulfilled(a0) {
|
|
try {
|
|
step2(c12873_3.next(a0));
|
|
} catch ($e) {
|
|
c24266_1($e);
|
|
}
|
|
};
|
|
rejected2 = function rejected(a0) {
|
|
try {
|
|
step2(c12873_3.throw(a0));
|
|
} catch ($e) {
|
|
c24266_1($e);
|
|
}
|
|
};
|
|
step2 = function step(a0) {
|
|
if (a0.done) {
|
|
c24266_0(a0.value);
|
|
} else {
|
|
let env28845;
|
|
let value2 = a0.value;
|
|
const r10 = env28845 = {};
|
|
env28845[0] = value2;
|
|
if (!(value2 instanceof Promise2)) {
|
|
value2 = new Promise2($mk117647(r10));
|
|
}
|
|
value2.then(fulfilled2, rejected2);
|
|
}
|
|
};
|
|
const r16 = c12873_3.apply(c12873_0, c12873_1 || []);
|
|
c12873_3 = r16;
|
|
const r18 = r16.next();
|
|
const { done, value: value2 } = r18;
|
|
if (done) {
|
|
a0(value2);
|
|
} else {
|
|
let env24267;
|
|
const r21 = env24267 = {};
|
|
env24267[0] = value2;
|
|
(value2 instanceof Promise2 ? value2 : new Promise2($mk117647(r21))).then(fulfilled2, rejected2);
|
|
}
|
|
});
|
|
};
|
|
c971_3 = "TimeToDisplay";
|
|
isDeadlineExceeded = (a0) => a0 > 30000;
|
|
export const INTEGRATION_NAME = "TimeToDisplay";
|
|
export const timeToDisplayIntegration = () => {
|
|
let enableTimeToInitialDisplayForPreloadedRoutes = false;
|
|
return {
|
|
name: c971_3,
|
|
afterAllSetup: (a0) => {
|
|
const reactNavigationIntegration = getReactNavigationIntegration(a0);
|
|
const r10 = reactNavigationIntegration !== null ? reactNavigationIntegration !== void 0 ? reactNavigationIntegration.options.enableTimeToInitialDisplayForPreloadedRoutes : void 0 : void 0;
|
|
enableTimeToInitialDisplayForPreloadedRoutes = r10 !== null && r10 !== void 0 && r10;
|
|
},
|
|
processEvent: async (value) => {
|
|
let r218;
|
|
let c28846_0, c28846_1;
|
|
L63: {
|
|
L62: {
|
|
L20: {
|
|
let env31225;
|
|
c28846_1 = void 0;
|
|
const r33 = env31225 = {
|
|
$parent: env971
|
|
};
|
|
c28846_0 = r33;
|
|
env31225[0] = void 0;
|
|
env31225[1] = void 0;
|
|
env31225[2] = void 0;
|
|
env31225[3] = void 0;
|
|
env31225[4] = void 0;
|
|
env31225[5] = void 0;
|
|
env31225[6] = void 0;
|
|
env31225[7] = void 0;
|
|
env31225[8] = void 0;
|
|
if (value.type !== "transaction") {
|
|
break L63;
|
|
}
|
|
const contexts = value.contexts;
|
|
const r39 = contexts !== null ? contexts !== void 0 ? contexts.trace : void 0 : void 0;
|
|
const rootSpanId2 = r39 !== null ? r39 !== void 0 ? r39.span_id : void 0 : void 0;
|
|
env31225[3] = rootSpanId2;
|
|
if (rootSpanId2) {
|
|
const start_timestamp = value.start_timestamp;
|
|
env31225[4] = start_timestamp;
|
|
if (start_timestamp) {
|
|
value.spans = value.spans || [];
|
|
value.measurements = value.measurements || {};
|
|
env31225[5] = await (async function addTimeToInitialDisplay({ event, rootSpanId, transactionStartTimestampSeconds, enableTimeToInitialDisplayForPreloadedRoutes: enableTimeToInitialDisplayForPreloadedRoutes2 }) {
|
|
let r105, r129, r182;
|
|
let c31883_4;
|
|
c31883_4 = void 0;
|
|
let c32094_0, c32094_1;
|
|
L20: {
|
|
let env32160;
|
|
c32094_1 = void 0;
|
|
const r11 = env32160 = {
|
|
$parent: env971
|
|
};
|
|
c32094_0 = r11;
|
|
env32160[0] = void 0;
|
|
env32160[1] = void 0;
|
|
env32160[0] = await NATIVE.popTimeToDisplayFor(`ttid-${rootSpanId}`);
|
|
event.spans = event.spans || [];
|
|
const spans = event.spans;
|
|
c31883_4 = spans;
|
|
const r70 = spans !== null ? c31883_4 !== void 0 ? c31883_4.find($mk119076(env971)) : void 0 : void 0;
|
|
L14: {
|
|
env32160[1] = r70;
|
|
if (env32160[1]) {
|
|
if (env32160[1].status !== void 0 && env32160[1].status !== "ok") {
|
|
break L14;
|
|
}
|
|
if (!env32160[0]) {
|
|
debug.log(`[${c971_3}] Ttid span already exists and is ok.`, env32160[1]);
|
|
r105 = env32160[1];
|
|
break L20;
|
|
}
|
|
}
|
|
}
|
|
if (env32160[0]) {
|
|
if ((env32160[1] == null ? void 0 : env32160[1].status) && env32160[1].status !== "ok") {
|
|
env32160[1].status = "ok";
|
|
env32160[1].timestamp = env32160[0];
|
|
debug.log(`[${c971_3}] Updated existing ttid span.`, env32160[1]);
|
|
r182 = env32160[1];
|
|
} else {
|
|
const data = {};
|
|
data[SPAN_THREAD_NAME] = SPAN_THREAD_NAME_JAVASCRIPT;
|
|
env32160[1] = createSpanJSON({
|
|
op: UI_LOAD_INITIAL_DISPLAY,
|
|
description: "Time To Initial Display",
|
|
start_timestamp: transactionStartTimestampSeconds,
|
|
timestamp: env32160[0],
|
|
origin: SPAN_ORIGIN_MANUAL_UI_TIME_TO_DISPLAY,
|
|
parent_span_id: rootSpanId,
|
|
data
|
|
});
|
|
debug.log(`[${c971_3}] Added ttid span to transaction.`, env32160[1]);
|
|
event.spans.push(env32160[1]);
|
|
r182 = env32160[1];
|
|
}
|
|
r129 = r182;
|
|
} else {
|
|
debug.log(`[${c971_3}] No manual ttid end timestamp found for span ${rootSpanId}.`);
|
|
const r123 = {
|
|
event,
|
|
rootSpanId,
|
|
transactionStartTimestampSeconds,
|
|
enableTimeToInitialDisplayForPreloadedRoutes: enableTimeToInitialDisplayForPreloadedRoutes2
|
|
};
|
|
r129 = $mk119077(env971)(r123);
|
|
}
|
|
r105 = r129;
|
|
}
|
|
return r105;
|
|
})({
|
|
event: value,
|
|
rootSpanId: rootSpanId2,
|
|
transactionStartTimestampSeconds: start_timestamp,
|
|
enableTimeToInitialDisplayForPreloadedRoutes
|
|
});
|
|
const r99 = {
|
|
event: value,
|
|
rootSpanId: env31225[3],
|
|
transactionStartTimestampSeconds: env31225[4],
|
|
ttidSpan: env31225[5]
|
|
};
|
|
env31225[6] = await $mk117649(env971)(r99);
|
|
if ((env31225[5] == null ? void 0 : env31225[5].start_timestamp) && (env31225[5] == null ? void 0 : env31225[5].timestamp)) {
|
|
value.measurements.time_to_initial_display = {
|
|
value: 1000 * (env31225[5].timestamp - env31225[5].start_timestamp),
|
|
unit: "millisecond"
|
|
};
|
|
}
|
|
if ((env31225[6] == null ? void 0 : env31225[6].start_timestamp) && (env31225[6] == null ? void 0 : env31225[6].timestamp)) {
|
|
env31225[7] = 1000 * (env31225[6].timestamp - env31225[6].start_timestamp);
|
|
if ((0, isDeadlineExceeded)(env31225[7])) {
|
|
if (value.measurements.time_to_initial_display) {
|
|
value.measurements.time_to_full_display = value.measurements.time_to_initial_display;
|
|
}
|
|
} else {
|
|
value.measurements.time_to_full_display = {
|
|
value: env31225[7],
|
|
unit: "millisecond"
|
|
};
|
|
}
|
|
}
|
|
const r154 = Math;
|
|
const r158 = env31225[5] == null ? void 0 : env31225[5].timestamp;
|
|
env31225[0] = r158;
|
|
const r196 = r158 !== null ? env31225[0] !== void 0 ? env31225[0] : -1 : -1;
|
|
const r201 = env31225[6] == null ? void 0 : env31225[6].timestamp;
|
|
env31225[1] = r201;
|
|
const r204 = r201 !== null ? env31225[1] !== void 0 ? env31225[1] : -1 : -1;
|
|
const timestamp = value.timestamp;
|
|
env31225[2] = timestamp;
|
|
env31225[8] = r154.max(r196, r204, timestamp !== null ? env31225[2] !== void 0 ? env31225[2] : -1 : -1);
|
|
if (env31225[8] !== -1) {
|
|
value.timestamp = env31225[8];
|
|
}
|
|
r218 = value;
|
|
break L62;
|
|
}
|
|
debug.warn(`[${c971_3}] No transaction start timestamp found in transaction.`);
|
|
break L20;
|
|
}
|
|
debug.warn(`[${c971_3}] No root span id found in transaction.`);
|
|
return value;
|
|
}
|
|
return value;
|
|
}
|
|
return r218;
|
|
}
|
|
return value;
|
|
}
|
|
};
|
|
};
|