From f45cf7900e0c305e14783a0eb1a4d112219374f0 Mon Sep 17 00:00:00 2001 From: Daniel Hammerschmidt Date: Wed, 12 Feb 2025 17:39:15 +0100 Subject: [PATCH] Add collectors to monitoring --- monitoring.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/monitoring.js b/monitoring.js index 9fc1e422..62f4db86 100644 --- a/monitoring.js +++ b/monitoring.js @@ -42,6 +42,7 @@ module.exports.CreateMonitoring = function (parent, args) { RelaySessions: { description: "Relay Sessions" }, // parent.webserver.relaySessionCount RelayCount: { description: "Relay Count" } // Object.keys(parent.webserver.wsrelays).length30bb4fb74dfb758d36be52a7 } + obj.collectors = []; if (parent.config.settings.prometheus != null) { // Create Prometheus Monitoring Endpoint if ((typeof parent.config.settings.prometheus == 'number') && ((parent.config.settings.prometheus < 1) || (parent.config.settings.prometheus > 65535))) { console.log('Promethus port number is invalid, Prometheus metrics endpoint has be disabled'); @@ -102,6 +103,7 @@ module.exports.CreateMonitoring = function (parent, args) { blockedAgents: parent.webserver.blockedAgents }; for (const key in counters) { obj.counterMetrics[key].prometheus.reset(); obj.counterMetrics[key].prometheus.inc(counters[key]); } + await Promise.all(obj.collectors.map((collector) => (collector()))); res.set('Content-Type', obj.prometheus.register.contentType); res.end(await obj.prometheus.register.metrics()); } catch (ex) { @@ -111,4 +113,5 @@ module.exports.CreateMonitoring = function (parent, args) { }); } } + return obj; } \ No newline at end of file