| /// <reference types="node" /> |
| /** |
| * 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 |
| */ |
| 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(ev); |
| 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; |
| } |