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