@margelo/hermes-profile-transformer
Version:
<h1 align="center"> Hermes Profile Transformer </h1>
144 lines (143 loc) • 4.33 kB
TypeScript
import { EventsPhase } from './Phases';
export interface SharedEventProperties {
/**
* name of the event
*/
name?: string;
/**
* event category
*/
cat?: string;
/**
* tracing clock timestamp
*/
ts?: number;
/**
* process ID
*/
pid?: number;
/**
* thread ID
*/
tid?: number;
/**
* event type (phase)
*/
ph: EventsPhase;
/**
* id for a stackFrame object
*/
sf?: number;
/**
* thread clock timestamp
*/
tts?: number;
/**
* a fixed color name
*/
cname?: string;
/**
* event arguments
*/
args?: {
[key in string]: any;
};
}
interface DurationEventBegin extends SharedEventProperties {
ph: EventsPhase.DURATION_EVENTS_BEGIN;
}
interface DurationEventEnd extends SharedEventProperties {
ph: EventsPhase.DURATION_EVENTS_END;
}
export declare type DurationEvent = DurationEventBegin | DurationEventEnd;
export interface CompleteEvent extends SharedEventProperties {
ph: EventsPhase.COMPLETE_EVENTS;
dur: number;
}
export interface MetadataEvent extends SharedEventProperties {
ph: EventsPhase.METADATA_EVENTS;
}
export interface SampleEvent extends SharedEventProperties {
ph: EventsPhase.SAMPLE_EVENTS;
}
interface ObjectEventCreated extends SharedEventProperties {
ph: EventsPhase.OBJECT_EVENTS_CREATED;
scope?: string;
}
interface ObjectEventSnapshot extends SharedEventProperties {
ph: EventsPhase.OBJECT_EVENTS_SNAPSHOT;
scope?: string;
}
interface ObjectEventDestroyed extends SharedEventProperties {
ph: EventsPhase.OBJECT_EVENTS_DESTROYED;
scope?: string;
}
export declare type ObjectEvent = ObjectEventCreated | ObjectEventSnapshot | ObjectEventDestroyed;
export interface ClockSyncEvent extends SharedEventProperties {
ph: EventsPhase.CLOCK_SYNC_EVENTS;
args: {
sync_id: string;
issue_ts?: number;
};
}
interface ContextEventEnter extends SharedEventProperties {
ph: EventsPhase.CONTEXT_EVENTS_ENTER;
}
interface ContextEventLeave extends SharedEventProperties {
ph: EventsPhase.CONTEXT_EVENTS_LEAVE;
}
export declare type ContextEvent = ContextEventEnter | ContextEventLeave;
interface AsyncEventStart extends SharedEventProperties {
ph: EventsPhase.ASYNC_EVENTS_NESTABLE_START;
id: number;
scope?: string;
}
interface AsyncEventInstant extends SharedEventProperties {
ph: EventsPhase.ASYNC_EVENTS_NESTABLE_INSTANT;
id: number;
scope?: string;
}
interface AsyncEventEnd extends SharedEventProperties {
ph: EventsPhase.ASYNC_EVENTS_NESTABLE_END;
id: number;
scope?: string;
}
export declare type AsyncEvent = AsyncEventStart | AsyncEventInstant | AsyncEventEnd;
export interface InstantEvent extends SharedEventProperties {
ph: EventsPhase.INSTANT_EVENTS;
s: string;
}
export interface CounterEvent extends SharedEventProperties {
ph: EventsPhase.COUNTER_EVENTS;
}
interface FlowEventStart extends SharedEventProperties {
ph: EventsPhase.FLOW_EVENTS_START;
}
interface FlowEventStep extends SharedEventProperties {
ph: EventsPhase.FLOW_EVENTS_STEP;
}
interface FlowEventEnd extends SharedEventProperties {
ph: EventsPhase.FLOW_EVENTS_END;
}
export declare type FlowEvent = FlowEventStart | FlowEventStep | FlowEventEnd;
interface MemoryDumpGlobal extends SharedEventProperties {
ph: EventsPhase.MEMORY_DUMP_EVENTS_GLOBAL;
id: string;
}
interface MemoryDumpProcess extends SharedEventProperties {
ph: EventsPhase.MEMORY_DUMP_EVENTS_PROCESS;
id: string;
}
export declare type MemoryDumpEvent = MemoryDumpGlobal | MemoryDumpProcess;
export interface MarkEvent extends SharedEventProperties {
ph: EventsPhase.MARK_EVENTS;
}
export interface LinkedIDEvent extends SharedEventProperties {
ph: EventsPhase.LINKED_ID_EVENTS;
id: number;
args: {
linked_id: number;
};
}
export declare type Event = DurationEvent | CompleteEvent | MetadataEvent | SampleEvent | ObjectEvent | ClockSyncEvent | ContextEvent | AsyncEvent | InstantEvent | CounterEvent | FlowEvent | MemoryDumpEvent | MarkEvent | LinkedIDEvent;
export {};