UNPKG

@re-shell/cli

Version:

Full-stack development platform uniting microservices and microfrontends. Build complete applications with .NET (ASP.NET Core Web API, Minimal API), Java (Spring Boot, Quarkus, Micronaut, Vert.x), Rust (Actix-Web, Warp, Rocket, Axum), Python (FastAPI, Dja

140 lines (139 loc) 3.59 kB
interface BenchmarkResult { name: string; duration: number; memoryBefore: NodeJS.MemoryUsage; memoryAfter: NodeJS.MemoryUsage; memoryPeak: number; memoryDelta: number; cpuBefore: NodeJS.CpuUsage; cpuAfter: NodeJS.CpuUsage; cpuUsage: number; startTime: number; endTime: number; iterations: number; success: boolean; error?: string; metadata?: Record<string, any>; } interface BenchmarkSuite { name: string; results: BenchmarkResult[]; summary: { totalDuration: number; averageDuration: number; memoryEfficiency: number; cpuEfficiency: number; successRate: number; }; } interface LoadTestConfig { concurrent: number; duration: number; rampUp: number; operations: Array<{ name: string; weight: number; operation: () => Promise<any>; }>; } interface LoadTestResult { config: LoadTestConfig; results: { totalOperations: number; successfulOperations: number; failedOperations: number; operationsPerSecond: number; averageResponseTime: number; percentiles: { p50: number; p95: number; p99: number; }; memoryUsage: { initial: number; peak: number; final: number; }; errors: string[]; }; } export declare class ResourceBenchmarks { private static instance; private benchmarkHistory; private monitoring; private memoryPeak; private constructor(); static getInstance(): ResourceBenchmarks; /** * Run a single benchmark */ benchmark<T>(name: string, operation: () => Promise<T>, iterations?: number, metadata?: Record<string, any>): Promise<BenchmarkResult>; /** * Run a benchmark suite */ benchmarkSuite(suiteName: string, benchmarks: Array<{ name: string; operation: () => Promise<any>; iterations?: number; metadata?: Record<string, any>; }>): Promise<BenchmarkSuite>; /** * Run CLI startup benchmark */ benchmarkStartup(cliPath: string, args?: string[], iterations?: number): Promise<BenchmarkResult>; /** * Run memory stress test */ memoryStressTest(allocations?: number, allocationSize?: number): Promise<BenchmarkResult>; /** * Run CPU stress test */ cpuStressTest(duration?: number, // milliseconds complexity?: number): Promise<BenchmarkResult>; /** * Run concurrent operations test */ concurrencyTest(concurrency?: number, operationDuration?: number): Promise<BenchmarkResult>; /** * Run load test */ loadTest(config: LoadTestConfig): Promise<LoadTestResult>; /** * Get benchmark history */ getHistory(): BenchmarkResult[]; /** * Get performance baseline */ getBaseline(): { startupTime: number; memoryUsage: number; cpuEfficiency: number; }; /** * Clear benchmark history */ clearHistory(): void; /** * Export benchmark results */ exportResults(format?: 'json' | 'csv'): string; /** * Start memory monitoring */ private startMemoryMonitoring; /** * Stop memory monitoring */ private stopMemoryMonitoring; /** * Calculate suite summary */ private calculateSuiteSummary; /** * Create load test worker */ private createLoadTestWorker; } export declare const resourceBenchmarks: ResourceBenchmarks; export {};