@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
69 lines (68 loc) • 1.84 kB
TypeScript
interface PerformanceBenchmark {
command: string;
timestamp: number;
duration: number;
version: string;
nodeVersion: string;
platform: string;
cpuUsage?: NodeJS.CpuUsage;
memoryUsage?: NodeJS.MemoryUsage;
}
interface RegressionReport {
baseline: PerformanceBenchmark;
current: PerformanceBenchmark;
regression: number;
status: 'pass' | 'fail' | 'warning';
threshold: number;
}
export declare class StartupRegressionTester {
private static instance;
private benchmarksPath;
private baselines;
private readonly REGRESSION_THRESHOLD;
private readonly WARNING_THRESHOLD;
private constructor();
static getInstance(): StartupRegressionTester;
/**
* Measure startup time for a command
*/
measureStartupTime(command: string, args?: string[], iterations?: number): Promise<PerformanceBenchmark>;
/**
* Run a command and measure its execution time
*/
private runCommand;
/**
* Set baseline for a command
*/
setBaseline(command: string, args?: string[]): Promise<void>;
/**
* Test for regressions against baseline
*/
testRegression(command: string, args?: string[]): Promise<RegressionReport>;
/**
* Run comprehensive regression test suite
*/
runTestSuite(): Promise<RegressionReport[]>;
/**
* Generate performance report
*/
generateReport(reports: RegressionReport[]): string;
/**
* Continuous monitoring setup
*/
setupContinuousMonitoring(): void;
/**
* Load baselines from disk
*/
private loadBaselines;
/**
* Save baselines to disk
*/
private saveBaselines;
/**
* Get current CLI version
*/
private getVersion;
}
export declare const startupTester: StartupRegressionTester;
export {};