Add some other random version metrics

This commit is contained in:
Christopher Cookman 2022-11-25 15:13:10 -07:00
parent c358afb74b
commit 440a014377
Signed by: ChrisChrome
GPG key ID: A023A26E42C33A42

View file

@ -48,17 +48,6 @@ function splitKeyword(keyword) {
} }
}; };
const latestVer = "v1.6.7"
// Check version and set console log color if outdated
function checkVersion(version) {
if (version == latestVer) {
return colors.green(version)
} else {
return colors.red(version)
}
};
function objectLength(object) { function objectLength(object) {
var length = 0; var length = 0;
for (var key in object) { for (var key in object) {
@ -128,6 +117,7 @@ var highestVersion = "v0.0.0";
// findHighestVersion function // findHighestVersion function
function findHighestVersion() { function findHighestVersion() {
console.log(`${colors.cyan(`[INFO ${new Date()}]`)} Finding highest version...`);
for (var key in serverList.servers) { for (var key in serverList.servers) {
if (serverList.servers.hasOwnProperty(key)) { if (serverList.servers.hasOwnProperty(key)) {
if (serverList.servers[key].version > highestVersion) { if (serverList.servers[key].version > highestVersion) {
@ -135,9 +125,46 @@ function findHighestVersion() {
} }
} }
} }
console.log(`${colors.cyan(`[INFO ${new Date()}]`)} Highest version is ${highestVersion}`);
return highestVersion; return highestVersion;
}; };
var outdatedServers = 0;
// countOutdatedServers function, counts servers that are outdated
function countOutdatedServers() {
console.log(`${colors.cyan(`[INFO ${new Date()}]`)} Counting outdated servers, latest version is ${highestVersion}`);
outdatedServers = 0;
for (var key in serverList.servers) {
if (serverList.servers.hasOwnProperty(key)) {
if (serverList.servers[key].version != highestVersion) {
outdatedServers++;
}
}
}
console.log(`${colors.cyan(`[INFO ${new Date()}]`)} ${outdatedServers} servers are outdated!`);
return outdatedServers;
};
var versions = {};
// Track server versions
function countVersions() {
console.log(`${colors.cyan(`[INFO ${new Date()}]`)} Counting server versions...`);
for (var key in serverList.servers) {
if (serverList.servers.hasOwnProperty(key)) {
if (versions[serverList.servers[key].version] == undefined) {
versions[serverList.servers[key].version] = 1;
} else {
versions[serverList.servers[key].version] += 1;
}
}
}
console.log(`${colors.cyan(`[INFO ${new Date()}]`)} ${objectLength(versions)} versions found!`);
return versions;
};
// updateMasterList function // updateMasterList function
function updateMasterList() { function updateMasterList() {
// Get master list // Get master list
@ -166,7 +193,9 @@ function updateServerList() {
serverList.lastUpdated = new Date(); serverList.lastUpdated = new Date();
} }
console.log(`${colors.cyan(`[INFO ${new Date()}]`)} Got server list!`); console.log(`${colors.cyan(`[INFO ${new Date()}]`)} Got server list!`);
findHighestVersion(); setTimeout(findHighestVersion, 1000);
setTimeout(countVersions, 1000);
setTimeout(countOutdatedServers, 1000);
}; };
// Update master list every 5 minutes // Update master list every 5 minutes
@ -224,8 +253,10 @@ app.get('/check', (req, res) => {
app.get('/serverList', (req, res) => { app.get('/serverList', (req, res) => {
serverList.serverCount = objectLength(serverList.servers); serverList.serverCount = objectLength(serverList.servers);
serverList.erroredCount = objectLength(serverList.errored);
serverList.highestVersion = findHighestVersion(); serverList.highestVersion = findHighestVersion();
serverList.outdatedServers = countOutdatedServers();
serverList.versions = countVersions();
serverList.erroredCount = objectLength(serverList.errored);
res.setHeader("Content-Type", "application/json").send(JSON.stringify(serverList)); res.setHeader("Content-Type", "application/json").send(JSON.stringify(serverList));
}); });