shjung 2 years ago
parent
commit
5653b8a68f
1 changed files with 47 additions and 20 deletions
  1. 47 20
      src/main/java/com/its/traf/ui/MainUI.java

+ 47 - 20
src/main/java/com/its/traf/ui/MainUI.java

@@ -29,7 +29,6 @@ import java.io.IOException;
 import java.lang.management.ManagementFactory;
 import java.lang.management.ManagementFactory;
 import java.util.List;
 import java.util.List;
 import java.util.*;
 import java.util.*;
-import java.util.concurrent.TimeUnit;
 
 
 @Slf4j
 @Slf4j
 @Getter
 @Getter
@@ -77,9 +76,10 @@ public class MainUI {
     }
     }
 
 
     public void displayResource() {
     public void displayResource() {
-        long memoryUsage = Math.round(((double) (osBean.getTotalPhysicalMemorySize() - osBean.getFreePhysicalMemorySize())) / (double) osBean.getTotalPhysicalMemorySize() * 100.0);
+        long memoryUsage = Math.round(((double) (this.osBean.getTotalPhysicalMemorySize() - this.osBean.getFreePhysicalMemorySize())) / (double) this.osBean.getTotalPhysicalMemorySize() * 100.0);
         lblMemoryUsage.setText(String.valueOf(memoryUsage));
         lblMemoryUsage.setText(String.valueOf(memoryUsage));
-        double cpuLoad = osBean.getSystemCpuLoad();
+        double cpuLoad = this.osBean.getSystemCpuLoad();
+//        double cpuLoad = getCpuLoad();
 //        long t = System.currentTimeMillis();
 //        long t = System.currentTimeMillis();
 //        while ((System.currentTimeMillis() < t + 5000)) {
 //        while ((System.currentTimeMillis() < t + 5000)) {
 //            if (cpuLoad >= 0.0 && cpuLoad <= 1.0) {
 //            if (cpuLoad >= 0.0 && cpuLoad <= 1.0) {
@@ -92,25 +92,52 @@ public class MainUI {
         } else {
         } else {
             lblCpuRate.setText("---");
             lblCpuRate.setText("---");
         }
         }
+//        try {
+//            MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+//            ObjectName name = ObjectName.getInstance("java.lang:type=OperatingSystem");
+//            AttributeList list = mbs.getAttributes(name, new String[]{"ProcessCpuLoad"});
+//
+//            log.error("{}", mbs);
+//            log.error("{}", name);
+//            log.error("{}", list);
+//
+//        } catch (Exception ex) {
+//        }
     }
     }
 
 
-    public float getCpuUsed() {
-        OperatingSystemMXBean osMXBean = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
-        long previousJvmProcessCpuTime = osMXBean.getProcessCpuTime();
-        int sleepTime = 350;
-        try {
-            TimeUnit.MILLISECONDS.sleep(sleepTime);
-        } catch (InterruptedException e) {
-            log.error("InterruptedException occurred while MemoryCollector sleeping...");
-        }
-        long elapsedProcessCpuTime = osMXBean.getProcessCpuTime() - previousJvmProcessCpuTime;
-        long elapsedJvmUptime = sleepTime;
-        //long totalElapsedJvmUptime = elapsedJvmUptime * osMXBean.getAvailableProcessors() ;
-        long totalElapsedJvmUptime = elapsedJvmUptime;
-        //System.out.println("echo cpu processors num " + osMXBean.getAvailableProcessors());
-        float cpuUsage = elapsedProcessCpuTime / (totalElapsedJvmUptime * 10000F);
-        return (float) (Math.round(cpuUsage * 10) / 10);
-    }
+//    public double getCpuLoad() {
+//        OperatingSystemMXBean operatingSystemMXBean = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
+//        double load;
+//        try {
+//            Method method = OperatingSystemMXBean.class.getMethod("getSystemLoadAverage", new Class<?>[0]);
+//            load = (Double) method.invoke(operatingSystemMXBean, new Object[0]);
+//            if (load == -1) {
+//                OperatingSystemMXBean bean = (OperatingSystemMXBean) operatingSystemMXBean;
+//                load = bean.getSystemCpuLoad();
+//            }
+//        } catch (Throwable e) {
+//            load = -1;
+//        }
+//        return load;
+//    }
+//
+//    public float getCpuUsed() {
+//        OperatingSystemMXBean osMXBean = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
+//        long previousJvmProcessCpuTime = osMXBean.getProcessCpuTime();
+//        int sleepTime = 350;
+//        try {
+//            TimeUnit.MILLISECONDS.sleep(sleepTime);
+//        } catch (InterruptedException e) {
+//            log.error("InterruptedException occurred while MemoryCollector sleeping...");
+//        }
+//        long elapsedProcessCpuTime = osMXBean.getProcessCpuTime() - previousJvmProcessCpuTime;
+//        long elapsedJvmUptime = sleepTime;
+//        //long totalElapsedJvmUptime = elapsedJvmUptime * osMXBean.getAvailableProcessors() ;
+//        long totalElapsedJvmUptime = elapsedJvmUptime;
+//        //System.out.println("echo cpu processors num " + osMXBean.getAvailableProcessors());
+//        float cpuUsage = elapsedProcessCpuTime / (totalElapsedJvmUptime * 10000F);
+//        return (float) (Math.round(cpuUsage * 10) / 10);
+//    }
 
 
     public MainUI(JFrame jFrame) {
     public MainUI(JFrame jFrame) {
         System.setProperty("awt.useSystemAAFontSettings", "false"); // AntiAliasing false
         System.setProperty("awt.useSystemAAFontSettings", "false"); // AntiAliasing false