decord/source/1066_addHTTPTimings.js
2026-07-24 07:16:23 +00:00

359 lines
15 KiB
JavaScript

// Module ID: 1066
// Function ID: 12244
// Name: addHTTPTimings
// Dependencies: [77, 794, 1067, 1009]
// Exports: instrumentOutgoingRequests
// Module 1066 (addHTTPTimings)
import _defineProperty from "_defineProperty";
function addHTTPTimings(arg0) {
const _require = arg0;
url = _require(url[1]).spanToJSON(arg0).data.url;
if (url) {
if ("string" === typeof url) {
let closure_2 = _require(url[3]).addPerformanceInstrumentationHandler("resource", (arg0) => {
const entries = arg0.entries;
const item = entries.forEach((name) => {
let result = callback(url[2]).isPerformanceResourceTiming(name);
if (result) {
name = name.name;
result = name.endsWith(outer1_1);
}
if (result) {
outer1_0.setAttributes(callback(url[3]).resourceTimingToSpanAttributes(name));
const _setTimeout = setTimeout;
const timerId = setTimeout(outer1_2);
const obj2 = callback(url[3]);
}
});
});
let obj2 = _require(url[3]);
}
}
}
function shouldAttachHeaders(str) {
const locationHref = require(794) /* registerSpanErrorInstrumentation */.getLocationHref();
if (locationHref) {
const _URL = URL;
const uRL = new URL(str, tmp2);
const _URL2 = URL;
const uRL1 = new URL(tmp2);
if (arg1) {
const result = require(794) /* registerSpanErrorInstrumentation */.stringMatchesSomePattern(uRL.toString(), arg1);
let tmp30 = result;
if (!result) {
let result1 = tmp22;
if (tmp22) {
result1 = require(794) /* registerSpanErrorInstrumentation */.stringMatchesSomePattern(uRL.pathname, arg1);
const obj4 = require(794) /* registerSpanErrorInstrumentation */;
}
tmp30 = result1;
}
let tmp24 = tmp30;
const obj3 = require(794) /* registerSpanErrorInstrumentation */;
} else {
tmp24 = tmp22;
}
return tmp24;
} else {
let result2 = str.match(/^\/(?!\/)/);
if (arg1) {
result2 = require(794) /* registerSpanErrorInstrumentation */.stringMatchesSomePattern(str, arg1);
const obj2 = require(794) /* registerSpanErrorInstrumentation */;
}
return result2;
}
const obj = require(794) /* registerSpanErrorInstrumentation */;
}
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const weakMap = new WeakMap();
const map = new Map();
let obj = { traceFetch: true, traceXHR: true, enableHTTPTimings: true, trackFetchStreamPerformance: false };
export const defaultRequestInstrumentationOptions = obj;
export const instrumentOutgoingRequests = function instrumentOutgoingRequests(getOptions, arg1) {
let _defineProperty;
let dependencyMap;
let require;
let shouldCreateSpanForRequest;
let traceFetch;
let traceXHR;
let trackFetchStreamPerformance;
let weakMap;
const merged = Object.assign({}, shouldAttachHeadersWithTargets, arg1);
({ shouldCreateSpanForRequest, enableHTTPTimings: require, tracePropagationTargets: dependencyMap, onRequestSpanStart: _defineProperty, onRequestSpanEnd: weakMap } = merged);
({ traceFetch, traceXHR, trackFetchStreamPerformance } = merged);
if ("function" !== typeof shouldCreateSpanForRequest) {
shouldCreateSpanForRequest = (arg0) => true;
}
shouldAttachHeadersWithTargets = function shouldAttachHeadersWithTargets(arg0) {
return propagateTraceparent(arg0, closure_1);
};
let closure_6 = {};
const propagateTraceparent = getOptions.getOptions().propagateTraceparent;
if (traceFetch) {
getOptions.addEventProcessor((type) => {
if (tmp) {
const spans = type.spans;
const item = spans.forEach((op) => {
if ("http.client" === op.op) {
const value = shouldCreateSpanForRequest.get(op.span_id);
if (value) {
op.timestamp = value / 1000;
shouldCreateSpanForRequest.delete(op.span_id);
}
}
});
}
return type;
});
if (trackFetchStreamPerformance) {
let result = require(794) /* registerSpanErrorInstrumentation */.addFetchEndInstrumentationHandler((response) => {
if (response.response) {
const value = outer1_3.get(response.response);
let endTimestamp = value;
if (value) {
endTimestamp = response.endTimestamp;
}
if (endTimestamp) {
const result = shouldCreateSpanForRequest.set(value, response.endTimestamp);
}
}
});
let obj = require(794) /* registerSpanErrorInstrumentation */;
}
let result1 = require(794) /* registerSpanErrorInstrumentation */.addFetchInstrumentationHandler((response) => {
let obj = outer1_0(outer1_1[1]);
obj = { propagateTraceparent, onRequestSpanEnd: closure_3 };
const result = obj.instrumentFetchRequest(response, shouldCreateSpanForRequest, shouldAttachHeadersWithTargets, callback2, obj);
if (tmp) {
const result1 = outer1_3.set(response.response, response.fetchData.__span);
}
if (result) {
const fullURL = outer1_0(outer1_1[2]).getFullURL(response.fetchData.url);
let host;
if (fullURL) {
host = outer1_0(outer1_1[1]).parseUrl(fullURL).host;
const obj5 = outer1_0(outer1_1[1]);
}
obj = {};
let stripDataUrlContentResult;
if (fullURL) {
stripDataUrlContentResult = outer1_0(outer1_1[1]).stripDataUrlContent(fullURL);
const obj7 = outer1_0(outer1_1[1]);
}
obj["http.url"] = stripDataUrlContentResult;
obj["server.address"] = host;
result.setAttributes(obj);
if (closure_0) {
callback2(result);
}
if (null != callback) {
const obj1 = { headers: response.headers };
callback(result, obj1);
}
const obj4 = outer1_0(outer1_1[2]);
}
});
let obj2 = require(794) /* registerSpanErrorInstrumentation */;
}
if (traceXHR) {
const result2 = require(1009) /* addClsInstrumentationHandler */.addXhrInstrumentationHandler((xhr) => {
const tmp = (function xhrCallback(xhr, shouldCreateSpanForRequest, shouldAttachHeadersWithTargets, closure_6, propagateTraceparent, closure_3) {
let method;
let url;
xhr = xhr.xhr;
if (null != xhr) {
let tmp3 = xhr[outer2_0(undefined, outer2_1[3]).SENTRY_XHR_DATA_KEY];
}
if (xhr) {
if (!xhr.__sentry_own_request__) {
if (tmp3) {
({ url, method } = tmp3);
let obj = outer2_0(outer2_1[1]);
let hasSpansEnabledResult = obj.hasSpansEnabled();
if (hasSpansEnabledResult) {
hasSpansEnabledResult = shouldCreateSpanForRequest(url);
}
if (xhr.endTimestamp) {
if (hasSpansEnabledResult) {
const __sentry_xhr_span_id__ = xhr.__sentry_xhr_span_id__;
if (__sentry_xhr_span_id__) {
let tmp50 = obj17;
if (closure_6[__sentry_xhr_span_id__]) {
tmp50 = undefined !== tmp3.status_code;
}
if (tmp50) {
outer2_0(outer2_1[1]).setHttpStatus(obj17, tmp3.status_code);
obj17.end();
if (null != closure_3) {
obj = {};
const obj20 = outer2_0(outer2_1[2]);
obj.headers = obj20.createHeadersSafely(outer2_0(outer2_1[3]).parseXhrResponseHeaders(xhr));
obj.error = xhr.error;
closure_3(obj17, obj);
const obj21 = outer2_0(outer2_1[3]);
}
delete tmp2[tmp];
const obj18 = outer2_0(outer2_1[1]);
}
}
}
}
let obj1 = outer2_0(outer2_1[2]);
const fullURL = obj1.getFullURL(url);
const parseUrl = outer2_0(outer2_1[1]).parseUrl;
let tmp16 = fullURL ? parseUrl(fullURL) : parseUrl(url);
let obj2 = outer2_0(outer2_1[1]);
let obj3 = outer2_0(outer2_1[1]);
const tmp15 = outer2_0(outer2_1[1]);
const stripDataUrlContentResult = obj2.stripDataUrlContent(obj3.stripUrlQueryAndFragment(url));
const tmp20 = !outer2_0(outer2_1[1]).getActiveSpan();
if (hasSpansEnabledResult) {
if (!tmp20) {
obj = {};
const _HermesInternal = HermesInternal;
obj.name = "" + method + " " + stripDataUrlContentResult;
obj1 = {};
const obj6 = outer2_0(outer2_1[1]);
obj1.url = outer2_0(outer2_1[1]).stripDataUrlContent(url);
obj1.type = "xhr";
obj1["http.method"] = method;
let stripDataUrlContentResult1;
if (fullURL) {
stripDataUrlContentResult1 = outer2_0(outer2_1[1]).stripDataUrlContent(fullURL);
const obj10 = outer2_0(outer2_1[1]);
}
obj1["http.url"] = stripDataUrlContentResult1;
let host;
if (null != tmp16) {
host = tmp16.host;
}
obj1["server.address"] = host;
let tmp24Result = tmp24(obj1, outer2_0(outer2_1[1]).SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, "auto.http.browser");
let search;
tmp24Result = tmp24(tmp24Result, outer2_0(outer2_1[1]).SEMANTIC_ATTRIBUTE_SENTRY_OP, "http.client");
if (null != tmp16) {
search = tmp16.search;
}
if (search) {
obj2 = {};
let search1;
if (null != tmp16) {
search1 = tmp16.search;
}
obj2["http.query"] = search1;
search = obj2;
}
let hash;
if (null != tmp16) {
hash = tmp16.hash;
}
if (hash) {
obj3 = {};
let hash1;
if (null != tmp16) {
hash1 = tmp16.hash;
}
obj3["http.fragment"] = hash1;
hash = obj3;
}
obj.attributes = Object.assign(tmp24Result, search, hash);
let startInactiveSpanResult = obj6.startInactiveSpan(obj);
const obj9 = outer2_0(outer2_1[1]);
}
xhr.__sentry_xhr_span_id__ = startInactiveSpanResult.spanContext().spanId;
closure_6[xhr.__sentry_xhr_span_id__] = startInactiveSpanResult;
if (shouldAttachHeadersWithTargets(url)) {
let tmp44;
if (obj14.hasSpansEnabled()) {
if (!tmp20) {
tmp44 = startInactiveSpanResult;
}
}
(function addTracingHeadersToXhrRequest(xhr, span, propagateTraceparent) {
let baggage;
let tmp2;
let traceparent;
let obj = outer3_0(outer3_1[1]);
obj = { span, propagateTraceparent };
const traceData = obj.getTraceData(obj);
({ sentry-trace: tmp2, baggage, traceparent } = traceData);
if (tmp2) {
const __sentry_xhr_v3__ = xhr.__sentry_xhr_v3__;
let request_headers;
if (null != __sentry_xhr_v3__) {
request_headers = __sentry_xhr_v3__.request_headers;
}
if (null == request_headers) {
if (obj3.setRequestHeader) {
obj3.setRequestHeader("sentry-trace", tmp3);
let tmp16 = tmp15;
if (!!tmp5) {
let traceparent2 = tmp18;
if (null != tmp8) {
traceparent2 = tmp8.traceparent;
}
tmp16 = traceparent2;
}
if (!tmp16) {
obj3.setRequestHeader("traceparent", tmp5);
}
if (tmp4) {
baggage = undefined;
if (null != tmp8) {
baggage = request_headers.baggage;
}
let result = baggage;
if (baggage) {
result = outer3_0(outer3_1[2]).baggageHeaderHasSentryValues(baggage);
const obj4 = outer3_0(outer3_1[2]);
}
if (!result) {
obj3.setRequestHeader("baggage", tmp4);
}
}
}
}
tmp3 = tmp2;
}
})(xhr, tmp44, propagateTraceparent);
obj14 = outer2_0(outer2_1[1]);
}
const client = outer2_0(outer2_1[1]).getClient();
if (client) {
client.emit("beforeOutgoingRequestSpan", startInactiveSpanResult, xhr);
}
return startInactiveSpanResult;
}
const SentryNonRecordingSpan = outer2_0(outer2_1[1]).SentryNonRecordingSpan;
const prototype = SentryNonRecordingSpan.prototype;
startInactiveSpanResult = new SentryNonRecordingSpan();
const obj5 = outer2_0(outer2_1[1]);
}
}
}
})(xhr, shouldCreateSpanForRequest, shouldAttachHeadersWithTargets, callback2, propagateTraceparent, closure_3);
if (tmp) {
if (closure_0) {
callback2(tmp);
}
if (null != closure_2) {
let obj = {};
let __sentry_xhr_v3__ = xhr.xhr.__sentry_xhr_v3__;
let request_headers;
if (null != __sentry_xhr_v3__) {
request_headers = __sentry_xhr_v3__.request_headers;
}
obj.headers = outer1_0(outer1_1[2]).createHeadersSafely(request_headers);
closure_2(tmp, obj);
let obj2 = outer1_0(outer1_1[2]);
const tmp7 = closure_2;
}
}
});
let obj3 = require(1009) /* addClsInstrumentationHandler */;
}
};
export { shouldAttachHeaders };