@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
TypeScript
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;
}