Skipped 1 file(s) >100MB (GitHub limit): source/__polyfill/04xxx/module_4821.js (118.4 MB)
328 lines
12 KiB
JavaScript
328 lines
12 KiB
JavaScript
// Module ID: 12957
|
|
// Function ID: 12958
|
|
// Dependencies: [718, 12953, 12958, 12959, 12931, 12940, 12948, 12941, 12926, 12943, 12954, 12960]
|
|
// Exports: startIdleSpan
|
|
|
|
// Module 12957
|
|
import _mod12926 from "module_12926" /* 12926 */;
|
|
import spanTimeInputToSeconds from "spanTimeInputToSeconds" /* 12931 */;
|
|
import _mod12940 from "module_12940" /* 12940 */;
|
|
import _mod12943 from "module_12943" /* 12943 */;
|
|
import _mod12954 from "module_12954" /* 12954 */;
|
|
import _toArray from "_toArray" /* 718 */;
|
|
|
|
const require = globalThis.__r;
|
|
|
|
const TRACING_DEFAULTS = { idleTimeout: 1000, finalTimeout: 30000, childSpanTimeout: 15000 };
|
|
|
|
export { TRACING_DEFAULTS };
|
|
export const startIdleSpan = function startIdleSpan(arg0) {
|
|
let obj = arg1;
|
|
if (arg1 === undefined) {
|
|
obj = {};
|
|
}
|
|
_require = undefined;
|
|
let finalTimeout;
|
|
let childSpanTimeout;
|
|
let beforeSpanEnd;
|
|
let currentScope;
|
|
let activeSpan;
|
|
c12 = undefined;
|
|
function onIdleSpanEnded(arg0) {
|
|
closure_0 = arg0;
|
|
c2 = true;
|
|
map.clear();
|
|
const item = items.forEach((fn) => fn());
|
|
closure_0(map[6])._setSpanForScope(closure_10, closure_11);
|
|
let obj = closure_0(map[6]);
|
|
let spanToJSONResult = closure_0(map[4]).spanToJSON(c12);
|
|
if (spanToJSONResult.start_timestamp) {
|
|
if (!tmp7[tmp3(undefined, tmp4[7]).SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON]) {
|
|
const attr = obj3.setAttribute(tmp3(tmp4[7]).SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON, heartbeatFailed);
|
|
}
|
|
let logger = tmp3(tmp4[8]).logger;
|
|
const _HermesInternal = HermesInternal;
|
|
logger.log("[Tracing] Idle span \"" + spanToJSONResult.op + "\" finished");
|
|
const spanDescendants = tmp3(tmp4[4]).getSpanDescendants(obj3);
|
|
const found = spanDescendants.filter((item) => item !== _undefined);
|
|
const item1 = found.forEach((isRecording) => {
|
|
if (isRecording.isRecording()) {
|
|
const obj = { code: _mod12943.SPAN_STATUS_ERROR, message: "cancelled" };
|
|
isRecording.setStatus(obj);
|
|
isRecording.end(closure_0);
|
|
if (_mod12954.DEBUG_BUILD) {
|
|
const logger = _mod12926.logger;
|
|
const _JSON = JSON;
|
|
logger.log("[Tracing] Cancelling span since span ended early", JSON.stringify(isRecording, undefined, 2));
|
|
}
|
|
}
|
|
const spanToJSONResult = spanTimeInputToSeconds.spanToJSON(isRecording);
|
|
const timestamp = spanToJSONResult.timestamp;
|
|
let num2 = 0;
|
|
if (undefined !== timestamp) {
|
|
num2 = timestamp;
|
|
}
|
|
const start_timestamp = spanToJSONResult.start_timestamp;
|
|
let num3 = 0;
|
|
if (undefined !== start_timestamp) {
|
|
num3 = start_timestamp;
|
|
}
|
|
let tmp14 = num2 - num3 <= (finalTimeout + idleTimeout) / 1000;
|
|
if (_mod12954.DEBUG_BUILD) {
|
|
const _JSON2 = JSON;
|
|
const json = JSON.stringify(isRecording, undefined, 2);
|
|
if (tmp13) {
|
|
if (!tmp14) {
|
|
const logger3 = _mod12926.logger;
|
|
logger3.log("[Tracing] Discarding span since it finished after idle span final timeout", json);
|
|
}
|
|
} else {
|
|
const logger2 = _mod12926.logger;
|
|
logger2.log("[Tracing] Discarding span since it happened after idle span was finished", json);
|
|
}
|
|
}
|
|
if (tmp14) {
|
|
tmp14 = tmp13;
|
|
}
|
|
if (!tmp14) {
|
|
const result = spanTimeInputToSeconds.removeChildSpanFromSpan(c12, isRecording);
|
|
closure_1 = closure_1 + 1;
|
|
}
|
|
});
|
|
if (0 > 0) {
|
|
const attr1 = obj3.setAttribute("sentry.idle_span_discarded_spans", map);
|
|
}
|
|
const tmp3Result = tmp3(tmp4[4]);
|
|
tmp7 = spanToJSONResult.data || {};
|
|
}
|
|
}
|
|
const map = new Map();
|
|
c2 = false;
|
|
let heartbeatFailed = "externalFinish";
|
|
closure_4 = !obj.disableAutoFinish;
|
|
let items = [];
|
|
let idleTimeout = obj.idleTimeout;
|
|
if (undefined === idleTimeout) {
|
|
idleTimeout = heartbeatFailed.idleTimeout;
|
|
}
|
|
finalTimeout = obj.finalTimeout;
|
|
if (undefined === finalTimeout) {
|
|
finalTimeout = heartbeatFailed.finalTimeout;
|
|
}
|
|
childSpanTimeout = obj.childSpanTimeout;
|
|
if (undefined === childSpanTimeout) {
|
|
childSpanTimeout = heartbeatFailed.childSpanTimeout;
|
|
}
|
|
beforeSpanEnd = obj.beforeSpanEnd;
|
|
const client = require("module_12953").getClient();
|
|
if (client) {
|
|
if (tmp5Result.hasTracingEnabled()) {
|
|
currentScope = tmp5(tmp6[1]).getCurrentScope();
|
|
const tmp5Result6 = tmp5(tmp6[1]);
|
|
activeSpan = tmp5(tmp6[4]).getActiveSpan();
|
|
const tmp5Result7 = tmp5(tmp6[4]);
|
|
const startInactiveSpanResult = tmp5(tmp6[11]).startInactiveSpan(arg0);
|
|
const tmp5Result8 = tmp5(tmp6[11]);
|
|
const tmp5Result9 = tmp5(tmp6[6]);
|
|
tmp5Result9._setSpanForScope(tmp5(tmp6[1]).getCurrentScope(), startInactiveSpanResult);
|
|
if (tmp5(tmp6[10]).DEBUG_BUILD) {
|
|
let logger = tmp5(tmp6[8]).logger;
|
|
logger.log("[Tracing] Started span is an idle span");
|
|
}
|
|
c12 = startInactiveSpanResult;
|
|
const _Proxy = Proxy;
|
|
let obj3 = {
|
|
apply(arg0, arg1, current) {
|
|
if (beforeSpanEnd) {
|
|
tmp(c12);
|
|
}
|
|
const arr = _toArray(current);
|
|
let first = arr[0];
|
|
const substr = arr.slice(1);
|
|
if (!first) {
|
|
first = _mod12940.timestampInSeconds();
|
|
}
|
|
const result = spanTimeInputToSeconds.spanTimeInputToSeconds(first);
|
|
const spanDescendants = spanTimeInputToSeconds.getSpanDescendants(c12);
|
|
const found = spanDescendants.filter((item) => item !== _undefined);
|
|
if (found.length) {
|
|
const mapped = found.map((item) => closure_1_0(map[4]).spanToJSON(item).timestamp);
|
|
const found1 = mapped.filter((item) => item);
|
|
let num2;
|
|
if (found1.length) {
|
|
const _Math = Math;
|
|
items = [];
|
|
HermesBuiltin.arraySpread(found1, 0);
|
|
const _Math2 = Math;
|
|
num2 = HermesBuiltin.apply(items, Math);
|
|
}
|
|
let num4 = spanTimeInputToSeconds.spanToJSON(tmp11).start_timestamp;
|
|
let num6 = Infinity;
|
|
if (num4) {
|
|
num6 = num4 + finalTimeout / 1000;
|
|
}
|
|
if (!num4) {
|
|
num4 = -Infinity;
|
|
}
|
|
if (!num2) {
|
|
num2 = Infinity;
|
|
}
|
|
const bound = Math.min(num6, Math.max(num4, Math.min(result, num2)));
|
|
onIdleSpanEnded(bound);
|
|
const _Reflect2 = Reflect;
|
|
const items1 = [bound];
|
|
HermesBuiltin.arraySpread(substr, 1);
|
|
return Reflect.apply(arg0, arg1, items1);
|
|
} else {
|
|
onIdleSpanEnded(result);
|
|
const _Reflect = Reflect;
|
|
const items2 = [result];
|
|
HermesBuiltin.arraySpread(substr, 1);
|
|
return Reflect.apply(arg0, arg1, items2);
|
|
}
|
|
tmp11 = c12;
|
|
}
|
|
};
|
|
const proxy = new Proxy(startInactiveSpanResult.end, obj3);
|
|
startInactiveSpanResult.end = proxy;
|
|
items.push(client.on("spanStart", (spanContext) => {
|
|
let timestamp = c2;
|
|
if (!c2) {
|
|
timestamp = spanContext === c12;
|
|
}
|
|
if (!timestamp) {
|
|
timestamp = timeout(map[4]).spanToJSON(spanContext).timestamp;
|
|
const obj = timeout(map[4]);
|
|
}
|
|
if (!timestamp) {
|
|
const spanDescendants = timeout(map[4]).getSpanDescendants(c12);
|
|
if (spanDescendants.includes(spanContext)) {
|
|
if (timeout) {
|
|
const _clearTimeout = clearTimeout;
|
|
clearTimeout(timeout);
|
|
timeout = undefined;
|
|
}
|
|
const result = map.set(spanContext.spanContext().spanId, true);
|
|
timeout(map[5]).timestampInSeconds() + childSpanTimeout / 1000;
|
|
const _setTimeout = setTimeout;
|
|
timeout = setTimeout(() => {
|
|
let tmp = !c2;
|
|
if (!c2) {
|
|
tmp = closure_4;
|
|
}
|
|
if (tmp) {
|
|
heartbeatFailed = "heartbeatFailed";
|
|
c12.end(closure_0);
|
|
}
|
|
}, childSpanTimeout);
|
|
const obj4 = timeout(map[5]);
|
|
}
|
|
const obj2 = timeout(map[4]);
|
|
}
|
|
}));
|
|
items.push(client.on("spanEnd", (spanContext) => {
|
|
if (!c2) {
|
|
const spanId = spanContext.spanContext().spanId;
|
|
if (map.has(spanId)) {
|
|
obj.delete(spanId);
|
|
}
|
|
if (0 === map.size) {
|
|
timeout = timeout(map[5]).timestampInSeconds() + idleTimeout / 1000;
|
|
if (timeout) {
|
|
const _clearTimeout = clearTimeout;
|
|
clearTimeout(timeout);
|
|
timeout = undefined;
|
|
}
|
|
const _setTimeout = setTimeout;
|
|
timeout = setTimeout(() => {
|
|
let tmp = !c2;
|
|
if (!c2) {
|
|
tmp = 0 === map.size;
|
|
}
|
|
if (tmp) {
|
|
tmp = closure_4;
|
|
}
|
|
if (tmp) {
|
|
heartbeatFailed = "idleTimeout";
|
|
c12.end(closure_0);
|
|
}
|
|
}, idleTimeout);
|
|
const obj2 = timeout(map[5]);
|
|
}
|
|
}
|
|
}));
|
|
items.push(client.on("idleSpanEnableAutoFinish", (arg0) => {
|
|
if (arg0 === c12) {
|
|
c4 = true;
|
|
let timeout;
|
|
if (timeout) {
|
|
const _clearTimeout = clearTimeout;
|
|
clearTimeout(timeout);
|
|
timeout = undefined;
|
|
}
|
|
const _setTimeout = setTimeout;
|
|
timeout = setTimeout(() => {
|
|
let tmp = !c2;
|
|
if (!c2) {
|
|
tmp = 0 === map.size;
|
|
}
|
|
if (tmp) {
|
|
tmp = closure_4;
|
|
}
|
|
if (tmp) {
|
|
heartbeatFailed = "idleTimeout";
|
|
c12.end(closure_0);
|
|
}
|
|
}, idleTimeout);
|
|
if (map.size) {
|
|
const _setTimeout2 = setTimeout;
|
|
timeout = setTimeout(() => {
|
|
let tmp = !c2;
|
|
if (!c2) {
|
|
tmp = closure_4;
|
|
}
|
|
if (tmp) {
|
|
heartbeatFailed = "heartbeatFailed";
|
|
c12.end(closure_0);
|
|
}
|
|
}, childSpanTimeout);
|
|
}
|
|
}
|
|
}));
|
|
if (!obj.disableAutoFinish) {
|
|
if (_require) {
|
|
let _clearTimeout = clearTimeout;
|
|
clearTimeout(_require);
|
|
_require = undefined;
|
|
}
|
|
let _setTimeout = setTimeout;
|
|
_require = setTimeout(() => {
|
|
let tmp = !c2;
|
|
if (!c2) {
|
|
tmp = 0 === map.size;
|
|
}
|
|
if (tmp) {
|
|
tmp = closure_4;
|
|
}
|
|
if (tmp) {
|
|
heartbeatFailed = "idleTimeout";
|
|
c12.end(closure_0);
|
|
}
|
|
}, idleTimeout);
|
|
}
|
|
let _setTimeout2 = setTimeout;
|
|
const timerId = setTimeout(() => {
|
|
if (!c2) {
|
|
const obj = { code: _mod12943.SPAN_STATUS_ERROR, message: "deadline_exceeded" };
|
|
_undefined.setStatus(obj);
|
|
heartbeatFailed = "finalTimeout";
|
|
_undefined.end();
|
|
}
|
|
}, finalTimeout);
|
|
return startInactiveSpanResult;
|
|
}
|
|
tmp5Result = tmp5(tmp6[2]);
|
|
}
|
|
const sentryNonRecordingSpan = new tmp5(tmp6[3]).SentryNonRecordingSpan();
|
|
return sentryNonRecordingSpan;
|
|
};
|