diff options
| author | zhangshuai <[email protected]> | 2022-08-26 18:14:43 +0800 |
|---|---|---|
| committer | zhangshuai <[email protected]> | 2022-08-26 18:14:43 +0800 |
| commit | b47a61f605c7ef3ec4f78dea2d06234180759b28 (patch) | |
| tree | 9e1548f795a9bd8eee5f04f62188132ce4af50b9 | |
| parent | 42589f6477bbb6f74e21e024a9264dc58f58a887 (diff) | |
fix: NEZ-2142 nz-talon 修改os系统信息获取方式
| -rw-r--r-- | src/main/java/net/geedge/confagent/controller/OSHIController.java | 9 | ||||
| -rw-r--r-- | src/main/java/net/geedge/confagent/util/OSHIUtils.java | 14 |
2 files changed, 11 insertions, 12 deletions
diff --git a/src/main/java/net/geedge/confagent/controller/OSHIController.java b/src/main/java/net/geedge/confagent/controller/OSHIController.java index ba202c7..f4f53e7 100644 --- a/src/main/java/net/geedge/confagent/controller/OSHIController.java +++ b/src/main/java/net/geedge/confagent/controller/OSHIController.java @@ -7,7 +7,6 @@ import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import java.net.UnknownHostException; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -26,18 +25,14 @@ public class OSHIController extends BaseController{ public R getProcessInfo(HttpServletRequest request){ List<Map> result = OSHIUtils.getProcessInfo(); - HashMap<Object, Object> data = Tool.MapUtil.newHashMap(); - data.put("lsit" ,result); - return R.ok(data); + return R.ok(result); } @GetMapping("/oshi/netstat") public R getNetstatInfo(HttpServletRequest request) throws UnknownHostException { List<Map> result = OSHIUtils.getNetInfo(); - HashMap<Object, Object> data = Tool.MapUtil.newHashMap(); - data.put("lsit" ,result); - return R.ok(data); + return R.ok(result); } } diff --git a/src/main/java/net/geedge/confagent/util/OSHIUtils.java b/src/main/java/net/geedge/confagent/util/OSHIUtils.java index a4bb001..0fdfcfc 100644 --- a/src/main/java/net/geedge/confagent/util/OSHIUtils.java +++ b/src/main/java/net/geedge/confagent/util/OSHIUtils.java @@ -29,8 +29,8 @@ public class OSHIUtils { HashMap<Object, Object> os = Tool.MapUtil.newHashMap(); NetworkParams networkParams = operatingSystem.getNetworkParams(); - os.put("versionInfo",String.valueOf(operatingSystem)); - os.put("platform",System.getProperty("os.name").toLowerCase()); + os.put("versionInfo",operatingSystem.getVersionInfo().toString()); + os.put("platform",si.getCurrentPlatform()); os.put("family",operatingSystem.getFamily()); os.put("manufacturer",operatingSystem.getManufacturer()); os.put("bitness",operatingSystem.getBitness()); @@ -148,9 +148,13 @@ public class OSHIUtils { procsData.put("parentProcessID",proc.getParentProcessID()); procsData.put("startTime",proc.getStartTime()); procsData.put("priority",proc.getPriority()); - //cpu mem 百分比计算 - procsData.put("cpuUsage",Tool.NumberUtil.div(proc.getKernelTime() + proc.getUserTime(), proc.getUpTime()) * 100); - procsData.put("memUsage",Tool.NumberUtil.div(proc.getResidentSetSize(), memory.getTotal()) * 100); + /** + * For per-Process CPU ticks, there is no "idle" counter available, so the calculation ends up being (active time / up time) + * This interpretation matches the value displayed in ps or top on Unix-based operating systems + * If you want per-Process CPU load to match the Windows Task Manager display, you should divide OSHI's calculation by the number of logical processors + */ + procsData.put("cpuUsage",Tool.NumberUtil.div(proc.getKernelTime() + proc.getUserTime(), proc.getUpTime()) * 100d); + procsData.put("memUsage",Tool.NumberUtil.div(proc.getResidentSetSize(), memory.getTotal()) * 100d); procsData.put("state",proc.getState().toString()); procsData.put("openFiles",proc.getOpenFiles()); procsData.put("threadCount",proc.getThreadCount()); |
