UNPKG

@azure/event-hubs

Version:
80 lines (79 loc) 3.12 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var instrumentEventData_exports = {}; __export(instrumentEventData_exports, { TRACEPARENT_PROPERTY: () => TRACEPARENT_PROPERTY, extractSpanContextFromEventData: () => extractSpanContextFromEventData, instrumentEventData: () => instrumentEventData }); module.exports = __toCommonJS(instrumentEventData_exports); var import_eventData = require("../eventData.js"); var import_tracing = require("./tracing.js"); const TRACEPARENT_PROPERTY = "Diagnostic-Id"; function instrumentEventData(eventData, options, entityPath, host, operation) { const props = (0, import_eventData.isAmqpAnnotatedMessage)(eventData) ? eventData.applicationProperties : eventData.properties; const previouslyInstrumented = Boolean(props?.[TRACEPARENT_PROPERTY]); if (previouslyInstrumented) { return { event: eventData, spanContext: void 0 }; } const { span: messageSpan, updatedOptions } = import_tracing.tracingClient.startSpan( "message", options, (0, import_tracing.toSpanOptions)({ entityPath, host }, operation, "producer") ); try { if (!messageSpan.isRecording()) { return { event: eventData, spanContext: void 0 }; } const traceParent = import_tracing.tracingClient.createRequestHeaders( updatedOptions.tracingOptions?.tracingContext )["traceparent"]; if (traceParent) { const copiedProps = { ...props }; if ((0, import_eventData.isAmqpAnnotatedMessage)(eventData)) { eventData = { ...eventData, applicationProperties: copiedProps }; } else { eventData = { ...eventData, properties: copiedProps }; } copiedProps[TRACEPARENT_PROPERTY] = traceParent; } return { event: eventData, spanContext: updatedOptions.tracingOptions?.tracingContext }; } finally { messageSpan.end(); } } function extractSpanContextFromEventData(eventData) { if (!eventData.properties || !eventData.properties[TRACEPARENT_PROPERTY]) { return; } const diagnosticId = eventData.properties[TRACEPARENT_PROPERTY]; return import_tracing.tracingClient.parseTraceparentHeader(diagnosticId); } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { TRACEPARENT_PROPERTY, extractSpanContextFromEventData, instrumentEventData }); //# sourceMappingURL=instrumentEventData.js.map