/** * Agentic QE v3 - Performance Profiler Service * Implements IResilienceTestingService for recovery, failover, and resilience testing */ import { Result } from '../../../shared/types'; import { MemoryBackend } from '../../../kernel/interfaces'; import { FaultType, RecoveryTestResult, FailoverTestResult, CircuitBreakerTestOptions, CircuitBreakerTestResult, RateLimitTestResult, IResilienceTestingService } from '../interfaces'; /** * Configuration for the performance profiler service */ export interface PerformanceProfilerConfig { defaultTimeout: number; healthCheckInterval: number; maxRetries: number; recoveryCheckDelay: number; /** * When true, simulated health checks will randomly fail (5% failure rate). * When false (default), simulated health checks always succeed. * Only affects non-HTTP service URLs in simulation mode. */ simulateRandomFailures: boolean; } /** * Performance Profiler Service Implementation * Tests system resilience, recovery, failover, circuit breakers, and rate limiting */ export declare class PerformanceProfilerService implements IResilienceTestingService { private readonly memory; private readonly config; private readonly httpClient; constructor(memory: MemoryBackend, config?: Partial); /** * Test service recovery after fault injection */ testRecovery(service: string, faultType: FaultType, expectedRecoveryTime: number): Promise>; /** * Test failover between primary and secondary services */ testFailover(primaryService: string, secondaryService: string): Promise>; /** * Test circuit breaker behavior */ testCircuitBreaker(service: string, options?: CircuitBreakerTestOptions): Promise>; /** * Test rate limiting behavior */ testRateLimiting(service: string, expectedLimit: number): Promise>; private checkServiceHealth; private isRealServiceUrl; private simulateHealthCheck; private checkServiceIsActive; private simulateServiceActive; private injectFault; private removeFault; private captureServiceState; private calculateChecksum; private parseRecordCount; private captureMemoryState; private hashServiceName; private compareServiceStates; private getCircuitState; private resetCircuit; private generateError; private sendSuccessfulRequest; private sendRequestBatch; private simulateRequestBatch; private storeTestResult; private sleep; } //# sourceMappingURL=performance-profiler.d.ts.map