@embrace-io/web-sdk
Version:
18 lines (17 loc) • 848 B
JavaScript
import { KEY_EMB_W3C_TRACEPARENT } from "../../constants/attributes.js";
import { defaultTextMapGetter, trace } from "@opentelemetry/api";
import { W3CTraceContextPropagator } from "@opentelemetry/core";
//#region src/propagators/EmbraceW3CTraceContextPropagator/EmbraceW3CTraceContextPropagator.ts
var EmbraceW3CTraceContextPropagator = class extends W3CTraceContextPropagator {
inject(context, carrier, setter) {
super.inject(context, carrier, setter);
const span = trace.getSpan(context);
if (span) {
const traceparent = carrier instanceof Headers ? carrier.get("traceparent") : defaultTextMapGetter.get(carrier, "traceparent");
if (traceparent) span.setAttribute(KEY_EMB_W3C_TRACEPARENT, traceparent);
}
}
};
//#endregion
export { EmbraceW3CTraceContextPropagator };
//# sourceMappingURL=EmbraceW3CTraceContextPropagator.js.map