UNPKG

@embrace-io/web-sdk

Version:
41 lines (40 loc) 1.47 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const require_constants_attributes = require("../../constants/attributes.cjs"); const require_utils_spanPredicates = require("../../utils/spanPredicates.cjs"); let _opentelemetry_api = require("@opentelemetry/api"); let _opentelemetry_core = require("@opentelemetry/core"); //#region src/processors/SignalCorrelationSpanProcessor/SignalCorrelationSpanProcessor.ts /** * Records eligible spans as they start into a shared buffer, so a * soft-navigation span can later correlate the logs and spans that started * within its window. */ var SignalCorrelationSpanProcessor = class { _buffer; constructor({ buffer }) { this._buffer = buffer; } forceFlush() { return Promise.resolve(void 0); } onStart(span) { try { if (require_utils_spanPredicates.isSoftNavigationSpan(span) || require_utils_spanPredicates.isSessionPartSpan(span)) return; this._buffer.record({ kind: "span", id: span.spanContext().spanId, startTime: (0, _opentelemetry_core.hrTimeToMilliseconds)(span.startTime), type: span.attributes[require_constants_attributes.KEY_EMB_TYPE] }); } catch (e) { _opentelemetry_api.diag.error("failed to record span for correlation", e); } } onEnd() {} shutdown() { return Promise.resolve(void 0); } }; //#endregion exports.SignalCorrelationSpanProcessor = SignalCorrelationSpanProcessor; //# sourceMappingURL=SignalCorrelationSpanProcessor.cjs.map