Unverified Commit 0e7403e6 authored by Yichao Yang's avatar Yichao Yang Committed by GitHub
Browse files

[Feature-2927][common] Fix NEF when get info from OSUtils (#2927) (#2964)



* [Feature-2927][common] Fix NEF when get info from OSUtils (#2927)

* Update OSUtils.java

Change java doc

Co-authored-by: default avatargabry.wu <8545796+gabrywu@users.noreply.github.com>
parent 9fd72890
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -53,6 +53,12 @@ public class OSUtils {
  private static final SystemInfo SI = new SystemInfo();
  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 OSUtils() {}
@@ -118,9 +124,11 @@ public class OSUtils {
   */
  public static double loadAverage() {
    double loadAverage =  hal.getProcessor().getSystemLoadAverage();
    if (Double.isNaN(loadAverage)) {
      return NEGATIVE_ONE;
    }

    DecimalFormat df = new DecimalFormat(TWO_DECIMAL);

    df.setRoundingMode(RoundingMode.HALF_UP);
    return Double.parseDouble(df.format(loadAverage));
  }
@@ -133,10 +141,12 @@ public class OSUtils {
  public static double cpuUsage() {
    CentralProcessor processor = hal.getProcessor();
    double cpuUsage = processor.getSystemCpuLoad();
    if (Double.isNaN(cpuUsage)) {
      return NEGATIVE_ONE;
    }

    DecimalFormat df = new DecimalFormat(TWO_DECIMAL);
    df.setRoundingMode(RoundingMode.HALF_UP);

    return Double.parseDouble(df.format(cpuUsage));
  }

@@ -393,7 +403,6 @@ public class OSUtils {
    return null;
  }


  /**
   * whether is macOS
   * @return true if mac
+4 −4
Original line number Diff line number Diff line
@@ -41,15 +41,15 @@ public class OSUtilsTest {
    public void testOSMetric(){
        if (!OSUtils.isWindows()) {
            double availablePhysicalMemorySize = OSUtils.availablePhysicalMemorySize();
            Assert.assertTrue(availablePhysicalMemorySize > 0.0f);
            Assert.assertTrue(availablePhysicalMemorySize >= 0.0d);
            double totalMemorySize = OSUtils.totalMemorySize();
            Assert.assertTrue(totalMemorySize > 0.0f);
            Assert.assertTrue(totalMemorySize >= 0.0d);
            double loadAverage = OSUtils.loadAverage();
            logger.info("loadAverage {}", loadAverage);
            double memoryUsage = OSUtils.memoryUsage();
            Assert.assertTrue(memoryUsage > 0.0f);
            Assert.assertTrue(memoryUsage >= 0.0d);
            double cpuUsage = OSUtils.cpuUsage();
            Assert.assertTrue(cpuUsage > 0.0f);
            Assert.assertTrue(cpuUsage >= 0.0d || cpuUsage == -1.0d);
        } else {
            // TODO window ut
        }