Initial commit: Brainy - Multi-Dimensional AI Database

Open source vector database with HNSW indexing, graph relationships,
and metadata facets. Features CLI with professional augmentation registry
integration for discovering extensions and capabilities.
This commit is contained in:
David Snelling 2025-08-18 17:35:06 -07:00
commit f8c45f2d8d
448 changed files with 103294 additions and 0 deletions

110
dist/distributed/healthMonitor.d.ts vendored Normal file
View file

@ -0,0 +1,110 @@
/**
* Health Monitor
* Monitors and reports instance health in distributed deployments
*/
import { DistributedConfigManager } from './configManager.js';
export interface HealthMetrics {
vectorCount: number;
cacheHitRate: number;
memoryUsage: number;
cpuUsage?: number;
requestsPerSecond?: number;
averageLatency?: number;
errorRate?: number;
}
export interface HealthStatus {
status: 'healthy' | 'degraded' | 'unhealthy';
instanceId: string;
role: string;
uptime: number;
lastCheck: string;
metrics: HealthMetrics;
warnings?: string[];
errors?: string[];
}
export declare class HealthMonitor {
private configManager;
private startTime;
private requestCount;
private errorCount;
private totalLatency;
private cacheHits;
private cacheMisses;
private vectorCount;
private checkInterval;
private healthCheckTimer?;
private metricsWindow;
private latencyWindow;
private windowSize;
constructor(configManager: DistributedConfigManager);
/**
* Start health monitoring
*/
start(): void;
/**
* Stop health monitoring
*/
stop(): void;
/**
* Update health status and metrics
*/
private updateHealth;
/**
* Collect current metrics
*/
private collectMetrics;
/**
* Calculate cache hit rate
*/
private calculateCacheHitRate;
/**
* Calculate requests per second
*/
private calculateRPS;
/**
* Calculate average latency
*/
private calculateAverageLatency;
/**
* Calculate error rate
*/
private calculateErrorRate;
/**
* Get CPU usage (simplified)
*/
private getCPUUsage;
/**
* Clean old entries from sliding windows
*/
private cleanWindows;
/**
* Record a request
* @param latency - Request latency in milliseconds
* @param error - Whether the request resulted in an error
*/
recordRequest(latency: number, error?: boolean): void;
/**
* Record cache access
* @param hit - Whether it was a cache hit
*/
recordCacheAccess(hit: boolean): void;
/**
* Update vector count
* @param count - New vector count
*/
updateVectorCount(count: number): void;
/**
* Get current health status
* @returns Health status object
*/
getHealthStatus(): HealthStatus;
/**
* Get health check endpoint data
* @returns JSON-serializable health data
*/
getHealthEndpointData(): Record<string, any>;
/**
* Reset metrics (useful for testing)
*/
resetMetrics(): void;
}