From 3ffe2050827482ba83a1c15afbf346275be86187 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期四, 20 十月 2022 18:03:40 +0800 Subject: [PATCH] 首页改造,完成cpu,内存,网络图 --- src/main/java/com/genersoft/iot/vmp/utils/SystemInfoUtils.java | 30 +++++++++++++++++++++--------- 1 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/utils/SystemInfoUtils.java b/src/main/java/com/genersoft/iot/vmp/utils/SystemInfoUtils.java index d107331..3af4853 100644 --- a/src/main/java/com/genersoft/iot/vmp/utils/SystemInfoUtils.java +++ b/src/main/java/com/genersoft/iot/vmp/utils/SystemInfoUtils.java @@ -8,6 +8,7 @@ import oshi.software.os.OperatingSystem; import oshi.util.FormatUtil; +import java.text.DecimalFormat; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -62,21 +63,32 @@ * 鑾峰彇缃戠粶涓婁紶鍜屼笅杞� * @return */ - public static Map<String,String> getNetworkInterfaces() { + public static Map<String,Double> getNetworkInterfaces() { SystemInfo si = new SystemInfo(); HardwareAbstractionLayer hal = si.getHardware(); - List<NetworkIF> networkIFs = hal.getNetworkIFs(); - int i= networkIFs.size() -1; - NetworkIF net= networkIFs.get(i); + List<NetworkIF> beforeRecvNetworkIFs = hal.getNetworkIFs(); + NetworkIF beforeBet= beforeRecvNetworkIFs.get(beforeRecvNetworkIFs.size() - 1); + long beforeRecv = beforeBet.getBytesRecv(); + long beforeSend = beforeBet.getBytesSent(); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + List<NetworkIF> afterNetworkIFs = hal.getNetworkIFs(); + NetworkIF afterNet = afterNetworkIFs.get(afterNetworkIFs.size() - 1); - String in = FormatUtil.formatBytes(net.getBytesRecv()); - String out = FormatUtil.formatBytes(net.getBytesSent()); - HashMap<String, String> map = new HashMap<>(); - map.put("in",in); - map.put("out",out); + HashMap<String, Double> map = new HashMap<>(); + // 閫熷害鍗曚綅: Mbps + map.put("in",formatUnits(afterNet.getBytesRecv()-beforeRecv, 1048576L)); + map.put("out",formatUnits(afterNet.getBytesSent()-beforeSend, 1048576L)); return map; } + public static double formatUnits(long value, long prefix) { + return (double)value / (double)prefix; + } + /** * 鑾峰彇杩涚▼鏁� * @return -- Gitblit v1.8.0