datapilot-cli
Version:
Enterprise-grade streaming multi-format data analysis with comprehensive statistical insights and intelligent relationship detection - supports CSV, JSON, Excel, TSV, Parquet - memory-efficient, cross-platform
110 lines • 2.53 kB
TypeScript
/**
* Health Check System
* Production monitoring and health endpoints
*/
export interface HealthStatus {
status: 'healthy' | 'degraded' | 'unhealthy';
timestamp: string;
uptime: number;
version: string;
checks: HealthCheck[];
summary: {
total: number;
passing: number;
failing: number;
warnings: number;
};
}
export interface HealthCheck {
name: string;
status: 'pass' | 'fail' | 'warn';
message: string;
duration: number;
metadata?: Record<string, any>;
}
export interface MonitoringMetrics {
memory: {
heapUsed: number;
heapTotal: number;
external: number;
rss: number;
percentUsed: number;
};
performance: {
uptime: number;
cpuUsage: NodeJS.CpuUsage;
eventLoopDelay: number;
};
errors: {
total: number;
last24h: number;
byCategory: Record<string, number>;
bySeverity: Record<string, number>;
};
requests: {
total: number;
successful: number;
failed: number;
averageResponseTime: number;
};
}
declare class HealthChecker {
private startTime;
private requestCount;
private successfulRequests;
private failedRequests;
private responseTimes;
constructor();
/**
* Perform comprehensive health check
*/
checkHealth(): Promise<HealthStatus>;
/**
* Get detailed monitoring metrics
*/
getMetrics(): MonitoringMetrics;
/**
* Record request metrics
*/
recordRequest(success: boolean, responseTime: number): void;
/**
* Check memory health
*/
private checkMemoryHealth;
/**
* Check error rate
*/
private checkErrorRate;
/**
* Check performance metrics
*/
private checkPerformance;
/**
* Check system dependencies
*/
private checkDependencies;
/**
* Simple readiness check
*/
isReady(): boolean;
/**
* Simple liveness check
*/
isAlive(): boolean;
private getErrorsLast24h;
private getAverageResponseTime;
private measureEventLoopDelay;
}
export declare const globalHealthChecker: HealthChecker;
export declare const healthEndpoints: {
'/health': () => Promise<HealthStatus>;
'/health/ready': () => {
ready: boolean;
};
'/health/live': () => {
alive: boolean;
};
'/metrics': () => MonitoringMetrics;
};
export {};
//# sourceMappingURL=health-checker.d.ts.map