53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| /**
 | |
|  * 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;
 | |
| }
 |