@codai/cbd
Version:
Codai Better Database - High-Performance Vector Memory System with HPKV-inspired architecture and MCP server
93 lines • 2.67 kB
TypeScript
/**
* Performance Optimization Manager
* Connection pooling, caching, and resource optimization
*/
import { EventEmitter } from 'events';
interface ConnectionPoolConfig {
minConnections: number;
maxConnections: number;
acquireTimeoutMillis: number;
idleTimeoutMillis: number;
maxRetries: number;
}
interface CacheConfig {
maxSize: number;
ttl: number;
strategy: 'lru' | 'lfu' | 'fifo' | 'adaptive';
compression: boolean;
}
interface PerformanceMetrics {
requestsPerSecond: number;
averageResponseTime: number;
memoryUsage: NodeJS.MemoryUsage;
cpuUsage: number;
cacheHitRate: number;
connectionPoolUtilization: number;
}
declare class PerformanceOptimizationManager extends EventEmitter {
private connectionPool;
private cacheManager;
private resourceMonitor;
private queryOptimizer;
private performanceMetrics;
private isOptimizing;
constructor(config: {
connectionPool: ConnectionPoolConfig;
cache: CacheConfig;
monitoring: {
metricsInterval: number;
alertThresholds: any;
};
});
private initializeOptimization;
/**
* Connection Pool Management
*/
acquireConnection(): Promise<DatabaseConnection>;
releaseConnection(connection: DatabaseConnection): Promise<void>;
/**
* Intelligent Caching System
*/
getCached<T>(key: string): Promise<T | null>;
setCached<T>(key: string, value: T, ttl?: number): Promise<void>;
/**
* Query Optimization
*/
optimizeQuery(query: string, params?: any[]): Promise<{
optimizedQuery: string;
optimizedParams?: any[];
estimatedPerformance: {
executionTime: number;
memoryUsage: number;
cacheability: number;
};
}>;
/**
* Memory Optimization
*/
optimizeMemoryUsage(): Promise<{
memoryFreed: number;
gcTriggered: boolean;
optimizationActions: string[];
}>;
/**
* Real-time Performance Monitoring
*/
getCurrentMetrics(): PerformanceMetrics;
/**
* Automatic Performance Optimization
*/
runAutoOptimization(): Promise<{
optimizationsApplied: string[];
performanceImprovement: number;
duration: number;
}>;
private setupAutoOptimization;
private initializePerformanceTracking;
private triggerGarbageCollection;
private calculatePerformanceImprovement;
}
declare class DatabaseConnection {
}
export { PerformanceOptimizationManager, ConnectionPoolConfig, CacheConfig, PerformanceMetrics };
//# sourceMappingURL=performance-manager.d.ts.map