File size: 1,391 Bytes
1df763a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
53
/**
 * 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;
}