UNPKG

@iota-big3/sdk-production

Version:

Production readiness tools and utilities for SDK

95 lines 2.19 kB
/** * Health Check System * Comprehensive health monitoring for production systems */ import { EventEmitter } from 'events'; export interface HealthCheckConfig { interval?: number; timeout?: number; retries?: number; thresholds?: { healthy?: number; degraded?: number; }; } export interface HealthCheck { name: string; check: () => Promise<HealthStatus>; critical?: boolean; timeout?: number; } export interface HealthStatus { status: 'healthy' | 'degraded' | 'unhealthy'; message?: string; details?: any; responseTime?: number; } export interface SystemHealth { status: 'healthy' | 'degraded' | 'unhealthy'; timestamp: Date; checks: Record<string, HealthStatus>; version: string; uptime: number; } export declare class HealthCheckSystem extends EventEmitter { private config; private checks; private lastResults; private checkInterval?; private startTime; constructor(config?: HealthCheckConfig); /** * Register a health check */ register(): void; /** * Start health check monitoring */ start(): void; /** * Stop health check monitoring */ stop(): void; /** * Run all health checks */ private runChecks; /** * Execute a single health check with retries */ private executeCheck; /** * Get current system health */ getSystemHealth(): SystemHealth; /** * Express middleware for health endpoint */ expressMiddleware(): (req: any, res: any) => Promise<void>; } /** * Common health checks */ export declare const CommonHealthChecks: { /** * Database health check */ database(knex: any): HealthCheck; /** * Redis health check */ redis(client: any): HealthCheck; /** * Memory health check */ memory(maxHeapMB?: number): HealthCheck; /** * Disk space health check */ diskSpace(minFreeGB?: number): HealthCheck; /** * External API health check */ externalApi(url: string, expectedStatus?: number): HealthCheck; }; //# sourceMappingURL=health-check-system.d.ts.map