package hudson.plugins.disk_usage;
/**
*
* @author dvrzalik
*/
public class DiskUsage {
long buildUsage = 0;
long wsUsage = 0;
public DiskUsage() {}
public DiskUsage(long buildDiskUsage,long wsDiskUsage) {
buildUsage = buildDiskUsage;
wsUsage = wsDiskUsage;
}
public long getBuildUsage() {
return buildUsage;
}
public long getWsUsage() {
return wsUsage;
}
public String getBuildUsageString() {
return getSizeString(buildUsage);
}
public String getWsUsageString() {
return getSizeString(wsUsage);
}
public static final String getSizeString(Long size) {
if (size == null || size <= 0) {
return "-";
}
int floor = (int) getScale(size);
floor = Math.min(floor, 4);
double base = Math.pow(1024, floor);
String unit = getUnitString(floor);
return Math.round(size / base) + unit;
}
public static final double getScale(long number) {
return Math.floor(Math.log(number) / Math.log(1024));
}
public static String getUnitString(int floor) {
String unit = "";
switch (floor) {
case 0:
unit = "B";
break;
case 1:
unit = "KB";
break;
case 2:
unit = "MB";
break;
case 3:
unit = "GB";
break;
case 4:
unit = "TB";
break;
}
return unit;
}
}