mirror of
https://gitee.com/dolphinscheduler/DolphinScheduler.git
synced 2024-12-05 05:38:30 +08:00
* [Feature-2927][common] Fix NEF when get info from OSUtils (#2927) * Update OSUtils.java Change java doc Co-authored-by: gabry.wu <8545796+gabrywu@users.noreply.github.com>
This commit is contained in:
parent
9fd728908f
commit
0e7403e6a8
@ -53,6 +53,12 @@ public class OSUtils {
|
|||||||
private static final SystemInfo SI = new SystemInfo();
|
private static final SystemInfo SI = new SystemInfo();
|
||||||
public static final String TWO_DECIMAL = "0.00";
|
public static final String TWO_DECIMAL = "0.00";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return -1 when the function can not get hardware env info
|
||||||
|
* e.g {@link OSUtils#loadAverage()} {@link OSUtils#cpuUsage()}
|
||||||
|
*/
|
||||||
|
public static final double NEGATIVE_ONE = -1;
|
||||||
|
|
||||||
private static HardwareAbstractionLayer hal = SI.getHardware();
|
private static HardwareAbstractionLayer hal = SI.getHardware();
|
||||||
|
|
||||||
private OSUtils() {}
|
private OSUtils() {}
|
||||||
@ -118,9 +124,11 @@ public class OSUtils {
|
|||||||
*/
|
*/
|
||||||
public static double loadAverage() {
|
public static double loadAverage() {
|
||||||
double loadAverage = hal.getProcessor().getSystemLoadAverage();
|
double loadAverage = hal.getProcessor().getSystemLoadAverage();
|
||||||
|
if (Double.isNaN(loadAverage)) {
|
||||||
|
return NEGATIVE_ONE;
|
||||||
|
}
|
||||||
|
|
||||||
DecimalFormat df = new DecimalFormat(TWO_DECIMAL);
|
DecimalFormat df = new DecimalFormat(TWO_DECIMAL);
|
||||||
|
|
||||||
df.setRoundingMode(RoundingMode.HALF_UP);
|
df.setRoundingMode(RoundingMode.HALF_UP);
|
||||||
return Double.parseDouble(df.format(loadAverage));
|
return Double.parseDouble(df.format(loadAverage));
|
||||||
}
|
}
|
||||||
@ -133,10 +141,12 @@ public class OSUtils {
|
|||||||
public static double cpuUsage() {
|
public static double cpuUsage() {
|
||||||
CentralProcessor processor = hal.getProcessor();
|
CentralProcessor processor = hal.getProcessor();
|
||||||
double cpuUsage = processor.getSystemCpuLoad();
|
double cpuUsage = processor.getSystemCpuLoad();
|
||||||
|
if (Double.isNaN(cpuUsage)) {
|
||||||
|
return NEGATIVE_ONE;
|
||||||
|
}
|
||||||
|
|
||||||
DecimalFormat df = new DecimalFormat(TWO_DECIMAL);
|
DecimalFormat df = new DecimalFormat(TWO_DECIMAL);
|
||||||
df.setRoundingMode(RoundingMode.HALF_UP);
|
df.setRoundingMode(RoundingMode.HALF_UP);
|
||||||
|
|
||||||
return Double.parseDouble(df.format(cpuUsage));
|
return Double.parseDouble(df.format(cpuUsage));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -393,7 +403,6 @@ public class OSUtils {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* whether is macOS
|
* whether is macOS
|
||||||
* @return true if mac
|
* @return true if mac
|
||||||
|
@ -41,15 +41,15 @@ public class OSUtilsTest {
|
|||||||
public void testOSMetric(){
|
public void testOSMetric(){
|
||||||
if (!OSUtils.isWindows()) {
|
if (!OSUtils.isWindows()) {
|
||||||
double availablePhysicalMemorySize = OSUtils.availablePhysicalMemorySize();
|
double availablePhysicalMemorySize = OSUtils.availablePhysicalMemorySize();
|
||||||
Assert.assertTrue(availablePhysicalMemorySize > 0.0f);
|
Assert.assertTrue(availablePhysicalMemorySize >= 0.0d);
|
||||||
double totalMemorySize = OSUtils.totalMemorySize();
|
double totalMemorySize = OSUtils.totalMemorySize();
|
||||||
Assert.assertTrue(totalMemorySize > 0.0f);
|
Assert.assertTrue(totalMemorySize >= 0.0d);
|
||||||
double loadAverage = OSUtils.loadAverage();
|
double loadAverage = OSUtils.loadAverage();
|
||||||
logger.info("loadAverage {}", loadAverage);
|
logger.info("loadAverage {}", loadAverage);
|
||||||
double memoryUsage = OSUtils.memoryUsage();
|
double memoryUsage = OSUtils.memoryUsage();
|
||||||
Assert.assertTrue(memoryUsage > 0.0f);
|
Assert.assertTrue(memoryUsage >= 0.0d);
|
||||||
double cpuUsage = OSUtils.cpuUsage();
|
double cpuUsage = OSUtils.cpuUsage();
|
||||||
Assert.assertTrue(cpuUsage > 0.0f);
|
Assert.assertTrue(cpuUsage >= 0.0d || cpuUsage == -1.0d);
|
||||||
} else {
|
} else {
|
||||||
// TODO window ut
|
// TODO window ut
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user