1 | import * as prometheus from 'prom-client';
|
2 | import BaseApp, { Plugin, PluginContext } from '../app/BaseApp';
|
3 | import { OSMetrics, OSMetricsService } from './OSMetricsService';
|
4 | export default class MetricsPlugin implements Plugin {
|
5 | statsTimer: number;
|
6 | loadStats: prometheus.Gauge;
|
7 | cpuStats: prometheus.Counter;
|
8 | lastMetrics: OSMetrics;
|
9 | name: string;
|
10 | prometheusTimer: number;
|
11 | osMetricsService: OSMetricsService;
|
12 | getName(): string;
|
13 | didStart(app: BaseApp, pluginContext: PluginContext): void;
|
14 | registerOSMetrics(app: BaseApp): void;
|
15 | pushStats(): void;
|
16 | pushIndividualCPUStat(name: string, newStats: OSMetrics): void;
|
17 | pushIndividualLoadStat(name: string, newStats: OSMetrics): void;
|
18 | didStop(): void;
|
19 | }
|