UNPKG

node-sleuth

Version:

A zipkin sleuth impelement for general node.

74 lines (73 loc) 2.06 kB
import { Context, JsonEncoder, Logger, model, Recorder, TraceId, Tracer } from 'zipkin'; import { IEjector } from './ejector'; import { IInjector } from './injector'; export declare const Span: typeof model.Span; export declare type Span = model.Span; export declare const Endpoint: typeof model.Endpoint; export declare type Endpoint = model.Endpoint; export interface IConstructorArgs { /** * root trace id */ traceId?: TraceId; /** * context name, if you have multiple sleuth it is useful, default `zipkin` */ ctxName?: string; /** * context implement, default `zipkin-context-cls` */ ctxImpl?: Context<TraceId>; /** * current system name, will report to zipkin server */ localServiceName: string; /** * zipkin server host, `http://${endpointHost}:${endpointPort}/api/v2/spans` */ endpointHost?: string; /** * zipkin server port, `http://${endpointHost}:${endpointPort}/api/v2/spans` */ endpointPort?: string | number; /** * zipkin server endpoint, will ignore `endpointHost`, `endpointPort` */ endpoint?: string; /** * timeout for send zipkin trace */ httpTimeout?: number; /** * zipkin json encoder */ jsonEncoder?: JsonEncoder; /** * zipkin recorder */ recorder?: Recorder; /** * injector, inject `traceId` to next service */ injector?: IInjector; /** * ejector, eject `traceId` from previous service */ ejector?: IEjector; } export declare class Tracing { private static _tracer; private static _logger; private static _injector; private static _ejector; private static _hasRootTracer; static get tracer(): Tracer; static get logger(): Logger; static get injector(): IInjector; static get ejector(): IEjector; static get hasRootTracer(): boolean; static set hasRootTracer(value: boolean); static get ip(): string; private constructor(); static init(args: IConstructorArgs): Tracer; }