UNPKG

@embrace-io/web-sdk

Version:
27 lines (26 loc) 1.47 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const require_constants_attributes = require("../../constants/attributes.cjs"); const require_managers_EmbraceTraceManager_EmbraceExtendedSpan = require("./EmbraceExtendedSpan.cjs"); let _opentelemetry_api = require("@opentelemetry/api"); //#region src/managers/EmbraceTraceManager/EmbraceTraceManager.ts var EmbraceTraceManager = class { _tracer; constructor({ tracerProvider: globalTraceProviderOverride } = {}) { const tracerProvider = globalTraceProviderOverride ?? _opentelemetry_api.trace; this._tracer = tracerProvider.getTracer("embrace-web-sdk-traces"); } startSpan(name, options = {}, ctx) { options.attributes = options.attributes ? options.attributes : {}; options.attributes[require_constants_attributes.KEY_EMB_TYPE] = "perf"; const activeContext = options.parentSpan ? _opentelemetry_api.trace.setSpan(_opentelemetry_api.context.active(), options.parentSpan) : ctx; return new require_managers_EmbraceTraceManager_EmbraceExtendedSpan.EmbraceExtendedSpan(this._tracer.startSpan(name, options, activeContext)); } setSpan = _opentelemetry_api.trace.setSpan; getSpan(context) { const span = _opentelemetry_api.trace.getSpan(context); if (span) return new require_managers_EmbraceTraceManager_EmbraceExtendedSpan.EmbraceExtendedSpan(span); } }; //#endregion exports.EmbraceTraceManager = EmbraceTraceManager; //# sourceMappingURL=EmbraceTraceManager.cjs.map