From b7b0dd9d85c76b2bebbac06f3ca50780b4dc8079 Mon Sep 17 00:00:00 2001 From: Danielv123 Date: Mon, 16 Apr 2018 08:35:10 +0200 Subject: [PATCH] prometheus track playercounts --- master.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/master.js b/master.js index 926d3cbc..095fb332 100644 --- a/master.js +++ b/master.js @@ -95,6 +95,11 @@ const prometheusProductionGauge = new Prometheus.Gauge({ help: 'Items produced by instance', labelNames: ["instanceID", "itemName"], }); +const prometheusPlayerCountGauge = new Prometheus.Gauge({ + name: prometheusPrefix+'player_count_gauge', + help: 'Amount of players connected to this cluster', + labelNames: ["instanceID", "instanceName"], +}) setInterval(()=>{ let numberOfActiveSlaves = 0; for(let instance in slaves){ @@ -112,6 +117,12 @@ app.get('/metrics', (req, res) => { endpointHitCounter.labels(req.route.path).inc(); let reqStartTime = Date.now(); res.set('Content-Type', Prometheus.register.contentType); + + // gather some static metrics + for(let instanceID in slaves){try{ + prometheusPlayerCountGauge.labels(instanceID, slaves[instanceID].instanceName).set(slaves[instanceID].playerCount); + }catch(e){}} + res.end(Prometheus.register.metrics()); httpRequestDurationMilliseconds.labels(req.route.path).observe(Date.now()-reqStartTime); });