format peak time frame properly
Some checks failed
Publish Docker Image / docker (push) Has been cancelled

This commit is contained in:
Lee 2023-12-31 01:07:32 +00:00
parent 5c5e44ad20
commit 565b533ad4
3 changed files with 37 additions and 6 deletions

View File

@ -4,8 +4,8 @@
"ip": "0.0.0.0"
},
"rates": {
"pingAll": 15000,
"connectTimeout": 10000
"pingAll": 30000,
"connectTimeout": 5000
},
"oldPingsCleanup": {
"enabled": false,
@ -13,6 +13,6 @@
},
"logFailedPings": true,
"logToDatabase": true,
"graphDuration": 86400000,
"serverGraphDuration": 180000
"graphDuration": 604800000,
"serverGraphDuration": 360000
}

View File

@ -6,6 +6,7 @@ const MessageOf = require("./message");
const config = require("../config");
const minecraftVersions = require("../minecraft_versions");
const { formatMsToTime } = require("./utils/timeUtils");
class App {
serverRegistrations = [];
@ -74,9 +75,11 @@ class App {
// Send configuration data for rendering the page
return {
// graphDurationLabel:
// config.graphDurationLabel ||
// Math.floor(config.graphDuration / (60 * 60 * 1000)) + "h",
graphDurationLabel:
config.graphDurationLabel ||
Math.floor(config.graphDuration / (60 * 60 * 1000)) + "h",
config.graphDurationLabel || formatMsToTime(config.graphDuration),
graphMaxLength: TimeTracker.getMaxGraphDataLength(),
serverGraphMaxLength: TimeTracker.getMaxServerGraphDataLength(),
servers: this.serverRegistrations.map((serverRegistration) =>

28
lib/utils/timeUtils.js Normal file
View File

@ -0,0 +1,28 @@
/**
* Formats a time in milliseconds to a human readable format
* eg: 1000ms -> 1s or 60000ms -> 1m
*
* @param ms the time in milliseconds
* @returns the formatted time
*/
function formatMsToTime(ms) {
// this is really fucking shitty but it works!
const seconds = Math.floor(ms / 1000);
const minutes = Math.floor(seconds / 60);
const hours = Math.floor(minutes / 60);
const days = Math.floor(hours / 24);
if (days > 0) {
return `${days}d`;
} else if (hours > 0) {
return `${hours}h`;
} else if (minutes > 0) {
return `${minutes}m`;
} else {
return `${seconds}s`;
}
}
module.exports = {
formatMsToTime,
};