// Module ID: 6352 // Function ID: 57102 // Name: isSpanTimeInput // Dependencies: [77, 6, 7, 6321, 6325, 6326, 6316, 6349, 6317, 6327, 6353, 6339, 6311, 6338, 6354, 6340, 6347] // Module 6352 (isSpanTimeInput) import _defineProperty from "_defineProperty"; import _classCallCheck from "spanTimeInputToSeconds"; import _defineProperties from "logSpanEnd"; function isSpanTimeInput(arg0) { let isArray = arg0; if (arg0) { isArray = "number" === typeof arg0; } if (!isArray) { const _Date = Date; isArray = arg0 instanceof Date; } if (!isArray) { const _Array = Array; isArray = Array.isArray(arg0); } return isArray; } function isFullFinishedSpan(start_timestamp) { return start_timestamp.start_timestamp && start_timestamp.timestamp && start_timestamp.span_id && start_timestamp.trace_id; } function isStandaloneSpan(isStandaloneSpan) { return isStandaloneSpan instanceof closure_5 && isStandaloneSpan.isStandaloneSpan(); } const tmp2 = (() => { class SentrySpan { constructor() { self = this; if (arguments.length > 0) { if (undefined !== arguments[0]) { first = arguments[0]; } tmp = outer1_3; tmp2 = SentrySpan; tmp3 = outer1_3(self, SentrySpan); traceId = first.traceId; if (!traceId) { tmp4 = SentrySpan; tmp5 = outer1_1; num = 3; obj2 = SentrySpan(outer1_1[3]); traceId = obj2.generateTraceId(); } self._traceId = traceId; spanId = first.spanId; if (!spanId) { tmp6 = SentrySpan; tmp7 = outer1_1; num2 = 3; obj3 = SentrySpan(outer1_1[3]); spanId = obj3.generateSpanId(); } self._spanId = spanId; startTimestamp = first.startTimestamp; if (!startTimestamp) { tmp8 = SentrySpan; tmp9 = outer1_1; num3 = 4; obj4 = SentrySpan(outer1_1[4]); startTimestamp = obj4.timestampInSeconds(); } self._startTime = startTimestamp; self._attributes = {}; tmp10 = globalThis; _Object = Object; tmp11 = outer1_2; tmp12 = SentrySpan; tmp13 = outer1_1; num4 = 5; str = "manual"; tmp14 = outer1_2({}, SentrySpan(outer1_1[5]).SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, "manual"); setAttributesResult = self.setAttributes(Object.assign(outer1_2(tmp14, SentrySpan(outer1_1[5]).SEMANTIC_ATTRIBUTE_SENTRY_OP, first.op), first.attributes)); self._name = first.name; if (first.parentSpanId) { self._parentSpanId = first.parentSpanId; } str2 = "sampled"; if ("sampled" in first) { self._sampled = first.sampled; } if (first.endTimestamp) { self._endTime = first.endTimestamp; } self._events = []; self._isStandaloneSpan = first.isStandalone; if (self._endTime) { _onSpanEndedResult = self._onSpanEnded(); } return; } first = {}; return; } } let obj = { key: "addLink", value: function addLink(arg0) { return this; } }; let items = [obj, , , , , , , , , , , , , , , ]; obj = { key: "addLinks", value: function addLinks(arg0) { return this; } }; items[1] = obj; obj = { key: "recordException", value: function recordException(arg0, arg1) { } }; items[2] = obj; items[3] = { key: "spanContext", value: function spanContext() { const obj = { spanId: this._spanId, traceId: this._traceId }; const tmp = SentrySpan(outer1_1[6]); obj.traceFlags = this._sampled ? tmp.TRACE_FLAG_SAMPLED : tmp.TRACE_FLAG_NONE; return obj; } }; items[4] = { key: "setAttribute", value: function setAttribute(arg0, arg1) { const self = this; if (undefined === arg1) { const _attributes = self._attributes; delete tmp[tmp2]; } else { self._attributes[arg0] = arg1; } return self; } }; items[5] = { key: "setAttributes", value: function setAttributes(arg0) { let closure_0 = arg0; const self = this; const keys = Object.keys(arg0); const item = keys.forEach((arg0) => self.setAttribute(arg0, table[arg0])); return this; } }; items[6] = { key: "updateStartTime", value: function updateStartTime(arg0) { this._startTime = SentrySpan(outer1_1[6]).spanTimeInputToSeconds(arg0); } }; items[7] = { key: "setStatus", value: function setStatus(_status) { this._status = _status; return this; } }; items[8] = { key: "updateName", value: function updateName(_name) { this._name = _name; const attr = this.setAttribute(SentrySpan(outer1_1[5]).SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, "custom"); return this; } }; items[9] = { key: "end", value: function end(arg0) { const self = this; if (!this._endTime) { self._endTime = SentrySpan(outer1_1[6]).spanTimeInputToSeconds(arg0); const obj = SentrySpan(outer1_1[6]); SentrySpan(outer1_1[7]).logSpanEnd(self); self._onSpanEnded(); const obj2 = SentrySpan(outer1_1[7]); } } }; items[10] = { key: "getSpanJSON", value: function getSpanJSON() { let _attributes; const self = this; let obj = SentrySpan(outer1_1[8]); obj = { data: this._attributes, description: this._name, op: this._attributes[SentrySpan(undefined, outer1_1[5]).SEMANTIC_ATTRIBUTE_SENTRY_OP], parent_span_id: this._parentSpanId, span_id: this._spanId, start_timestamp: this._startTime, status: SentrySpan(outer1_1[6]).getStatusMessage(this._status) }; ({ _endTime: obj2.timestamp, _traceId: obj2.trace_id, _attributes } = this); obj.origin = _attributes[SentrySpan(undefined, outer1_1[5]).SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]; const obj3 = SentrySpan(outer1_1[6]); obj._metrics_summary = SentrySpan(outer1_1[9]).getMetricSummaryJsonForSpan(this); obj.profile_id = this._attributes[SentrySpan(undefined, outer1_1[5]).SEMANTIC_ATTRIBUTE_PROFILE_ID]; obj.exclusive_time = this._attributes[SentrySpan(undefined, outer1_1[5]).SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME]; const obj4 = SentrySpan(outer1_1[9]); obj.measurements = SentrySpan(outer1_1[10]).timedEventsToMeasurements(this._events); let _isStandaloneSpan = this._isStandaloneSpan; if (_isStandaloneSpan) { _isStandaloneSpan = SentrySpan(outer1_1[6]).getRootSpan(self) === self; const obj6 = SentrySpan(outer1_1[6]); } obj.is_segment = _isStandaloneSpan; let spanId; if (self._isStandaloneSpan) { const rootSpan = SentrySpan(outer1_1[6]).getRootSpan(self); spanId = rootSpan.spanContext().spanId; const obj7 = SentrySpan(outer1_1[6]); } obj.segment_id = spanId; return obj.dropUndefinedKeys(obj); } }; items[11] = { key: "isRecording", value: function isRecording() { return !this._endTime && this._sampled; } }; items[12] = { key: "addEvent", value: function addEvent(name) { let obj = arg1; let timestampInSecondsResult = arg2; const self = this; if (SentrySpan(outer1_1[11]).DEBUG_BUILD) { const logger = SentrySpan(outer1_1[12]).logger; logger.log("[Tracing] Adding an event to span:", name); } let tmp5 = obj; if (!outer1_6(obj)) { if (!timestampInSecondsResult) { timestampInSecondsResult = SentrySpan(outer1_1[4]).timestampInSeconds(); const obj2 = SentrySpan(outer1_1[4]); } tmp5 = timestampInSecondsResult; } if (outer1_6(obj)) { obj = {}; } else if (!obj) { obj = {}; } obj = { name, time: SentrySpan(outer1_1[6]).spanTimeInputToSeconds(tmp5) }; obj.attributes = obj; const _events = self._events; _events.push(obj); return self; } }; items[13] = { key: "isStandaloneSpan", value: function isStandaloneSpan() { return this._isStandaloneSpan; } }; items[14] = { key: "_onSpanEnded", value: function _onSpanEnded() { const self = this; const client = SentrySpan(outer1_1[13]).getClient(); if (client) { client.emit("spanEnd", self); } if (self._isStandaloneSpan) { if (self._isStandaloneSpan) { if (self._sampled) { let tmp10Result = tmp10(tmp11[14]); const items = [self]; const spanEnvelope = tmp10Result.createSpanEnvelope(items, client); tmp10Result = tmp10(tmp11[13]); const client1 = tmp10Result.getClient(); if (client1) { if (spanEnvelope[1]) { if (0 !== arr2.length) { client1.sendEnvelope(spanEnvelope); } } client1.recordDroppedEvent("before_send", "span"); } } else { if (tmp10(tmp11[11]).DEBUG_BUILD) { const logger = SentrySpan(outer1_1[12]).logger; logger.log("[Tracing] Discarding standalone span because its trace was not chosen to be sampled."); } if (client) { client.recordDroppedEvent("sample_rate", "span"); } } } else { const result = self._convertSpanToTransaction(); if (result) { let scope = SentrySpan(outer1_1[15]).getCapturedScopesOnSpan(self).scope; if (!scope) { scope = SentrySpan(outer1_1[13]).getCurrentScope(); const obj5 = SentrySpan(outer1_1[13]); } scope.captureEvent(result); const obj4 = SentrySpan(outer1_1[15]); } } } else { const obj3 = SentrySpan(outer1_1[6]); } } }; items[15] = { key: "_convertSpanToTransaction", value: function _convertSpanToTransaction() { let self = this; self = this; let obj = SentrySpan(outer1_1[6]); if (outer1_7(obj.spanToJSON(this))) { if (!self._name) { if (SentrySpan(outer1_1[11]).DEBUG_BUILD) { const logger = SentrySpan(outer1_1[12]).logger; logger.warn("Transaction has no name, falling back to ``."); } self._name = ""; } let obj1 = SentrySpan(outer1_1[15]); const capturedScopesOnSpan = obj1.getCapturedScopesOnSpan(self); const scope = capturedScopesOnSpan.scope; let currentScope = scope; if (!scope) { let obj3 = SentrySpan(outer1_1[13]); currentScope = obj3.getCurrentScope(); } let client = currentScope.getClient(); if (!client) { client = SentrySpan(outer1_1[13]).getClient(); const obj6 = SentrySpan(outer1_1[13]); } if (true !== self._sampled) { if (SentrySpan(outer1_1[11]).DEBUG_BUILD) { const logger3 = SentrySpan(outer1_1[12]).logger; logger3.log("[Tracing] Discarding transaction because its trace was not chosen to be sampled."); } if (client) { client.recordDroppedEvent("sample_rate", "transaction"); } } else { const spanDescendants = SentrySpan(outer1_1[6]).getSpanDescendants(self); const found = spanDescendants.filter((arg0) => { let tmp = arg0 !== self; if (tmp) { tmp = !outer2_8(arg0); } return tmp; }); const mapped = found.map((arg0) => SentrySpan(outer2_1[6]).spanToJSON(arg0)); const found1 = mapped.filter(outer1_7); const tmp38 = self._attributes[SentrySpan(undefined, outer1_1[5]).SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]; const _attributes = self._attributes; let SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME = SentrySpan(outer1_1[5]).SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME; delete tmp2[tmp]; const item = found1.forEach((data) => { if (data.data) { data = data.data; const SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME = SentrySpan(outer2_1[5]).SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME; delete tmp2[tmp]; } }); obj = {}; obj = {}; const obj15 = SentrySpan(outer1_1[6]); obj.trace = SentrySpan(outer1_1[6]).spanToTransactionTraceContext(self); obj.contexts = obj; let substr = found1; if (found1.length > 1000) { const sorted = found1.sort((start_timestamp, start_timestamp2) => start_timestamp.start_timestamp - start_timestamp2.start_timestamp); substr = sorted.slice(0, 1000); } obj.spans = substr; ({ _startTime: obj16.start_timestamp, _endTime: obj16.timestamp, _name: obj16.transaction } = self); obj.type = "transaction"; const _Object = Object; obj1 = { capturedSpanScope: scope, capturedSpanIsolationScope: capturedScopesOnSpan.isolationScope }; const obj18 = SentrySpan(outer1_1[6]); const obj2 = {}; const obj8 = SentrySpan(outer1_1[8]); obj2.dynamicSamplingContext = SentrySpan(outer1_1[16]).getDynamicSamplingContextFromSpan(self); obj.sdkProcessingMetadata = Object.assign(obj1, obj8.dropUndefinedKeys(obj2)); const obj10 = SentrySpan(outer1_1[16]); obj._metrics_summary = SentrySpan(outer1_1[9]).getMetricSummaryJsonForSpan(self); let tmp18 = tmp38; if (tmp38) { obj3 = {}; const obj4 = { source: tmp38 }; obj3.transaction_info = obj4; tmp18 = obj3; } const merged = Object.assign(obj, tmp18); const obj11 = SentrySpan(outer1_1[9]); const result = SentrySpan(outer1_1[10]).timedEventsToMeasurements(self._events); let length = result; if (result) { const _Object2 = Object; length = Object.keys(result).length; } if (length) { if (SentrySpan(outer1_1[11]).DEBUG_BUILD) { const logger2 = SentrySpan(outer1_1[12]).logger; const _JSON = JSON; logger2.log("[Measurements] Adding measurements to transaction event", JSON.stringify(result, undefined, 2)); } merged.measurements = result; } return merged; } } } }; return _defineProperties(SentrySpan, items); })(); let closure_5 = tmp2; export const SentrySpan = tmp2;