UNPKG

node-sleuth

Version:

A zipkin sleuth impelement for general node.

29 lines (28 loc) 1.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const zipkin_1 = require("zipkin"); const abstract_injector_1 = require("./abstract-injector"); class HttpInjector extends abstract_injector_1.AbstractInjector { constructor() { super(HttpInjector.TRACE_ID_NAME, HttpInjector.SPAN_ID_NAME, HttpInjector.PARENT_SPAN_ID_NAME, HttpInjector.SAMPLED_NAME, HttpInjector.FLAGS_NAME); } /** * inject traceId into http response header * @param ctx koa context * @param traceId trace id */ inject(ctx, traceId) { super.inject(new Proxy(ctx, { set(ctx, p, value) { ctx.set(p, value); return true; }, }), traceId); } } exports.HttpInjector = HttpInjector; HttpInjector.TRACE_ID_NAME = zipkin_1.HttpHeaders.TraceId; // traceIdKey -> 'X-B3-TraceId' HttpInjector.SPAN_ID_NAME = zipkin_1.HttpHeaders.SpanId; // spanIdKey -> 'X-B3-SpanId' HttpInjector.PARENT_SPAN_ID_NAME = zipkin_1.HttpHeaders.ParentSpanId; // parentSpanIdKey -> 'X-B3-ParentSpanId' HttpInjector.SAMPLED_NAME = zipkin_1.HttpHeaders.Sampled; // sampledKey -> 'X-B3-Sampled' HttpInjector.FLAGS_NAME = zipkin_1.HttpHeaders.Flags; // debugKey -> 'X-B3-Flags'