500 lines
18 KiB
JavaScript
500 lines
18 KiB
JavaScript
// Metro module 1162 (f1163).
|
|
import { NATIVE } from "./Module1001";
|
|
import { AsyncExpiringMap } from "./AsyncExpiringMap";
|
|
import { HermesBuiltin, $createGenerator } from "../_hermes/prelude";
|
|
function $mk68261($env) {
|
|
return (c24259_0, c24259_1) => {
|
|
const r3 = $env;
|
|
let c24259_2 = false;
|
|
let c24259_3 = setTimeout(() => {
|
|
if (!c24259_2) {
|
|
c24259_2 = true;
|
|
c24259_1("Fetching native frames took too long. Dropping frames.");
|
|
}
|
|
}, 2000);
|
|
(0, r3[0])(r3[1][0]).NATIVE.fetchNativeFrames().then((result) => {
|
|
if (!c24259_2) {
|
|
clearTimeout(c24259_3);
|
|
c24259_2 = true;
|
|
if (result) {
|
|
c24259_0(result);
|
|
} else {
|
|
c24259_1("Native frames response is null.");
|
|
}
|
|
}
|
|
}).then(void 0, (a0) => {
|
|
if (!c24259_2) {
|
|
clearTimeout(c24259_3);
|
|
c24259_2 = true;
|
|
c24259_1(a0);
|
|
}
|
|
});
|
|
};
|
|
}
|
|
function $mk68263($env) {
|
|
return (a0) => {
|
|
const spanId = a0.spanContext().spanId;
|
|
const r22 = $env.$parent;
|
|
const r5 = r22[0];
|
|
const r3 = r22[1];
|
|
const r13 = r5(r3[3]).isRootSpan(a0) ? "root" : "child";
|
|
const r25 = $env;
|
|
r5(r3[2]).debug.log(`[${r22[3]}] Fetching frames for ${r13} span start (${spanId}).`);
|
|
r25[1].set(spanId, new Promise($mk101965(r22)));
|
|
};
|
|
}
|
|
function $mk68264($env) {
|
|
return (a0) => {
|
|
let env24262 = {
|
|
$parent: $env
|
|
};
|
|
env24262[0] = a0;
|
|
return (0, $env.$parent[2])(void 0, void 0, void 0, function() {
|
|
let c28843_0, c28843_1, c28843_2;
|
|
let c28843_4 = 0;
|
|
let c28843_5 = 0;
|
|
let c28843_3 = 0;
|
|
return $createGenerator(function() {
|
|
let value2, value3;
|
|
const r0 = c28843_5;
|
|
if (r0 === 2) {
|
|
c28843_5 = 3;
|
|
HermesBuiltin.throwTypeError("Generator functions may not be called on executing generators");
|
|
throw new Error("unreachable");
|
|
}
|
|
const value = arguments[1];
|
|
const r3 = arguments[0];
|
|
const r21 = env24262;
|
|
const r20 = env24262.$parent.$parent;
|
|
const r19 = env24262.$parent;
|
|
if (r0 === 3) {
|
|
if (r3 === 1) {
|
|
throw value;
|
|
}
|
|
if (r3 === 2) {
|
|
return {
|
|
value,
|
|
done: true
|
|
};
|
|
}
|
|
return {
|
|
value: void 0,
|
|
done: true
|
|
};
|
|
}
|
|
while (true) {
|
|
L40: {
|
|
L38: {
|
|
L34: {
|
|
L27: {
|
|
L25: {
|
|
L23: {
|
|
L17: {
|
|
try {
|
|
c28843_5 = 2;
|
|
const r48 = c28843_4;
|
|
if (r48 === 0) {
|
|
if (r3 === 1) {
|
|
c28843_5 = 3;
|
|
throw value;
|
|
}
|
|
if (r3 === 2) {
|
|
c28843_5 = 3;
|
|
break L40;
|
|
}
|
|
let env31223;
|
|
c28843_1 = r21;
|
|
const r159 = env31223 = {
|
|
$parent: r20
|
|
};
|
|
c28843_0 = r159;
|
|
env31223[0] = void 0;
|
|
env31223[1] = void 0;
|
|
env31223[2] = void 0;
|
|
env31223[3] = void 0;
|
|
env31223[4] = void 0;
|
|
env31223[5] = void 0;
|
|
env31223[6] = void 0;
|
|
env31223[0] = (0, r20[0])(r20[1][2]).timestampInSeconds();
|
|
const spanId = env24262[0].spanContext().spanId;
|
|
env31223[1] = spanId;
|
|
const r170 = r19[1];
|
|
if (r170.has(spanId)) {
|
|
if ((0, r20[0])(r20[1][3]).isRootSpan(env24262[0])) {
|
|
(0, r20[0])(r20[1][2]).debug.log(`[${r20[3]}] Fetch frames for root span end (${spanId}).`);
|
|
r19[2].set(spanId, new Promise((c31882_0) => {
|
|
new Promise($mk68261(env31223.$parent)).then((result) => {
|
|
c31882_0({
|
|
timestamp: env31223[0],
|
|
nativeFrames: result
|
|
});
|
|
}).then(void 0, (a0) => {
|
|
const r2 = env31223.$parent;
|
|
(0, r2[0])(r2[1][2]).debug.log(`[${r2[3]}] Error while fetching native frames.`, a0);
|
|
c31882_0(null);
|
|
});
|
|
}));
|
|
}
|
|
c28843_3 = 1;
|
|
value3 = r170.get(spanId);
|
|
c28843_4 = 2;
|
|
c28843_5 = 1;
|
|
break L38;
|
|
}
|
|
} else if (r48 === 1) {
|
|
const r140 = c28843_1;
|
|
const r141 = c28843_2;
|
|
c28843_3 = 0;
|
|
env31223[7] = r141;
|
|
const r142 = r140.$parent.$parent;
|
|
(0, r142[0])(r142[1][2]).debug.log(`[${r142[3]}] Error while capturing end frames for span ${env31223[1]}.`, env31223[7]);
|
|
} else {
|
|
if (r48 === 2) {
|
|
if (r3 === 1) {
|
|
c28843_5 = 3;
|
|
throw value;
|
|
}
|
|
if (r3 === 2) {
|
|
c28843_3 = 0;
|
|
c28843_5 = 3;
|
|
break L27;
|
|
}
|
|
env31223[2] = value;
|
|
const r111 = env31223[2];
|
|
const r113 = c28843_1.$parent.$parent;
|
|
if (r111) {
|
|
value2 = (0, r113[5])();
|
|
c28843_4 = 3;
|
|
c28843_5 = 1;
|
|
break L25;
|
|
}
|
|
(0, r113[0])(r113[1][2]).debug.log(`[${r113[3]}] No start frames found for span ${env31223[1]}, skipping frame data.`);
|
|
c28843_3 = 0;
|
|
c28843_5 = 3;
|
|
break L23;
|
|
}
|
|
if (r3 === 1) {
|
|
c28843_5 = 3;
|
|
throw value;
|
|
}
|
|
if (r3 === 2) {
|
|
c28843_3 = 0;
|
|
c28843_5 = 3;
|
|
break L17;
|
|
}
|
|
env31223[3] = value;
|
|
env31223[4] = env31223[3].totalFrames - env31223[2].totalFrames;
|
|
env31223[5] = env31223[3].slowFrames - env31223[2].slowFrames;
|
|
env31223[6] = env31223[3].frozenFrames - env31223[2].frozenFrames;
|
|
if (env31223[4] > 0 || env31223[5] > 0 || env31223[6] > 0) {
|
|
const r70 = c28843_1;
|
|
env24262[0].setAttribute("frames.total", env31223[4]);
|
|
env24262[0].setAttribute("frames.slow", env31223[5]);
|
|
env24262[0].setAttribute("frames.frozen", env31223[6]);
|
|
const r81 = r70.$parent.$parent;
|
|
(0, r81[0])(r81[1][2]).debug.log(`[${r81[3]}] Attached frame data to span ${env31223[1]}: total=${env31223[4]}, slow=${env31223[5]}, frozen=${env31223[6]}`);
|
|
}
|
|
const r93 = c28843_1.$parent.$parent;
|
|
if (!(0, r93[0])(r93[1][3]).isRootSpan(env24262[0])) {
|
|
c28843_1.$parent[0] = {
|
|
timestamp: env31223[0],
|
|
nativeFrames: env31223[3]
|
|
};
|
|
}
|
|
c28843_3 = 0;
|
|
}
|
|
c28843_5 = 3;
|
|
break L34;
|
|
} catch (r211) {
|
|
c28843_2 = r211;
|
|
if (c28843_3 === 0) {
|
|
c28843_5 = 3;
|
|
throw r211;
|
|
}
|
|
c28843_4 = 1;
|
|
continue;
|
|
}
|
|
}
|
|
return {
|
|
value,
|
|
done: true
|
|
};
|
|
}
|
|
return {
|
|
value: void 0,
|
|
done: true
|
|
};
|
|
}
|
|
return {
|
|
value: value2,
|
|
done: false
|
|
};
|
|
}
|
|
return {
|
|
value,
|
|
done: true
|
|
};
|
|
}
|
|
return {
|
|
value: void 0,
|
|
done: true
|
|
};
|
|
}
|
|
return {
|
|
value: value3,
|
|
done: false
|
|
};
|
|
}
|
|
return {
|
|
value,
|
|
done: true
|
|
};
|
|
}
|
|
});
|
|
});
|
|
};
|
|
}
|
|
function $mk68265($env) {
|
|
return (a0) => {
|
|
const r1 = $env.$parent;
|
|
const r3 = r1[0];
|
|
const r2 = r1[1];
|
|
if (r3(r2[0]).NATIVE.enableNative) {
|
|
const r20 = $env;
|
|
r3(r2[0]).NATIVE.enableNativeFramesTracking();
|
|
a0.on("spanStart", r20[3]);
|
|
a0.on("spanEnd", r20[4]);
|
|
} else {
|
|
r3(r2[2]).debug.warn(`[${r1[3]}] This is not available on the Web, Expo Go and other platforms without native modules.`);
|
|
}
|
|
};
|
|
}
|
|
function $mk68266($env) {
|
|
return async (a0) => {
|
|
let r45, r106, r237, r268;
|
|
let env24263 = {
|
|
$parent: $env
|
|
};
|
|
env24263[0] = a0;
|
|
let c28844_1;
|
|
L39: {
|
|
L38: {
|
|
L30: {
|
|
L18: {
|
|
let env31224;
|
|
c28844_1 = env24263;
|
|
const r42 = env31224 = {};
|
|
env31224[0] = void 0;
|
|
env31224[1] = void 0;
|
|
env31224[2] = void 0;
|
|
env31224[3] = void 0;
|
|
env31224[4] = void 0;
|
|
env31224[5] = void 0;
|
|
env31224[6] = void 0;
|
|
if (env24263[0].type === "transaction" && env24263[0].transaction && env24263[0].contexts && env24263[0].contexts.trace && env24263[0].timestamp && env24263[0].contexts.trace.span_id) {
|
|
env31224[1] = env24263[0].contexts.trace.op;
|
|
const span_id = env24263[0].contexts.trace.span_id;
|
|
env31224[2] = span_id;
|
|
env31224[3] = await env24263.$parent[1].pop(span_id);
|
|
const r86 = env31224[3];
|
|
const r87 = c28844_1;
|
|
if (r86) {
|
|
const r112 = await r87.$parent[2].pop(env31224[2]);
|
|
L24: {
|
|
env31224[5] = r112;
|
|
if (env31224[5]) {
|
|
if ((0, c28844_1.$parent.$parent[6])(env31224[5].timestamp, env24263[0].timestamp)) {
|
|
const r135 = c28844_1.$parent.$parent;
|
|
(0, r135[0])(r135[1][2]).debug.log(`[${r135[3]}] Using frames from root span end (spanId, ${env31224[2]}).`);
|
|
env31224[4] = env31224[5].nativeFrames;
|
|
break L24;
|
|
}
|
|
}
|
|
const r122 = c28844_1;
|
|
const r123 = r122.$parent;
|
|
if (!(r123[0] && (0, r122.$parent.$parent[6])(r123[0].timestamp, env24263[0].timestamp))) {
|
|
const r250 = c28844_1.$parent.$parent;
|
|
(0, r250[0])(r250[1][2]).debug.warn(`[${r250[3]}] Frames were collected within larger than margin of error delay for spanId (${env31224[2]}). Dropping the inaccurate values.`);
|
|
r268 = env24263[0];
|
|
break L38;
|
|
}
|
|
const r278 = c28844_1;
|
|
const r279 = r278.$parent.$parent;
|
|
(0, r279[0])(r279[1][2]).debug.log(`[${r279[3]}] Using native frames from last child span end (spanId, ${env31224[2]}).`);
|
|
env31224[4] = r278.$parent[0].nativeFrames;
|
|
}
|
|
env31224[6] = {
|
|
frames_total: {
|
|
value: env31224[4].totalFrames - env31224[3].totalFrames,
|
|
unit: "none"
|
|
},
|
|
frames_frozen: {
|
|
value: env31224[4].frozenFrames - env31224[3].frozenFrames,
|
|
unit: "none"
|
|
},
|
|
frames_slow: {
|
|
value: env31224[4].slowFrames - env31224[3].slowFrames,
|
|
unit: "none"
|
|
}
|
|
};
|
|
if (env31224[6].frames_frozen.value <= 0 && env31224[6].frames_slow.value <= 0 && env31224[6].frames_total.value <= 0) {
|
|
const r219 = c28844_1.$parent.$parent;
|
|
(0, r219[0])(r219[1][2]).debug.warn(`[${r219[3]}] Detected zero slow or frozen frames. Not adding measurements to spanId (${env31224[2]}).`);
|
|
r237 = env24263[0];
|
|
break L30;
|
|
}
|
|
const r179 = c28844_1.$parent.$parent;
|
|
(0, r179[0])(r179[1][2]).debug.log(`[${r179[3]}] Adding measurements to ${env31224[1]} transaction ${env24263[0].transaction}: ${JSON.stringify(env31224[6], void 0, 2)}`);
|
|
const r201 = env24263[0];
|
|
const r202 = Object;
|
|
const r204 = Object;
|
|
const measurements = env24263[0].measurements;
|
|
env31224[0] = measurements;
|
|
r201.measurements = r202.assign(r204.assign({}, measurements !== null ? env31224[0] !== void 0 ? env31224[0] : {} : {}), env31224[6]);
|
|
r237 = env24263[0];
|
|
break L30;
|
|
}
|
|
const r94 = r87.$parent.$parent;
|
|
(0, r94[0])(r94[1][2]).debug.warn(`[${r94[3]}] Start frames of transaction ${env24263[0].transaction} (eventId, ${env24263[0].event_id}) are missing, but the transaction already ended.`);
|
|
r106 = env24263[0];
|
|
break L18;
|
|
}
|
|
r45 = env24263[0];
|
|
break L39;
|
|
}
|
|
return r106;
|
|
}
|
|
return r237;
|
|
}
|
|
return r268;
|
|
}
|
|
return r45;
|
|
};
|
|
}
|
|
function $mk101965($env) {
|
|
return (a0) => {
|
|
let env28842 = {
|
|
$parent: $env
|
|
};
|
|
env28842[0] = a0;
|
|
new Promise($mk68261($env)).then((result) => (0, env28842[0])(result)).then(void 0, (a0) => {
|
|
const r2 = env28842.$parent;
|
|
(0, r2[0])(r2[1][2]).debug.log(`[${r2[3]}] Error while fetching native frames.`, a0);
|
|
(0, env28842[0])(null);
|
|
});
|
|
};
|
|
}
|
|
function $mk117645($env) {
|
|
return function(a0) {
|
|
a0($env[0]);
|
|
};
|
|
}
|
|
let isClose, c965_2, c965_3, nativeFramesIntegration;
|
|
let env965 = {};
|
|
const fetchNativeFrames = function fetchNativeFrames() {
|
|
return new Promise($mk68261(env965));
|
|
};
|
|
isClose = function isClose(a0, a1) {
|
|
return Math.abs(a0 - a1) < 0.05;
|
|
};
|
|
c965_2 = (this ? this.__awaiter : this) || function(c12868_0, c12868_1, a2, c12868_3) {
|
|
let r2 = a2;
|
|
let Promise2 = a2;
|
|
if (!a2) {
|
|
Promise2 = Promise;
|
|
r2 = Promise2;
|
|
}
|
|
return new r2(function(a0, c24260_1) {
|
|
let rejected2, step2;
|
|
let c24260_0 = a0;
|
|
const fulfilled2 = function fulfilled(a0) {
|
|
try {
|
|
step2(c12868_3.next(a0));
|
|
} catch ($e) {
|
|
c24260_1($e);
|
|
}
|
|
};
|
|
rejected2 = function rejected(a0) {
|
|
try {
|
|
step2(c12868_3.throw(a0));
|
|
} catch ($e) {
|
|
c24260_1($e);
|
|
}
|
|
};
|
|
step2 = function step(a0) {
|
|
if (a0.done) {
|
|
c24260_0(a0.value);
|
|
} else {
|
|
let env28841;
|
|
let value = a0.value;
|
|
const r10 = env28841 = {};
|
|
env28841[0] = value;
|
|
if (!(value instanceof Promise2)) {
|
|
value = new Promise2($mk117645(r10));
|
|
}
|
|
value.then(fulfilled2, rejected2);
|
|
}
|
|
};
|
|
const r16 = c12868_3.apply(c12868_0, c12868_1 || []);
|
|
c12868_3 = r16;
|
|
const r18 = r16.next();
|
|
const { done, value } = r18;
|
|
if (done) {
|
|
a0(value);
|
|
} else {
|
|
let env24261;
|
|
const r21 = env24261 = {};
|
|
env24261[0] = value;
|
|
(value instanceof Promise2 ? value : new Promise2($mk117645(r21))).then(fulfilled2, rejected2);
|
|
}
|
|
});
|
|
};
|
|
c965_3 = "NativeFrames";
|
|
nativeFramesIntegration = () => {
|
|
let env12869;
|
|
const r2 = env12869 = {
|
|
$parent: env965
|
|
};
|
|
env12869[0] = null;
|
|
env12869[1] = new AsyncExpiringMap({
|
|
ttl: 60000
|
|
});
|
|
env12869[2] = new AsyncExpiringMap({
|
|
ttl: 2000
|
|
});
|
|
env12869[3] = $mk68263(r2);
|
|
env12869[4] = $mk68264(r2);
|
|
return {
|
|
name: c965_3,
|
|
setup: $mk68265(r2),
|
|
processEvent: $mk68266(r2)
|
|
};
|
|
};
|
|
export const createNativeFramesIntegrations = (a0) => {
|
|
if (!a0) {
|
|
if (NATIVE.enableNative) {
|
|
NATIVE.disableNativeFramesTracking();
|
|
return void 0;
|
|
}
|
|
}
|
|
let env12870;
|
|
const r21 = env12870 = {
|
|
$parent: env965
|
|
};
|
|
env12870[0] = null;
|
|
env12870[1] = new AsyncExpiringMap({
|
|
ttl: 60000
|
|
});
|
|
env12870[2] = new AsyncExpiringMap({
|
|
ttl: 2000
|
|
});
|
|
env12870[3] = $mk68263(r21);
|
|
env12870[4] = $mk68264(r21);
|
|
return {
|
|
name: c965_3,
|
|
setup: $mk68265(r21),
|
|
processEvent: $mk68266(r21)
|
|
};
|
|
};
|
|
export { nativeFramesIntegration };
|