bc-code-intelligence-mcp
Version:
BC Code Intelligence MCP Server - Complete Specialist Bundle with AI-driven expert consultation, seamless handoffs, and context-preserving workflows
99 lines • 3.04 kB
TypeScript
/**
* 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<string, any>;
}
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<string, any>): void;
/**
* Time and track an async operation
*/
timeOperation<T>(operation: string, fn: () => Promise<T>, metadata?: Record<string, any>): Promise<T>;
/**
* Create a timer for manual tracking
*/
createTimer(operation: string, metadata?: Record<string, any>): {
stop: (additionalMetadata?: Record<string, any>) => 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<string, {
count: number;
avg_duration: number;
total_time: number;
}>;
/**
* 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<string, any>;
};
private calculateOpsPerSecond;
}
//# sourceMappingURL=performance-monitor.d.ts.map