Files
srcds_exporter/modules/index.js

53 lines
1.3 KiB
JavaScript

import metamod from './metamod.js';
import sourcemod from './sourcemod.js';
import sourcepython from './sourcepython.js';
import registry from './registry.js';
import game from './game.js';
export default {
async request(config, client) {
let metamodResponse;
let sourcemodResponse;
let sourcepythonResponse;
const infoResponse = await game.requeseInfo(client, config.game);
const statsResponse = await game.requestStats(client, config.game);
if (config.metamod) {
metamodResponse = await metamod.request(client);
}
if (config.sourcemod) {
sourcemodResponse = await sourcemod.request(client);
}
if (config.sourcepython) {
sourcepythonResponse = await sourcepython.request(client);
}
return {
info: infoResponse,
stats: statsResponse,
metamod: metamodResponse,
sourcemod: sourcemodResponse,
sourcepython: sourcepythonResponse,
};
},
async send(config, response, res) {
metamod.setMetrics(response.metamod);
sourcemod.setMetrics(response.sourcemod);
sourcepython.setMetrics(response.sourcepython);
game.setStatsMetrics(response.stats, config.game);
game.setInfoMetrics(response.info);
registry.setDefaultLabels(
config.ip,
config.port,
config.game,
config.tags,
response.metamod,
response.sourcemod,
response.sourcepython,
);
registry.sendMetrics(config.game, res);
},
};