From d16b17b2bd8be62294d15a2b99ecd9cf43e74a3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gast=C3=B3n=20Fournier?= Date: Tue, 15 Oct 2024 10:44:15 +0200 Subject: [PATCH] Use Map and Set --- src/lib/metrics-gauge.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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);