Amélioration de la métric srcds_players et ajout des metrics srcds_bots et srcds_max_players

This commit is contained in:
2020-11-06 22:50:16 +01:00
parent 6e96c465b2
commit c13e7ee467
2 changed files with 42 additions and 4 deletions

View File

@@ -2,6 +2,44 @@ import utils from '../utils/utils.js';
import metrics from './metrics.js';
export default {
async requestStatus(client, game) {
const stats = await utils.rconCommand(client, 'status');
let statusLine = null;
let res = null;
if (stats) {
statusLine = stats.split(/\r?\n/);
} else {
return null;
}
statusLine.shift();
statusLine.shift();
statusLine.shift();
statusLine.shift();
statusLine.shift();
statusLine.shift();
if (game === 'csgo') {
if (statusLine[0].search('gotv') !== -1) {
statusLine.shift();
}
res = statusLine[0].split(/players : (\d+) humans, (\d+) bots \((\d+)\/0 max\)/);
} else {
res = statusLine[0].split(/players : (\d+) humans, (\d+) bots \((\d+) max\)/);
}
res.pop();
res.shift();
return res;
},
setStatusMetrics(response) {
let players = 0;
let bots = 0;
let maxPlayers = 0;
if (response) {
[players, bots, maxPlayers] = response;
}
metrics.players.set((Number(players)));
metrics.bots.set((Number(bots)));
metrics.maxPlayers.set((Number(maxPlayers)));
},
async requestStats(client, game) {
const stats = await utils.rconCommand(client, 'stats');
let statusLine = null;
@@ -29,12 +67,11 @@ export default {
let uptime = 0;
let maps = 0;
let fps = 0;
let players = 0;
let svms = 0;
let varms = 0;
if (response) {
status = 1;
[cpu, netin, netout, uptime, maps, fps, players, svms, varms] = response;
[cpu, netin, netout, uptime, maps, fps, , svms, varms] = response;
}
if (game === 'csgo') {
metrics.status.set((Number(status)));
@@ -44,7 +81,6 @@ export default {
metrics.uptime.set((Number(uptime)));
metrics.maps.set((Number(maps)));
metrics.fps.set((Number(fps)));
metrics.players.set((Number(players)));
metrics.svms.set((Number(svms)));
metrics.varms.set((Number(varms)));
} else {
@@ -55,7 +91,6 @@ export default {
metrics.uptime.set((Number(uptime)));
metrics.maps.set((Number(maps)));
metrics.fps.set((Number(fps)));
metrics.players.set((Number(players)));
}
},
async requeseInfo(client) {