Fix disk usage graphs

This commit is contained in:
Girish Ramakrishnan
2021-01-27 21:47:36 -08:00
parent 1d188297f9
commit adfb506af4
2 changed files with 23 additions and 10 deletions

View File

@@ -23,7 +23,8 @@ const apps = require('./apps.js'),
const dfAsync = async.asyncify(df), dfFileAsync = async.asyncify(df.file);
function getVolumeDisks(callback) {
function getVolumeDisks(appsDataDisk, callback) {
assert.strictEqual(typeof appsDataDisk, 'string');
assert.strictEqual(typeof callback, 'function');
let volumeDisks = {};
@@ -33,7 +34,7 @@ function getVolumeDisks(callback) {
async.eachSeries(allVolumes, function (volume, iteratorDone) {
dfFileAsync(volume.hostPath, function (error, result) {
volumeDisks[volume.id] = error ? volumeDisks.appsDataDisk : result.filesystem; // ignore any errors
volumeDisks[volume.id] = error ? appsDataDisk : result.filesystem; // ignore any errors
iteratorDone();
});
@@ -43,7 +44,8 @@ function getVolumeDisks(callback) {
});
}
function getAppDisks(callback) {
function getAppDisks(appsDataDisk, callback) {
assert.strictEqual(typeof appsDataDisk, 'string');
assert.strictEqual(typeof callback, 'function');
let appDisks = {};
@@ -53,12 +55,12 @@ function getAppDisks(callback) {
async.eachSeries(allApps, function (app, iteratorDone) {
if (!app.dataDir) {
appDisks[app.id] = appDisks.appsDataDisk;
appDisks[app.id] = appsDataDisk;
return iteratorDone();
}
dfFileAsync(app.dataDir, function (error, result) {
appDisks[app.id] = error ? appDisks.appsDataDisk : result.filesystem; // ignore any errors
appDisks[app.id] = error ? appsDataDisk : result.filesystem; // ignore any errors
iteratorDone();
});
}, function (error) {
@@ -96,8 +98,6 @@ function getDisks(callback) {
dfFileAsync.bind(null, paths.APPS_DATA_DIR),
dfFileAsync.bind(null, info.DockerRootDir),
getBackupDisk,
getAppDisks,
getVolumeDisks,
], function (error, values) {
if (error) return callback(new BoxError(BoxError.FS_ERROR, error));
@@ -112,11 +112,21 @@ function getDisks(callback) {
appsDataDisk: values[3].filesystem,
dockerDataDisk: values[4].filesystem,
backupsDisk: values[5],
apps: values[6],
volumes: values[7]
apps: {}, // filled below
volumes: {} // filled below
};
callback(null, disks);
async.series([
getAppDisks.bind(null, disks.appsDataDisk),
getVolumeDisks.bind(null, disks.appsDataDisk)
], function (error, values) {
if (error) return callback(new BoxError(BoxError.FS_ERROR, error));
disks.apps = values[0],
disks.volumes = values[1];
callback(null, disks);
});
});
});
}