34 lines
1017 B
TypeScript
34 lines
1017 B
TypeScript
import { SpanId } from './shared';
|
|
export declare enum SpanStatus {
|
|
Started = 0,
|
|
Stopped = 1
|
|
}
|
|
export declare class Span {
|
|
name: string;
|
|
id: SpanId;
|
|
parentId?: SpanId;
|
|
duration: number | null;
|
|
attrs: {
|
|
[key: string]: any;
|
|
};
|
|
status: SpanStatus;
|
|
now: number;
|
|
_start: bigint;
|
|
constructor({ name, parentId, attrs, startTime, }: {
|
|
name: string;
|
|
parentId?: SpanId;
|
|
startTime?: bigint;
|
|
attrs?: Object;
|
|
});
|
|
stop(stopTime?: bigint): void;
|
|
traceChild(name: string, attrs?: Object): Span;
|
|
manualTraceChild(name: string, startTime: bigint, stopTime: bigint, attrs?: Object): void;
|
|
setAttribute(key: string, value: any): void;
|
|
traceFn<T>(fn: (span: Span) => T): T;
|
|
traceAsyncFn<T>(fn: (span: Span) => T | Promise<T>): Promise<T>;
|
|
}
|
|
export declare const trace: (name: string, parentId?: SpanId, attrs?: {
|
|
[key: string]: string;
|
|
} | undefined) => Span;
|
|
export declare const flushAllTraces: () => Promise<void>;
|