UNPKG

@ordojs/dev-tools

Version:

Advanced developer tools for OrdoJS with component inspector, AST explorer, and performance profiling

111 lines (107 loc) 2.96 kB
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 };