inceptum
Version:
hipages take on the foundational library for enterprise-grade apps written in NodeJS
20 lines (19 loc) • 745 B
TypeScript
import * as prometheus from 'prom-client';
import BaseApp, { Plugin, PluginContext } from '../app/BaseApp';
import { OSMetrics, OSMetricsService } from './OSMetricsService';
export default class MetricsPlugin implements Plugin {
statsTimer: any;
loadStats: prometheus.Gauge;
cpuStats: prometheus.Counter;
lastMetrics: OSMetrics;
name: string;
prometheusTimer: number;
osMetricsService: OSMetricsService;
getName(): string;
didStart(app: BaseApp, pluginContext: PluginContext): void;
registerOSMetrics(app: BaseApp): void;
pushStats(): void;
pushIndividualCPUStat(name: string, newStats: OSMetrics): void;
pushIndividualLoadStat(name: string, newStats: OSMetrics): void;
didStop(): void;
}