/** * Performance Monitor for BCKB System * * Tracks performance metrics, identifies bottlenecks, and provides * optimization recommendations for production deployments. */ export interface PerformanceMetric { operation: string; duration_ms: number; timestamp: number; metadata?: Record; } export interface PerformanceSummary { total_operations: number; average_duration_ms: number; p95_duration_ms: number; p99_duration_ms: number; operations_per_second: number; slowest_operations: PerformanceMetric[]; fastest_operations: PerformanceMetric[]; } export interface SystemHealthMetrics { memory_usage_mb: number; cache_hit_rate: number; active_layers: number; total_topics: number; average_response_time_ms: number; error_rate: number; uptime_seconds: number; } export declare class PerformanceMonitor { private readonly enableDetailedTracking; private readonly enableSlowQueryLogging; private readonly slowQueryThresholdMs; private metrics; private errorCount; private totalRequests; private startTime; private readonly maxMetrics; constructor(enableDetailedTracking?: boolean, enableSlowQueryLogging?: boolean, slowQueryThresholdMs?: number); /** * Track a performance metric */ trackOperation(operation: string, durationMs: number, metadata?: Record): void; /** * Time and track an async operation */ timeOperation(operation: string, fn: () => Promise, metadata?: Record): Promise; /** * Create a timer for manual tracking */ createTimer(operation: string, metadata?: Record): { stop: (additionalMetadata?: Record) => number; }; /** * Get performance summary for a specific operation */ getOperationSummary(operation: string): PerformanceSummary | null; /** * Get overall system performance summary */ getOverallSummary(): PerformanceSummary; /** * Get system health metrics */ getSystemHealth(): SystemHealthMetrics; /** * Get optimization recommendations based on performance data */ getOptimizationRecommendations(): Array<{ type: string; message: string; priority: 'high' | 'medium' | 'low'; impact: string; }>; /** * Get operation breakdown by frequency and performance */ getOperationBreakdown(): Record; /** * Clear all metrics (useful for testing or memory management) */ clearMetrics(): void; /** * Export metrics for external analysis */ exportMetrics(): { metrics: PerformanceMetric[]; summary: PerformanceSummary; system_health: SystemHealthMetrics; operation_breakdown: Record; }; private calculateOpsPerSecond; } //# sourceMappingURL=performance-monitor.d.ts.map