node-sleuth
Version:
A zipkin sleuth impelement for general node.
23 lines (22 loc) • 1.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const zipkin_1 = require("zipkin");
const abstract_ejector_1 = require("./abstract-ejector");
class HttpEjector extends abstract_ejector_1.AbstractEjector {
constructor() {
super(HttpEjector.TRACE_ID_NAME, HttpEjector.SPAN_ID_NAME, HttpEjector.PARENT_SPAN_ID_NAME, HttpEjector.SAMPLED_NAME, HttpEjector.FLAGS_NAME);
}
/**
* eject trace id from http request header
* @param ctx koa context
*/
eject(ctx) {
return super.eject(ctx.headers);
}
}
exports.HttpEjector = HttpEjector;
HttpEjector.TRACE_ID_NAME = zipkin_1.HttpHeaders.TraceId; // traceIdKey -> 'X-B3-TraceId'
HttpEjector.SPAN_ID_NAME = zipkin_1.HttpHeaders.SpanId; // spanIdKey -> 'X-B3-SpanId'
HttpEjector.PARENT_SPAN_ID_NAME = zipkin_1.HttpHeaders.ParentSpanId; // parentSpanIdKey -> 'X-B3-ParentSpanId'
HttpEjector.SAMPLED_NAME = zipkin_1.HttpHeaders.Sampled; // sampledKey -> 'X-B3-Sampled'
HttpEjector.FLAGS_NAME = zipkin_1.HttpHeaders.Flags; // debugKey -> 'X-B3-Flags'