fix: RAM percentage parsing — handle Mi vs Gi units
Panel VPS and Trinity Core report used RAM in Mi (e.g. 703Mi) while total is in Gi (e.g. 1.9Gi). parseFloat gave 703/1.9 = 37000%. Now normalizes both values to Gi before calculating percentage. Chronicler #78 | firefrost-services
This commit is contained in:
@@ -100,10 +100,17 @@ function parseAuditOutput(output) {
|
||||
const cpuModel = lines.find(l => l.includes('Model name'))?.split(':')[1]?.trim() || '?';
|
||||
const cpuCores = lines.find(l => l.match(/^CPU\(s\)/))?.split(':')[1]?.trim() || '?';
|
||||
|
||||
// Parse RAM percentage
|
||||
const totalGi = parseFloat(totalRam);
|
||||
const usedGi = parseFloat(usedRam);
|
||||
const ramPct = totalGi > 0 ? Math.round((usedGi / totalGi) * 100) : 0;
|
||||
// Parse RAM percentage (handle Gi vs Mi units)
|
||||
function toGi(val) {
|
||||
if (!val) return 0;
|
||||
const num = parseFloat(val);
|
||||
if (val.includes('Mi')) return num / 1024;
|
||||
if (val.includes('Gi')) return num;
|
||||
return num;
|
||||
}
|
||||
const ramPct = toGi(totalRam) > 0
|
||||
? Math.round((toGi(usedRam) / toGi(totalRam)) * 100)
|
||||
: 0;
|
||||
|
||||
return {
|
||||
hostname,
|
||||
|
||||
Reference in New Issue
Block a user