export type DiagnosticTraceContextInput = Partial<DiagnosticTraceContext> & {
traceparent?: string;
};
function randomHex(bytes: number): string { return randomBytes(bytes).toString("hex");
}
function isNonZeroHex(value: string): boolean { return !/^0+$/.test(value);
}
function randomTraceId(): string {
let traceId = randomHex(16); while (!isNonZeroHex(traceId)) {
traceId = randomHex(16);
} return traceId;
}
function randomSpanId(): string {
let spanId = randomHex(8); while (!isNonZeroHex(spanId)) {
spanId = randomHex(8);
} return spanId;
}
export function isValidDiagnosticTraceId(value: unknown): value is string { returntypeof value === "string" && TRACE_ID_RE.test(value) && isNonZeroHex(value);
}
export function isValidDiagnosticSpanId(value: unknown): value is string { returntypeof value === "string" && SPAN_ID_RE.test(value) && isNonZeroHex(value);
}
export function isValidDiagnosticTraceFlags(value: unknown): value is string { returntypeof value === "string" && TRACE_FLAGS_RE.test(value);
}
function normalizeTraceId(value: unknown): string | undefined { if (typeof value !== "string") { return undefined;
} const normalized = value.toLowerCase(); return isValidDiagnosticTraceId(normalized) ? normalized : undefined;
}
function normalizeSpanId(value: unknown): string | undefined { if (typeof value !== "string") { return undefined;
} const normalized = value.toLowerCase(); return isValidDiagnosticSpanId(normalized) ? normalized : undefined;
}
function normalizeTraceFlags(value: unknown): string | undefined { if (typeof value !== "string") { return undefined;
} const normalized = value.toLowerCase(); return isValidDiagnosticTraceFlags(normalized) ? normalized : undefined;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.