// Module ID: 1152 // Function ID: 1153 // Name: setSpanDurationAsMeasurementOnTransactionEvent // Dependencies: [817, 1001, 1153, 1122, 1155, 1156, 1157, 1158, 1159, 1160] // Module 1152 (setSpanDurationAsMeasurementOnTransactionEvent) import registerSpanErrorInstrumentation from "registerSpanErrorInstrumentation" /* 817 */; require = arg1; const dependencyMap = arg6; function setSpanDurationAsMeasurementOnTransactionEvent(measurements, arg1, timestamp) { if (timestamp.timestamp) { if (timestamp.start_timestamp) { measurements.measurements = measurements.measurements || {}; const obj = { value: null, unit: "millisecond" }; obj[0] = 1000 * (timestamp.timestamp - timestamp.start_timestamp); measurements.measurements[arg1] = obj; const tmp3 = measurements.measurements || {}; } } const debug = registerSpanErrorInstrumentation.debug; debug.warn("Span is missing start or end timestamp. Cam not set measurement on transaction event."); } let fn = this; if (this) { fn = this.__awaiter; } if (!fn) { fn = (arg0, arg1, arg2, arg3) => { closure_0 = arg0; closure_1 = arg1; let _Promise = arg2; closure_3 = arg3; if (!arg2) { _Promise = Promise; } _Promise = new _Promise((arg0, arg1) => { closure_0 = arg0; closure_1 = arg1; function fulfilled(arg0) { try { step(iter.next(arg0)); } catch (tmp5) { callback2(tmp5); } } function rejected(arg0) { try { step(iter.throw(arg0)); } catch (tmp5) { callback2(tmp5); } } let iter = rejected; function step(done) { if (done.done) { callback(done.value); } else { let tmp = done.value; callback = tmp; if (!(tmp instanceof fulfilled)) { tmp = new tmp((arg0) => { arg0(closure_0); }); } tmp.then(fulfilled, iter); } } let items = closure_1; if (!closure_1) { items = []; } iter = iter.apply(closure_0, items); const iter2 = iter.next(); const value = iter2.value; if (iter2.done) { arg0(value); } else { closure_0 = value; let tmp3 = value; if (!(value instanceof fulfilled)) { tmp3 = new tmp3((arg0) => { arg0(closure_0); }); } tmp3.then(fulfilled, rejected); } }); return _Promise; }; } const AppStart = "AppStart"; let c4; let c5 = false; let c6; let c7 = false; function _setAppStartEndData(arg0) { if (closure_4) { const debug = registerSpanErrorInstrumentation.debug; debug.warn("Overwriting already set app start end data."); } closure_4 = arg0; } arg5.captureAppStart = function captureAppStart() { c0 = true; return fn(undefined, undefined, undefined, function*() { if (c5 === 2) { c5 = 3; HermesBuiltin.throwTypeError(); } else if (tmp6 === 3) { if (arg0 === 1) { throw arg1; } else if (arg0 === 2) { let obj = { value: null, done: true }; obj[0] = arg1; return obj; } else { return { value: "HermesInternal", done: "HermesInternal" }; } } else { try { c5 = 2; if (0 === c4) { if (arg0 === 1) { c5 = 3; throw arg1; } else if (arg0 === 2) { c5 = 3; obj = { value: null, done: true }; obj[0] = arg1; return obj; } else { closure_1 = tmp3; let client = tmp7; client = undefined; closure_1 = undefined; closure_2 = undefined; client = closure_1_0(integrationByName[0]).getClient(); if (client) { closure_5 = closure_1_0; let obj2 = closure_1_0(integrationByName[0]); closure_1 = 1000 * obj2.timestampInSeconds(); closure_2 = null; if (closure_1_0(integrationByName[1]).NATIVE.enableNative) { c3 = 1; const NATIVE = closure_1_0(integrationByName[1]).NATIVE; c4 = 2; c5 = 1; obj1 = { value: null, done: false }; obj1[0] = NATIVE.fetchNativeFrames(); return obj1; } } else { const debug3 = closure_1_0(integrationByName[0]).debug; debug3.warn("[AppStart] Could not capture App Start, missing client."); c5 = 3; return { value: "HermesInternal", done: "HermesInternal" }; } const obj9 = closure_1_0(integrationByName[0]); } } else if (1 === tmp7) { c3 = 0; c3 = closure_2; const debug2 = closure_1_0(integrationByName[0]).debug; debug2.log("[AppStart] Failed to capture end frames for app start.", c3); } else if (2 === tmp7) { if (arg0 === 1) { c5 = 3; throw arg1; } else if (arg0 === 2) { c3 = 0; c5 = 3; obj2 = { value: null, done: true }; obj2[0] = arg1; return obj2; } else { closure_2 = arg1; const debug = closure_1_0(integrationByName[0]).debug; debug.log("[AppStart] Captured end frames for app start.", closure_2); c3 = 0; } } else if (arg0 === 1) { c5 = 3; throw arg1; } else if (arg0 === 2) { c5 = 3; obj = { value: null, done: true }; obj[0] = arg1; return obj; } const obj3 = { timestampMs: null, endFrames: null }; obj3[0] = closure_1; obj3[1] = closure_2; closure_1_8(obj3); integrationByName = client.getIntegrationByName(c3); let result; if (null !== integrationByName) { if (undefined !== integrationByName) { result = integrationByName.captureStandaloneAppStart(); } } c4 = 3; c5 = 1; const obj4 = { value: null, done: false }; obj4[0] = result; return obj4; } catch (tmp45) { closure_2 = tmp45; if (tmp4 === c3) { c5 = tmp2; throw tmp45; } else { c4 = tmp; } } } }); }; arg5._captureAppStart = function _captureAppStart(isManual) { isManual = isManual.isManual; c1 = undefined; return fn(this, undefined, undefined, function*() { if (c5 === 2) { c5 = 3; HermesBuiltin.throwTypeError(); } else if (tmp6 === 3) { if (arg0 === 1) { throw arg1; } else if (arg0 === 2) { let obj = { value: null, done: true }; obj[0] = arg1; return obj; } else { return { value: "HermesInternal", done: "HermesInternal" }; } } else { try { c5 = 2; if (0 === c4) { if (arg0 === 1) { c5 = 3; throw arg1; } else if (arg0 === 2) { c5 = 3; obj = { value: null, done: true }; obj[0] = arg1; return obj; } else { closure_1 = tmp3; let client = tmp7; client = undefined; closure_1 = undefined; closure_2 = undefined; client = closure_1_0(integrationByName[0]).getClient(); if (client) { closure_5 = closure_1_0; let obj2 = closure_1_0(integrationByName[0]); closure_1 = 1000 * obj2.timestampInSeconds(); closure_2 = null; if (closure_1_0(integrationByName[1]).NATIVE.enableNative) { c3 = 1; const NATIVE = closure_1_0(integrationByName[1]).NATIVE; c4 = 2; c5 = 1; obj1 = { value: null, done: false }; obj1[0] = NATIVE.fetchNativeFrames(); return obj1; } } else { const debug3 = closure_1_0(integrationByName[0]).debug; debug3.warn("[AppStart] Could not capture App Start, missing client."); c5 = 3; return { value: "HermesInternal", done: "HermesInternal" }; } const obj9 = closure_1_0(integrationByName[0]); } } else if (1 === tmp7) { c3 = 0; c3 = closure_2; const debug2 = closure_1_0(integrationByName[0]).debug; debug2.log("[AppStart] Failed to capture end frames for app start.", c3); } else if (2 === tmp7) { if (arg0 === 1) { c5 = 3; throw arg1; } else if (arg0 === 2) { c3 = 0; c5 = 3; obj2 = { value: null, done: true }; obj2[0] = arg1; return obj2; } else { closure_2 = arg1; const debug = closure_1_0(integrationByName[0]).debug; debug.log("[AppStart] Captured end frames for app start.", closure_2); c3 = 0; } } else if (arg0 === 1) { c5 = 3; throw arg1; } else if (arg0 === 2) { c5 = 3; obj = { value: null, done: true }; obj[0] = arg1; return obj; } const obj3 = { timestampMs: null, endFrames: null }; obj3[0] = closure_1; obj3[1] = closure_2; closure_1_8(obj3); integrationByName = client.getIntegrationByName(c3); let result; if (null !== integrationByName) { if (undefined !== integrationByName) { result = integrationByName.captureStandaloneAppStart(); } } c4 = 3; c5 = 1; const obj4 = { value: null, done: false }; obj4[0] = result; return obj4; } catch (tmp45) { closure_2 = tmp45; if (tmp4 === c3) { c5 = tmp2; throw tmp45; } else { c4 = tmp; } } } }); }; arg5.setRootComponentCreationTimestampMs = function setRootComponentCreationTimestampMs(arg0) { let timestampMs; if (null != _undefined) { timestampMs = _undefined.timestampMs; } if (timestampMs) { const debug = registerSpanErrorInstrumentation.debug; debug.warn("Setting Root component creation timestamp after app start end is set."); } if (closure_6) { const debug2 = registerSpanErrorInstrumentation.debug; debug2.warn("Overwriting already set root component creation timestamp."); } closure_6 = arg0; c7 = true; }; arg5._setRootComponentCreationTimestampMs = function _setRootComponentCreationTimestampMs(arg0) { let timestampMs; if (null != _undefined) { timestampMs = _undefined.timestampMs; } if (timestampMs) { const debug = registerSpanErrorInstrumentation.debug; debug.warn("Setting Root component creation timestamp after app start end is set."); } if (closure_6) { const debug2 = registerSpanErrorInstrumentation.debug; debug2.warn("Overwriting already set root component creation timestamp."); } closure_6 = arg0; c7 = false; }; arg5._setAppStartEndData = _setAppStartEndData; arg5._clearRootComponentCreationTimestampMs = function _clearRootComponentCreationTimestampMs() { c6 = undefined; }; arg5.appStartIntegration = () => { let obj = arg0; if (arg0 === undefined) { obj = {}; } let flag = obj.standalone; if (flag === undefined) { flag = false; } function attachAppStartToTransactionEvent(arg0) { closure_0 = arg0; return _true(undefined, undefined, undefined, () => { c3 = 0; let SPAN_ORIGIN_AUTO_APP_START = 0; return (function*() { if (c4 === 2) { c4 = 3; let throwTypeErrorResult = HermesBuiltin.throwTypeError(); } else { throwTypeErrorResult = arg1; throwTypeErrorResult = arg0; throwTypeErrorResult = tmp4; if (tmp5 === 3) { if (arg0 === 1) { throw arg1; } else if (arg0 === 2) { let obj = { value: null, done: true }; obj[0] = arg1; return obj; } else { return { value: "HermesInternal", done: "HermesInternal" }; } } else { try { c4 = 2; let num2 = 0; if (0 === c3) { if (arg0 === 1) { c4 = 3; throw arg1; } else if (arg0 === 2) { c4 = 3; obj = { value: null, done: true }; obj[0] = arg1; return obj; } else { c2 = tmp2; let app_start_timestamp_ms = tmp3; let lib; app_start_timestamp_ms = undefined; c2 = undefined; c3 = undefined; c4 = undefined; c5 = undefined; c6 = undefined; c7 = undefined; c8 = undefined; c9 = undefined; c10 = undefined; closure_11 = undefined; c12 = undefined; c13 = undefined; c14 = undefined; c15 = undefined; c16 = undefined; c17 = undefined; throwTypeErrorResult = c3; if (!c3) { throwTypeErrorResult = closure_1_0; const contexts = closure_1_0.contexts; throwTypeErrorResult = null; throwTypeErrorResult = undefined; if (null !== contexts) { if (undefined !== contexts) { throwTypeErrorResult = contexts.trace; } } if (throwTypeErrorResult) { throwTypeErrorResult = closure_1_0; if (!closure_1_0) { if (closure_5) { throwTypeErrorResult = closure_1_0; if (throwTypeErrorResult !== closure_1_0.contexts.trace.span_id) { throwTypeErrorResult = lib; throwTypeErrorResult = closure_2_1; const debug13 = lib(closure_2_1[0]).debug; throwTypeErrorResult = debug13.warn("[AppStart] First started active root span id does not match the transaction event span id. Can not attached app start."); c4 = 3; obj1 = { value: null, done: true }; obj1[0] = undefined; return obj1; } } else { throwTypeErrorResult = lib; throwTypeErrorResult = closure_2_1; const debug12 = lib(closure_2_1[0]).debug; throwTypeErrorResult = debug12.warn("[AppStart] No first started active root span id recorded. Can not attach app start."); c4 = 3; let obj2 = { value: null, done: true }; obj2[0] = undefined; return obj2; } } throwTypeErrorResult = lib; throwTypeErrorResult = closure_2_1; const NATIVE = lib(closure_2_1[1]).NATIVE; c3 = 1; c4 = 1; let obj3 = { value: null, done: false }; obj3[0] = NATIVE.fetchNativeAppStart(); return obj3; } else { throwTypeErrorResult = lib; throwTypeErrorResult = closure_2_1; const debug11 = lib(closure_2_1[0]).debug; throwTypeErrorResult = debug11.warn("[AppStart] Transaction event is missing trace context. Can not attach app start."); } } c4 = 3; } } else { let num6 = 1; if (arg0 === 1) { c4 = 3; throw arg1; } else if (arg0 === 2) { c4 = 3; const obj4 = { value: null, done: true }; obj4[0] = arg1; return obj4; } else { throwTypeErrorResult = app_start_timestamp_ms; lib = arg1; throwTypeErrorResult = lib; if (!lib) { let debug = lib(closure_2_1[0]).debug; debug.warn("[AppStart] Failed to retrieve the app start metrics from the native layer."); } } } if (lib.has_fetched) { throwTypeErrorResult = c2; throwTypeErrorResult = lib; throwTypeErrorResult = closure_2_1; const debug10 = lib(closure_2_1[0]).debug; throwTypeErrorResult = debug10.warn("[AppStart] Measured app start metrics were already reported from the native layer."); } else { app_start_timestamp_ms = lib.app_start_timestamp_ms; if (app_start_timestamp_ms) { timestampMs = undefined; if (null != closure_2_4) { timestampMs = closure_2_4.timestampMs; } if (!timestampMs) { obj = lib(closure_2_1[5]); timestampMs = obj.getBundleStartTimestampMs(); } if (timestampMs) { if (lib.start_timestamp) { if (closure_2_1 >= 1000 * lib.start_timestamp - 60000) { closure_3 = timestampMs - closure_2_1; if (closure_3 >= 60000) { throwTypeErrorResult = c2; throwTypeErrorResult = lib; throwTypeErrorResult = closure_2_1; const debug9 = lib(closure_2_1[0]).debug; throwTypeErrorResult = debug9.warn("[AppStart] App start duration is over a minute long, not adding app start span."); } else { throwTypeErrorResult = app_start_timestamp_ms; throwTypeErrorResult = closure_3; if (closure_3 < num2) { throwTypeErrorResult = c2; throwTypeErrorResult = lib; throwTypeErrorResult = closure_2_1; const debug8 = lib(closure_2_1[0]).debug; throwTypeErrorResult = debug8.warn("[AppStart] Last recorded app start end timestamp is before the app start timestamp.", "This is usually caused by missing `Sentry.wrap(RootComponent)` call."); } else { throwTypeErrorResult = c2; c3 = true; throwTypeErrorResult = lib; throwTypeErrorResult = lib; let data = lib.contexts.trace.data; if (!data) { data = {}; } lib.contexts.trace.data = data; closure_1_0.contexts.trace.data[lib(closure_2_1[6]).SEMANTIC_ATTRIBUTE_SENTRY_OP] = lib(closure_2_1[4]).UI_LOAD; closure_1_0.contexts.trace.op = lib(closure_2_1[4]).UI_LOAD; const tmp59 = lib(closure_2_1[7]); if (closure_2_5) { SPAN_ORIGIN_AUTO_APP_START = tmp59.SPAN_ORIGIN_MANUAL_APP_START; } else { SPAN_ORIGIN_AUTO_APP_START = tmp59.SPAN_ORIGIN_AUTO_APP_START; } lib.contexts.trace.data[lib(closure_2_1[0]).SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN] = SPAN_ORIGIN_AUTO_APP_START; lib.contexts.trace.origin = SPAN_ORIGIN_AUTO_APP_START; closure_5 = closure_1_1 / 1000; lib.start_timestamp = closure_5; spans = lib.spans; if (!spans) { spans = []; } lib.spans = spans; spans = closure_1_0.spans; closure_7 = spans.find((op) => "ui.load.initial_display" === op.op); if (closure_7) { closure_7.start_timestamp = closure_2_5; callback(closure_1_0, "time_to_initial_display", closure_7); } closure_8 = spans.find((op) => "ui.load.full_display" === op.op); if (closure_8) { closure_8.start_timestamp = closure_2_5; callback(closure_1_0, "time_to_full_display", closure_8); } callback = timestampMs / 1000; throwTypeErrorResult = lib; let timestamp = lib.timestamp; if (timestamp) { throwTypeErrorResult = app_start_timestamp_ms; throwTypeErrorResult = c2; throwTypeErrorResult = lib; throwTypeErrorResult = closure_1_9; timestamp = lib.timestamp < closure_1_9; } if (timestamp) { throwTypeErrorResult = app_start_timestamp_ms; throwTypeErrorResult = c2; throwTypeErrorResult = lib; throwTypeErrorResult = closure_2_1; const debug5 = lib(closure_2_1[0]).debug; throwTypeErrorResult = debug5.log("[AppStart] Transaction event timestamp is before app start end. Adjusting transaction event timestamp."); throwTypeErrorResult = closure_1_0; throwTypeErrorResult = callback; closure_1_0.timestamp = callback; } throwTypeErrorResult = app_start_timestamp_ms; throwTypeErrorResult = lib; if ("cold" === lib.type) { throwTypeErrorResult = c2; throwTypeErrorResult = lib; throwTypeErrorResult = closure_2_1; APP_START_WARM = lib(closure_2_1[4]).APP_START_COLD; } else { throwTypeErrorResult = c2; throwTypeErrorResult = lib; throwTypeErrorResult = closure_2_1; APP_START_WARM = lib(closure_2_1[4]).APP_START_WARM; } throwTypeErrorResult = app_start_timestamp_ms; throwTypeErrorResult = c2; throwTypeErrorResult = lib; throwTypeErrorResult = closure_2_1; obj2 = lib(closure_2_1[5]); let obj5 = { op: null, description: null, start_timestamp: null, timestamp: null, trace_id: null, parent_span_id: null, origin: null }; throwTypeErrorResult = APP_START_WARM; obj5[0] = APP_START_WARM; throwTypeErrorResult = lib; let str9 = "Warm Start"; if ("cold" === lib.type) { str9 = "Cold Start"; } throwTypeErrorResult = app_start_timestamp_ms; throwTypeErrorResult = c2; obj5[1] = str9; throwTypeErrorResult = c5; obj5[2] = c5; throwTypeErrorResult = c9; obj5[3] = c9; throwTypeErrorResult = lib; obj5[4] = lib.contexts.trace.trace_id; throwTypeErrorResult = lib; obj5[5] = lib.contexts.trace.span_id; throwTypeErrorResult = c4; obj5[6] = c4; closure_11 = obj2.createSpanJSON(obj5); throwTypeErrorResult = closure_2_4; throwTypeErrorResult = undefined; if (null != closure_2_4) { throwTypeErrorResult = c2; throwTypeErrorResult = closure_2_4; throwTypeErrorResult = closure_2_4.endFrames; } if (throwTypeErrorResult) { throwTypeErrorResult = app_start_timestamp_ms; throwTypeErrorResult = c2; throwTypeErrorResult = closure_2_11; throwTypeErrorResult = closure_2_4; throwTypeErrorResult = (function attachFrameDataToSpan(closure_2_11, endFrames) { if (endFrames.totalFrames <= 0) { if (endFrames.slowFrames <= 0) { if (endFrames.totalFrames <= 0) { const debug2 = callback(app_start_timestamp_ms[0]).debug; const _HermesInternal = HermesInternal; debug2.warn("[AppStart] Detected zero slow or frozen frames. Not adding measurements to spanId (" + closure_2_11.span_id + ")."); } } } closure_2_11.data = closure_2_11.data || {}; ({ totalFrames: closure_2_11.data["frames.total"], slowFrames: closure_2_11.data["frames.slow"], frozenFrames: closure_2_11.data["frames.frozen"] } = endFrames); const debug = callback(app_start_timestamp_ms[0]).debug; obj = { spanId: closure_2_11.span_id, frameData: obj }; obj = { total: endFrames.totalFrames, slow: endFrames.slowFrames, frozen: endFrames.frozenFrames }; debug.log("[AppStart] Attached frame data to span.", obj); })(closure_2_11, closure_2_4.endFrames); } throwTypeErrorResult = app_start_timestamp_ms; throwTypeErrorResult = c2; throwTypeErrorResult = closure_1_11; throwTypeErrorResult = spans; closure_14 = (function createJSExecutionStartSpan(closure_1_11, spans) { let obj = callback(app_start_timestamp_ms[5]); const bundleStartTimestampMs = obj.getBundleStartTimestampMs(); if (bundleStartTimestampMs) { const result = bundleStartTimestampMs / 1000; if (result < closure_1_11.start_timestamp) { const debug2 = tmp(tmp2[0]).debug; debug2.warn("Bundle start timestamp is before the app start span start timestamp. Skipping JS execution span."); } else if (spans) { let tmpResult = tmp(tmp2[5]); obj = { description: "JS Bundle Execution Before React Root", start_timestamp: null, timestamp: null, origin: null }; obj[1] = result; obj[2] = spans / 1000; tmpResult = tmp(tmp2[7]); obj[3] = c7 ? tmpResult.SPAN_ORIGIN_MANUAL_APP_START : tmpResult.SPAN_ORIGIN_AUTO_APP_START; return tmpResult.createChildSpanJSON(closure_1_11, obj); } else { const debug = tmp(tmp2[0]).debug; debug.warn("Missing the root component first constructor call timestamp."); obj = { description: "JS Bundle Execution Start", start_timestamp: null, timestamp: null, origin: null }; obj[1] = result; obj[2] = result; obj[3] = tmp(tmp2[7]).SPAN_ORIGIN_AUTO_APP_START; return tmp(tmp2[5]).createChildSpanJSON(closure_1_11, obj); } } })(closure_1_11, spans); throwTypeErrorResult = closure_1_11; items = [closure_1_11]; lib = num6; throwTypeErrorResult = closure_14; if (closure_14) { throwTypeErrorResult = app_start_timestamp_ms; throwTypeErrorResult = closure_14; const items1 = [closure_14]; let items2 = items1; } else { items2 = []; } throwTypeErrorResult = app_start_timestamp_ms; throwTypeErrorResult = c2; throwTypeErrorResult = items; throwTypeErrorResult = items2; throwTypeErrorResult = num6; lib = HermesBuiltin.arraySpread(items2, num6); throwTypeErrorResult = closure_1_11; closure_12 = closure_1_11; throwTypeErrorResult = closure_1_0; spans = closure_1_0.spans; throwTypeErrorResult = spans; const found = spans.filter((start_timestamp_ms) => start_timestamp_ms.start_timestamp_ms / 1000 >= _undefined.start_timestamp); throwTypeErrorResult = lib; throwTypeErrorResult = items; lib = HermesBuiltin.arraySpread(found.map((description) => { let start_timestamp_ms = description; if ("UIKit init" === description.description) { let obj = callback(app_start_timestamp_ms[9]); obj1 = callback(app_start_timestamp_ms[5]); let bundleStartTimestampMs = obj1.getBundleStartTimestampMs(); if (!bundleStartTimestampMs) { obj = { description: "UIKit Init", start_timestamp: null, timestamp: null, origin: null }; obj[1] = start_timestamp_ms.start_timestamp_ms / 1000; obj[2] = start_timestamp_ms.end_timestamp_ms / 1000; obj[3] = callback(app_start_timestamp_ms[7]).SPAN_ORIGIN_AUTO_APP_START; let childSpanJSON = callback(app_start_timestamp_ms[5]).createChildSpanJSON(tmp3, obj); obj.setMainThreadInfo(childSpanJSON); const obj3 = callback(app_start_timestamp_ms[5]); } obj = { description: "UIKit Init to JS Exec Start", start_timestamp: null, timestamp: null, origin: null }; start_timestamp_ms = start_timestamp_ms.start_timestamp_ms; obj[1] = start_timestamp_ms / 1000; obj[2] = bundleStartTimestampMs / 1000; bundleStartTimestampMs = callback; obj[3] = callback(app_start_timestamp_ms[7]).SPAN_ORIGIN_AUTO_APP_START; childSpanJSON = callback(app_start_timestamp_ms[5]).createChildSpanJSON(tmp3, obj); const obj5 = callback(app_start_timestamp_ms[5]); } else { const obj7 = callback(app_start_timestamp_ms[9]); obj1 = { description: null, start_timestamp: null, timestamp: null, origin: null }; obj1[0] = start_timestamp_ms.description; obj1[1] = start_timestamp_ms.start_timestamp_ms / 1000; obj1[2] = start_timestamp_ms.end_timestamp_ms / 1000; obj1[3] = callback(app_start_timestamp_ms[7]).SPAN_ORIGIN_AUTO_APP_START; return obj7.setMainThreadInfo(callback(app_start_timestamp_ms[5]).createChildSpanJSON(c12, obj1)); } }), lib); throwTypeErrorResult = closure_1_6; const push = closure_1_6.push; throwTypeErrorResult = items; const items3 = []; throwTypeErrorResult = items3; throwTypeErrorResult = HermesBuiltin.arraySpread(items, 0); throwTypeErrorResult = push; throwTypeErrorResult = items3; throwTypeErrorResult = closure_1_6; throwTypeErrorResult = HermesBuiltin.apply(items3, closure_1_6); throwTypeErrorResult = lib; throwTypeErrorResult = closure_2_1; const debug6 = lib(closure_2_1[0]).debug; throwTypeErrorResult = globalThis; num2 = JSON; throwTypeErrorResult = items; throwTypeErrorResult = debug6.log("[AppStart] Added app start spans to transaction event.", JSON.stringify(items, undefined, 2)); throwTypeErrorResult = closure_1_0; if ("cold" === closure_1_0.type) { throwTypeErrorResult = c2; throwTypeErrorResult = lib; throwTypeErrorResult = closure_2_1; APP_START_WARM2 = lib(closure_2_1[8]).APP_START_COLD; } else { throwTypeErrorResult = c2; throwTypeErrorResult = lib; throwTypeErrorResult = closure_2_1; APP_START_WARM2 = lib(closure_2_1[8]).APP_START_WARM; } throwTypeErrorResult = app_start_timestamp_ms; throwTypeErrorResult = c2; obj6 = { value: null, unit: "millisecond" }; throwTypeErrorResult = closure_3; obj6[0] = closure_3; throwTypeErrorResult = lib; let measurements = lib.measurements; throwTypeErrorResult = lib; if (!measurements) { measurements = {}; } throwTypeErrorResult = app_start_timestamp_ms; throwTypeErrorResult = c2; throwTypeErrorResult.measurements = measurements; throwTypeErrorResult = closure_1_0; num6 = closure_1_0.measurements; throwTypeErrorResult = APP_START_WARM2; throwTypeErrorResult = obj6; num6[APP_START_WARM2] = obj6; throwTypeErrorResult = lib; throwTypeErrorResult = closure_2_1; const debug7 = lib(closure_2_1[0]).debug; const _JSON = JSON; throwTypeErrorResult = obj6; throwTypeErrorResult = debug7.log("[AppStart] Added app start measurement to transaction event.", JSON.stringify(obj6, undefined, 2)); const tmp71 = lib; } } } } const debug4 = lib(closure_2_1[0]).debug; debug4.warn("[AppStart] App start timestamp is too far in the past to be used for app start span."); } else { const debug3 = lib(closure_2_1[0]).debug; debug3.warn("[AppStart] Javascript failed to record app start end. `_setAppStartEndData` was not called nor could the bundle start be found."); } } else { let debug2 = lib(closure_2_1[0]).debug; debug2.warn("[AppStart] App start timestamp could not be loaded from the native layer."); } } } catch (throwTypeErrorResult) { c4 = throwTypeErrorResult; throw throwTypeErrorResult; } } } })(); }); } c1 = undefined; c2 = true; c3 = false; c4 = false; c5 = undefined; function recordFirstStartedActiveRootSpanId(spanContext) { if (!spanId) { if (obj.isRootSpan(spanContext)) { spanId = spanContext.spanContext().spanId; const debug = tmp2(tmp3[0]).debug; debug.log("[AppStart] First started active root span id recorded.", spanId); } obj = flag(_undefined[3]); tmp2 = flag; tmp3 = _undefined; } } obj = { name: c3, setup(getOptions) { closure_1 = getOptions; if (!getOptions.getOptions().enableAppStartTracking) { c2 = false; const debug = flag(_undefined[0]).debug; debug.warn("[AppStart] App start tracking is disabled."); } getOptions.on("spanStart", recordFirstStartedActiveRootSpanId); }, afterAllSetup(arg0) { if (!c4) { c4 = true; const appRegistryIntegration = true(_undefined[2]).getAppRegistryIntegration(arg0); if (!tmp5) { appRegistryIntegration.onRunApplication(() => { const debug = closure_1_0(closure_1_1[0]).debug; const log = debug.log; if (c3) { log("[AppStartIntegration] Resetting app start data flushed flag based on runApplication call."); c3 = false; c5 = undefined; } else { log("[AppStartIntegration] Waiting for initial app start was flush, before updating based on runApplication call."); } }); } const obj = true(_undefined[2]); tmp5 = null === appRegistryIntegration || undefined === appRegistryIntegration; } }, processEvent(arg0) { closure_0 = arg0; return _true(undefined, undefined, undefined, function*() { if (c2 === 2) { c2 = 3; HermesBuiltin.throwTypeError(); } else if (tmp3 === 3) { if (arg0 === 1) { throw arg1; } else if (arg0 === 2) { let obj = { value: null, done: true }; obj[0] = arg1; return obj; } else { return { value: "HermesInternal", done: "HermesInternal" }; } } else { try { c2 = 2; if (0 === c1) { if (arg0 === 1) { c2 = 3; throw arg1; } else if (arg0 === 2) { c2 = 3; obj = { value: null, done: true }; obj[0] = arg1; return obj; } else { closure_0 = tmp4; let tmp5 = !c2; if (c2) { tmp5 = closure_1_0; } if (!tmp5) { tmp5 = "transaction" !== closure_1_0.type; } if (!tmp5) { c1 = 1; c2 = 1; obj1 = { value: null, done: false }; obj1[0] = closure_1_7(closure_1_0); return obj1; } } } else if (arg0 === 1) { c2 = 3; throw arg1; } else if (arg0 === 2) { c2 = 3; obj = { value: null, done: true }; obj[0] = arg1; return obj; } c2 = 3; const obj2 = { value: null, done: true }; obj2[0] = closure_0; return obj2; } catch (tmp10) { c2 = tmp; throw tmp10; } } }); }, captureStandaloneAppStart() { return _true(this, undefined, undefined, function*() { if (c5 === 2) { c5 = 3; HermesBuiltin.throwTypeError(); } else if (tmp6 === 3) { if (arg0 === 1) { throw arg1; } else if (arg0 === 2) { let obj = { value: null, done: true }; obj[0] = arg1; return obj; } else { return { value: "HermesInternal", done: "HermesInternal" }; } } else { try { c5 = 2; if (0 === logResult3) { if (arg0 === 1) { c5 = 3; throw arg1; } else if (arg0 === 2) { c5 = 3; obj = { value: null, done: true }; obj[0] = arg1; return obj; } else { let timestampMs = tmp3; c0 = tmp7; c0 = undefined; timestampMs = undefined; c2 = undefined; c3 = undefined; logResult3 = closure_1_1; if (closure_1_1) { const debug2 = callback(closure_1_1[0]).debug; const log = debug2.log; if (callback) { log("[AppStart] App start tracking standalone root span (transaction)."); let endFrames; if (null != closure_4) { endFrames = closure_4.endFrames; } if (!endFrames) { if (callback(closure_1_1[1]).NATIVE.enableNative) { c3 = 1; const NATIVE = callback(closure_1_1[1]).NATIVE; logResult3 = 2; c5 = 1; obj1 = { value: null, done: false }; obj1[0] = NATIVE.fetchNativeFrames(); return obj1; } } } else { log("[AppStart] App start tracking is enabled. App start will be added to the first transaction as a child span."); } } else { const _console = console; console.warn("[AppStart] Could not capture App Start, missing client, call `Sentry.init` first."); } c5 = 3; c5 = 3; let obj2 = { value: null, done: true }; obj2[0] = arg1; return obj2; } } else if (1 === tmp7) { c3 = 0; closure_4 = c2; const debug = callback(closure_1_1[0]).debug; debug.log("[AppStart] Failed to capture frames for standalone app start.", closure_4); } else if (2 === tmp7) { if (arg0 === 1) { c5 = 3; throw arg1; } else if (arg0 === 2) { c3 = 0; c5 = 3; const obj3 = { value: null, done: true }; obj3[0] = arg1; return obj3; } else { callback = arg1; logResult3 = callback; logResult3 = closure_1_1; const debug4 = callback(closure_1_1[0]).debug; logResult3 = callback; logResult3 = debug4.log("[AppStart] Captured end frames for standalone app start.", callback); logResult3 = closure_4; timestampMs = undefined; if (null != closure_4) { timestampMs = closure_4.timestampMs; } if (!timestampMs) { obj2 = callback(closure_1_1[0]); timestampMs = 1000 * obj2.timestampInSeconds(); } const obj4 = { timestampMs: null, endFrames: null }; obj4[0] = timestampMs; obj4[1] = c0; closure_1_8(obj4); c3 = 0; } } else if (arg0 === 1) { c5 = 3; throw arg1; } else if (arg0 !== 2) { if (c3.spans) { if (0 !== c3.spans.length) { let scope = callback(closure_1_1[0]).getCapturedScopesOnSpan(c2).scope; if (!scope) { obj = callback(closure_1_1[0]); scope = obj.getCurrentScope(); } scope.captureEvent(closure_3); const obj15 = callback(closure_1_1[0]); } } } let obj6 = callback(closure_1_1[0]); const obj5 = { forceTransaction: true, name: "App Start", op: null }; obj5[2] = callback(closure_1_1[4]).UI_LOAD; closure_2 = obj6.startInactiveSpan(obj5); if (!(closure_2 instanceof callback(closure_1_1[0]).SentryNonRecordingSpan)) { const obj9 = callback(closure_1_1[3]); obj9.setEndTimeValue(closure_2, callback(closure_1_1[0]).timestampInSeconds()); timestampMs.emit("spanEnd", closure_2); const obj10 = callback(closure_1_1[0]); closure_3 = callback(closure_1_1[3]).convertSpanToTransaction(closure_2); if (closure_3) { logResult3 = 3; c5 = 1; obj6 = { value: null, done: false }; obj6[0] = closure_1_7(closure_3); return obj6; } else { const debug3 = callback(closure_1_1[0]).debug; debug3.warn("[AppStart] Failed to convert App Start span to transaction."); } const obj11 = callback(closure_1_1[3]); } } catch (tmp81) { c2 = tmp81; if (tmp4 === c3) { c5 = tmp2; throw tmp81; } } } }); }, setFirstStartedActiveRootSpanId(arg0) { closure_5 = arg0; const debug = flag(_undefined[0]).debug; debug.log("[AppStart] First started active root span id recorded.", closure_5); } }; return obj; };