decord/source/7414_sampleSpan.js
2026-08-06 08:05:19 +00:00

66 lines
2.4 KiB
JavaScript

// Module ID: 7414
// Function ID: 7415
// Name: sampleSpan
// Dependencies: [7407, 7402, 7415, 7403, 7375]
// Module 7414 (sampleSpan)
const require = arg1;
const dependencyMap = arg6;
arg5.sampleSpan = function sampleSpan(tracesSampler, normalizedRequest) {
let obj = require(7407) /* hasTracingEnabled */;
if (obj.hasTracingEnabled(tracesSampler)) {
let tmpResult = tmp(7402);
const isolationScope = tmpResult.getIsolationScope();
obj = {};
const merged = Object.assign(normalizedRequest);
obj.normalizedRequest = normalizedRequest.normalizedRequest || isolationScope.getScopeData().sdkProcessingMetadata.normalizedRequest;
if (typeof tracesSampler.tracesSampler === "function") {
let num = tracesSampler.tracesSampler(obj);
} else if (undefined !== obj.parentSampled) {
num = obj.parentSampled;
} else {
num = 1;
if (undefined !== tracesSampler.tracesSampleRate) {
num = tracesSampler.tracesSampleRate;
}
}
tmpResult = tmp(7415);
const parseSampleRateResult = tmpResult.parseSampleRate(num);
if (undefined === parseSampleRateResult) {
if (tmp(7403).DEBUG_BUILD) {
const logger3 = tmp(7375).logger;
logger3.warn("[Tracing] Discarding transaction because of invalid sample rate.");
}
const items = [false];
let items3 = items;
} else if (parseSampleRateResult) {
const _Math = Math;
if (Math.random() < parseSampleRateResult) {
const items1 = [true, parseSampleRateResult];
let items2 = items1;
} else {
if (tmp(7403).DEBUG_BUILD) {
const logger2 = tmp(7375).logger;
const _Number = Number;
const _HermesInternal = HermesInternal;
logger2.log("[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = " + Number(num) + ")");
}
items2 = [false, parseSampleRateResult];
}
} else {
if (tmp(7403).DEBUG_BUILD) {
const logger = tmp(7375).logger;
let str = "a negative sampling decision was inherited or tracesSampleRate is set to 0";
if (typeof tracesSampler.tracesSampler === "function") {
str = "tracesSampler returned 0 or false";
}
logger.log(`[Tracing] Discarding transaction because ${str}`);
}
items3 = [false, parseSampleRateResult];
}
return items3;
} else {
const items4 = [false];
return items4;
}
};