151 lines
5.3 KiB
JavaScript
151 lines
5.3 KiB
JavaScript
// Metro module 1093 (f1094).
|
|
import "./Module1033";
|
|
import "./extractSafariExtensionDetails";
|
|
import "./Module1077";
|
|
import "./Module1076";
|
|
import "./Module1081";
|
|
import "./Module1078";
|
|
import "./Module1080";
|
|
import "./Module1079";
|
|
import "./Module1094";
|
|
import { spanToJSON, SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, debug, SEMANTIC_LINK_ATTRIBUTE_LINK_TYPE, getRootSpan, getCurrentScope, SEMANTIC_ATTRIBUTE_SENTRY_PREVIOUS_TRACE_SAMPLE_RATE } from "./Module817";
|
|
import { DEBUG_BUILD } from "./Module1072";
|
|
import { WINDOW } from "./ignoreNextOnError";
|
|
let c903_2, c903_3, storePreviousTraceInSessionStorage, getPreviousTraceFromSessionStorage;
|
|
const addPreviousTraceSpanLink = function addPreviousTraceSpanLink(previousTraceFromSessionStorage, a1, a2) {
|
|
const r16 = spanToJSON(a1);
|
|
let c12788_1 = r16;
|
|
const r28 = {
|
|
spanContext: a1.spanContext(),
|
|
startTimestamp: r16.start_timestamp,
|
|
sampleRate: (function getSampleRate() {
|
|
let r9;
|
|
try {
|
|
r9 = Number(a2.dsc?.sample_rate);
|
|
if (r9 == null) {
|
|
const r10 = Number;
|
|
const data = c12788_1.data;
|
|
r9 = r10(data == null ? void 0 : data[SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE]);
|
|
}
|
|
} catch ($e) {
|
|
return 0;
|
|
}
|
|
return r9;
|
|
})(),
|
|
sampleRand: a2.sampleRand
|
|
};
|
|
if (previousTraceFromSessionStorage) {
|
|
const spanContext = previousTraceFromSessionStorage.spanContext;
|
|
const traceId = spanContext.traceId;
|
|
const trace_id = r16.trace_id;
|
|
let r35 = previousTraceFromSessionStorage;
|
|
if (traceId !== trace_id) {
|
|
const r1 = Date.now() / 1000 - previousTraceFromSessionStorage.startTimestamp;
|
|
r35 = r28;
|
|
if (r1 <= 3600) {
|
|
if (DEBUG_BUILD) {
|
|
debug.log(`Adding previous_trace \`${JSON.stringify(spanContext)}\` link to span \`${JSON.stringify({
|
|
op: r16.op,
|
|
...a1.spanContext()
|
|
})}\``);
|
|
}
|
|
const addLink = a1.addLink;
|
|
const attributes = {};
|
|
attributes[SEMANTIC_LINK_ATTRIBUTE_LINK_TYPE] = "previous_trace";
|
|
addLink.call(a1, {
|
|
context: spanContext,
|
|
attributes
|
|
});
|
|
a1.setAttribute.call(a1, c903_3, `${spanContext.traceId}-${spanContext.spanId}-${spanContext.traceFlags === 1 ? 1 : 0}`);
|
|
r35 = r28;
|
|
}
|
|
}
|
|
return r35;
|
|
}
|
|
return r28;
|
|
};
|
|
storePreviousTraceInSessionStorage = function storePreviousTraceInSessionStorage(a0) {
|
|
try {
|
|
WINDOW.sessionStorage.setItem(c903_2, JSON.stringify(a0));
|
|
} catch (r18) {
|
|
if (DEBUG_BUILD) {
|
|
debug.warn("Could not store previous trace in sessionStorage", r18);
|
|
}
|
|
}
|
|
};
|
|
getPreviousTraceFromSessionStorage = function getPreviousTraceFromSessionStorage() {
|
|
let r15;
|
|
try {
|
|
let r2 = void 0;
|
|
const sessionStorage = WINDOW.sessionStorage;
|
|
if (sessionStorage != null) {
|
|
r2 = sessionStorage.getItem(c903_2);
|
|
}
|
|
r15 = JSON.parse(r2);
|
|
} catch ($e) {
|
|
return void 0;
|
|
}
|
|
return r15;
|
|
};
|
|
Object.defineProperty(exports, Symbol.toStringTag, {
|
|
value: "Module"
|
|
});
|
|
c903_2 = "sentry_previous_trace";
|
|
c903_3 = "sentry.previous_trace";
|
|
export const PREVIOUS_TRACE_KEY = "sentry_previous_trace";
|
|
export const PREVIOUS_TRACE_MAX_DURATION = 3600;
|
|
export const PREVIOUS_TRACE_TMP_SPAN_ATTRIBUTE = "sentry.previous_trace";
|
|
export { addPreviousTraceSpanLink };
|
|
export { getPreviousTraceFromSessionStorage };
|
|
export function linkTraces(a0, { linkPreviousTrace, consistentTraceSampling }) {
|
|
let c12789_2;
|
|
c12789_2 = void 0;
|
|
const r1 = linkPreviousTrace === "session-storage";
|
|
let c12789_0 = r1;
|
|
let previousTraceFromSessionStorage = r1 ? getPreviousTraceFromSessionStorage() : void 0;
|
|
a0.on("spanStart", (a0) => {
|
|
if (getRootSpan(a0) === a0) {
|
|
const r19 = addPreviousTraceSpanLink(previousTraceFromSessionStorage, a0, getCurrentScope().getPropagationContext());
|
|
previousTraceFromSessionStorage = r19;
|
|
if (c12789_0) {
|
|
storePreviousTraceInSessionStorage(r19);
|
|
}
|
|
}
|
|
});
|
|
c12789_2 = true;
|
|
if (consistentTraceSampling) {
|
|
a0.on("beforeSampling", (a0) => {
|
|
L5: {
|
|
if (previousTraceFromSessionStorage) {
|
|
const currentScope = getCurrentScope();
|
|
const propagationContext = currentScope.getPropagationContext();
|
|
if (c12789_2 && propagationContext.parentSpanId) {
|
|
c12789_2 = false;
|
|
break L5;
|
|
}
|
|
currentScope.setPropagationContext({
|
|
...propagationContext,
|
|
dsc: {
|
|
...propagationContext.dsc,
|
|
sample_rate: String(previousTraceFromSessionStorage.sampleRate),
|
|
sampled: String(previousTraceFromSessionStorage.spanContext.traceFlags === 1)
|
|
},
|
|
sampleRand: previousTraceFromSessionStorage.sampleRand
|
|
});
|
|
a0.parentSampled = previousTraceFromSessionStorage.spanContext.traceFlags === 1;
|
|
a0.parentSampleRate = previousTraceFromSessionStorage.sampleRate;
|
|
const spanAttributes = {
|
|
...a0.spanAttributes
|
|
};
|
|
spanAttributes[SEMANTIC_ATTRIBUTE_SENTRY_PREVIOUS_TRACE_SAMPLE_RATE] = previousTraceFromSessionStorage.sampleRate;
|
|
a0.spanAttributes = spanAttributes;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
export function spanContextSampled(a0) {
|
|
return a0.traceFlags === 1;
|
|
}
|
|
export { storePreviousTraceInSessionStorage };
|