UNPKG

@opentelemetry/otlp-transformer

Version:
55 lines 2.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toOtlpSpanEvent = exports.toOtlpLink = exports.sdkSpanToOtlpSpan = void 0; const internal_1 = require("../common/internal"); function sdkSpanToOtlpSpan(span, encoder) { var _a; const ctx = span.spanContext(); const status = span.status; return { traceId: encoder.encodeSpanContext(ctx.traceId), spanId: encoder.encodeSpanContext(ctx.spanId), parentSpanId: encoder.encodeOptionalSpanContext(span.parentSpanId), traceState: (_a = ctx.traceState) === null || _a === void 0 ? void 0 : _a.serialize(), name: span.name, // Span kind is offset by 1 because the API does not define a value for unset kind: span.kind == null ? 0 : span.kind + 1, startTimeUnixNano: encoder.encodeHrTime(span.startTime), endTimeUnixNano: encoder.encodeHrTime(span.endTime), attributes: (0, internal_1.toAttributes)(span.attributes), droppedAttributesCount: span.droppedAttributesCount, events: span.events.map(event => toOtlpSpanEvent(event, encoder)), droppedEventsCount: span.droppedEventsCount, status: { // API and proto enums share the same values code: status.code, message: status.message, }, links: span.links.map(link => toOtlpLink(link, encoder)), droppedLinksCount: span.droppedLinksCount, }; } exports.sdkSpanToOtlpSpan = sdkSpanToOtlpSpan; function toOtlpLink(link, encoder) { var _a; return { attributes: link.attributes ? (0, internal_1.toAttributes)(link.attributes) : [], spanId: encoder.encodeSpanContext(link.context.spanId), traceId: encoder.encodeSpanContext(link.context.traceId), traceState: (_a = link.context.traceState) === null || _a === void 0 ? void 0 : _a.serialize(), droppedAttributesCount: link.droppedAttributesCount || 0, }; } exports.toOtlpLink = toOtlpLink; function toOtlpSpanEvent(timedEvent, encoder) { return { attributes: timedEvent.attributes ? (0, internal_1.toAttributes)(timedEvent.attributes) : [], name: timedEvent.name, timeUnixNano: encoder.encodeHrTime(timedEvent.time), droppedAttributesCount: timedEvent.droppedAttributesCount || 0, }; } exports.toOtlpSpanEvent = toOtlpSpanEvent; //# sourceMappingURL=internal.js.map