UNPKG

@texagon/nestjs-health

Version:

A comprehensive health monitoring package for NestJS applications with metrics and Kubernetes-ready health checks

102 lines (101 loc) 3.34 kB
import { HealthCheckService, MemoryHealthIndicator, DiskHealthIndicator } from "@nestjs/terminus"; import { HealthService } from "./health.service"; import { MetricsService } from "./metrics.service"; import { HealthModuleOptions } from "./health.module"; export declare class HealthController { private health; private memory; private disk; private healthService; private metricsService; private readonly options; constructor(health: HealthCheckService, memory: MemoryHealthIndicator, disk: DiskHealthIndicator, healthService: HealthService, metricsService: MetricsService, options: HealthModuleOptions); check(): Promise<import("@nestjs/terminus").HealthCheckResult>; liveness(): Promise<import("@nestjs/terminus").HealthCheckResult>; readiness(): Promise<import("@nestjs/terminus").HealthCheckResult>; getDetailedStats(includeHistory: string): Promise<{ history: { resources: import("./metrics.service").ResourceMetrics[]; }; status: string; timestamp: string; version: string; process: { pid: number; ppid: number; title: string; uptime: { seconds: number; formatted: string; }; memoryUsage: { current: { rss: string; heapTotal: string; heapUsed: string; external: string; arrayBuffers: string; }; max: { rss: string; heapTotal: string; heapUsed: string; external: string; arrayBuffers: string; }; min: { rss: string; heapTotal: string; heapUsed: string; external: string; arrayBuffers: string; }; }; cpuUsage: { current: { user: number; system: number; percent: string; }; max: { user: number; system: number; percent: string; }; }; }; system: { platform: NodeJS.Platform; arch: NodeJS.Architecture; nodeVersion: string; hostname: any; uptime: { seconds: any; formatted: string; }; loadAvg: any; totalMemory: string; freeMemory: string; cpus: any; }; disk: import("@nestjs/terminus").HealthIndicatorResult | { disk: { status: string; }; }; environment: string; requests: { total: number; responseTime: { avg: string; max: string; min: string; }; byMethod: Record<string, number>; byStatusCode: Record<string, number>; recent: import("./metrics.service").RequestMetrics[]; }; }>; private formatBytes; private formatUptime; }