@ordojs/dev-tools
Version:
Advanced developer tools for OrdoJS with component inspector, AST explorer, and performance profiling
111 lines (107 loc) • 2.96 kB
text/typescript
import { EventEmitter } from 'events';
import { P as PerformanceProfile, b as PerformanceMeasurement } from '../index-D9DTurRB.mjs';
/**
* @fileoverview OrdoJS Dev Tools - Performance Profiler
*
* Performance profiler for analyzing and optimizing application performance.
*/
/**
* Performance profiler for analyzing application performance
*/
declare class PerformanceProfiler extends EventEmitter {
private profiles;
private activeProfiles;
private measurements;
private isRunning;
private port;
/**
* Create a new PerformanceProfiler instance
*
* @param port - WebSocket port for profiler
*/
constructor(port?: number);
/**
* Start the performance profiler
*/
start(): Promise<void>;
/**
* Stop the performance profiler
*/
stop(): Promise<void>;
/**
* Start a performance profile
*
* @param name - Profile name
* @param metadata - Profile metadata
* @returns Profile instance
*/
startProfile(name: string, metadata?: Record<string, any>): PerformanceProfile;
/**
* Stop a performance profile
*
* @param name - Profile name
* @returns Completed profile
*/
stopProfile(name: string): PerformanceProfile;
/**
* Add a performance measurement
*
* @param profileName - Profile name
* @param measurementName - Measurement name
* @param category - Measurement category
* @param metadata - Measurement metadata
* @returns Measurement instance
*/
addMeasurement(profileName: string, measurementName: string, category?: string, metadata?: Record<string, any>): PerformanceMeasurement;
/**
* End a performance measurement
*
* @param profileName - Profile name
* @param measurementName - Measurement name
* @returns Completed measurement
*/
endMeasurement(profileName: string, measurementName: string): PerformanceMeasurement;
/**
* Get a profile by name
*
* @param name - Profile name
* @returns Profile or undefined
*/
getProfile(name: string): PerformanceProfile | undefined;
/**
* Get all profiles
*
* @returns Array of all profiles
*/
getAllProfiles(): PerformanceProfile[];
/**
* Get active profiles
*
* @returns Array of active profiles
*/
getActiveProfiles(): PerformanceProfile[];
/**
* Clear all profiles
*/
clearProfiles(): void;
/**
* Get profiler statistics
*
* @returns Profiler statistics
*/
getStats(): {
totalProfiles: number;
activeProfiles: number;
totalMeasurements: number;
averageProfileDuration: number;
};
/**
* Start WebSocket server for profiler communication
*/
private startWebSocketServer;
/**
* Stop WebSocket server
*/
private stopWebSocketServer;
}
export { PerformanceProfiler };