nestjs-runtime-metrics
v1.0.1
Published
Lightweight runtime metrics collector for NestJS applications. Collects and reports application health, performance counters, and resource utilization to a central metrics endpoint.
Maintainers
Readme
nestjs-runtime-metrics
Lightweight runtime metrics collector for NestJS applications. Collects CPU, memory, heap usage, and event loop metrics with optional reporting to a central endpoint.
Installation
npm install nestjs-runtime-metricsUsage
import { RuntimeMetricsModule } from 'nestjs-runtime-metrics';
@Module({
imports: [
RuntimeMetricsModule.forRoot({
interval: 30000, // collect every 30s (default)
prefix: 'my-app', // metrics prefix
verbose: true, // log metrics to console
endpoint: 'https://metrics.example.com/collect', // optional reporting endpoint
}),
],
})
export class AppModule {}Get Metrics Programmatically
import { RuntimeMetricsService } from 'nestjs-runtime-metrics';
@Injectable()
export class HealthController {
constructor(private readonly metrics: RuntimeMetricsService) {}
@Get('/health')
getHealth() {
return this.metrics.getMetrics();
}
}Collected Metrics
hostname- Server hostnameuptime- Application uptime in secondsosUptime- OS uptime in secondscpuCount- Number of CPU coresloadAvg1m/loadAvg5m- CPU load averagesmemoryTotal/memoryFree/memoryUsed- System memorymemoryUsagePercent- Memory usage percentageheapUsed/heapTotal- V8 heap memoryrss- Resident Set Sizepid- Process IDnodeVersion- Node.js version
License
MIT
