UNPKG

tracer-component

Version:

Trace execution spans all across your application.

34 lines 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildTraceContext = exports.generateSpanId = exports.generateTraceId = exports.buildTraceString = void 0; const node_crypto_1 = require("node:crypto"); const constants_1 = require("./constants"); function buildTraceString(traceParent) { return `${traceParent.version}-${traceParent.traceId}-${traceParent.parentId}-${traceParent.traceFlags}`; } exports.buildTraceString = buildTraceString; function generateRandomBytesHexString(length) { return (0, node_crypto_1.randomBytes)(length).toString('hex').toLowerCase(); } function generateTraceId() { return generateRandomBytesHexString(16); } exports.generateTraceId = generateTraceId; function generateSpanId() { return generateRandomBytesHexString(8); } exports.generateSpanId = generateSpanId; function buildTraceContext({ name, parentId, traceId, version, traceFlags, traceState, data }) { return { name, id: generateSpanId(), parentId: parentId !== null && parentId !== void 0 ? parentId : constants_1.INVALID_SPAN_ID, traceId, version, traceFlags, traceState, data }; } exports.buildTraceContext = buildTraceContext; //# sourceMappingURL=logic.js.map