trace-event.d.ts
1.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/**
* trace-event - A library to create a trace of your node app per
* Google's Trace Event format:
* // JSSTYLED
* https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU
*/
/// <reference types="node" />
import { Readable as ReadableStream } from "stream";
export interface Event {
ts: number;
pid: number;
tid: number;
/** event phase */
ph?: string;
[otherData: string]: any;
}
export interface Fields {
cat?: any;
args?: any;
[filedName: string]: any;
}
export interface TracerOptions {
parent?: Tracer | null;
fields?: Fields | null;
objectMode?: boolean | null;
noStream?: boolean;
}
export declare class Tracer extends ReadableStream {
private _objectMode;
/** Node Stream internal APIs */
private _push;
private firstPush?;
private noStream;
private events;
private parent;
private fields;
constructor(opts?: TracerOptions);
/**
* If in no streamMode in order to flush out the trace
* you need to call flush.
*/
flush(): void;
_read(_: number): void;
private _pushString;
private _flush;
child(fields: Fields): Tracer;
begin(fields: Fields): void;
end(fields: Fields): void;
completeEvent(fields: Fields): void;
instantEvent(fields: Fields): void;
mkEventFunc(ph: string): (fields: Fields) => void;
}