diff --git a/src/lib/metrics-gauge.ts b/src/lib/metrics-gauge.ts index 6d1d6fe177..84f2803f6f 100644 --- a/src/lib/metrics-gauge.ts +++ b/src/lib/metrics-gauge.ts @@ -15,16 +15,17 @@ type GaugeDefinition = { map: MapResult; }; +type Task = () => Promise; export class DbMetricsMonitor { - private tasks: (() => Promise)[] = []; - private gauges: Record> = {}; + private tasks: Set = new Set(); + private gauges: Map> = new Map(); constructor() {} registerGaugeDbMetric(definition: GaugeDefinition) { const gauge = createGauge(definition); - this.gauges[definition.name] = gauge; - this.tasks.push(async () => { + this.gauges.set(definition.name, gauge); + this.tasks.add(async () => { const result = await definition.query(); if (result) { const { count, labels } = definition.map(result);