node-sleuth
Version:
A zipkin sleuth impelement for general node.
74 lines (73 loc) • 2.06 kB
TypeScript
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;
}