mirror of
https://gitee.com/bookshelfplus/bookshelfplus
synced 2025-09-02 23:23:28 +08:00
修改后端status接口
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="生成接口文档文件 SwaggerApiDocGeneratorTest" type="JUnit" factoryName="JUnit">
|
||||
<configuration default="false" name="生成接口文档文件" type="JUnit" factoryName="JUnit">
|
||||
<module name="bookshelfplus" />
|
||||
<extension name="coverage">
|
||||
<pattern>
|
||||
@@ -9,8 +9,8 @@
|
||||
</extension>
|
||||
<option name="PACKAGE_NAME" value="plus.bookshelf" />
|
||||
<option name="MAIN_CLASS_NAME" value="plus.bookshelf.SwaggerApiDocGeneratorTest" />
|
||||
<option name="METHOD_NAME" value="" />
|
||||
<option name="TEST_OBJECT" value="class" />
|
||||
<option name="METHOD_NAME" value="generateAsciiDocsToFile" />
|
||||
<option name="TEST_OBJECT" value="method" />
|
||||
<method v="2">
|
||||
<option name="Make" enabled="true" />
|
||||
</method>
|
@@ -121,15 +121,15 @@ __必填__|id|integer (int32)
|
||||
Status Controller
|
||||
|
||||
|
||||
[[_getusingget_1]]
|
||||
==== 线程CPU占用时间
|
||||
[[_getsystemloadaverageusingget]]
|
||||
==== 系统负载
|
||||
....
|
||||
GET /status/getProcessCpu
|
||||
GET /status/getSystemLoadAverage
|
||||
....
|
||||
|
||||
|
||||
===== 说明
|
||||
获取服务器当前线程CPU占用时间。此方法通过统计线程CPU占用时间来统计当前进程占用CPU情况。
|
||||
获取服务器当前系统负载。
|
||||
|
||||
|
||||
===== 响应
|
||||
@@ -153,7 +153,7 @@ GET /status/getProcessCpu
|
||||
|
||||
====== 请求 path
|
||||
----
|
||||
/status/getProcessCpu
|
||||
/status/getSystemLoadAverage
|
||||
----
|
||||
|
||||
|
||||
|
@@ -740,16 +740,16 @@ table.CodeRay td.code>pre{padding:0}
|
||||
<p>Status Controller</p>
|
||||
</div>
|
||||
<div class="sect3">
|
||||
<h4 id="_getusingget_1">2.2.1. 线程CPU占用时间</h4>
|
||||
<h4 id="_getsystemloadaverageusingget">2.2.1. 系统负载</h4>
|
||||
<div class="literalblock">
|
||||
<div class="content">
|
||||
<pre>GET /status/getProcessCpu</pre>
|
||||
<pre>GET /status/getSystemLoadAverage</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
<h5 id="_说明_2">说明</h5>
|
||||
<div class="paragraph">
|
||||
<p>获取服务器当前线程CPU占用时间。此方法通过统计线程CPU占用时间来统计当前进程占用CPU情况。</p>
|
||||
<p>获取服务器当前系统负载。</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sect4">
|
||||
@@ -807,7 +807,7 @@ table.CodeRay td.code>pre{padding:0}
|
||||
<h6 id="_请求_path_2">请求 path</h6>
|
||||
<div class="listingblock">
|
||||
<div class="content">
|
||||
<pre>/status/getProcessCpu</pre>
|
||||
<pre>/status/getSystemLoadAverage</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1180,7 +1180,7 @@ table.CodeRay td.code>pre{padding:0}
|
||||
</div>
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated 2022-03-14 22:29:06 SGT
|
||||
Last updated 2022-03-14 23:47:49 SGT
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
@@ -18,16 +18,24 @@ import java.util.Map;
|
||||
@RequestMapping("/status")
|
||||
public class StatusController {
|
||||
|
||||
@ApiOperation(value = "线程CPU占用时间", notes = "获取服务器当前线程CPU占用时间。此方法通过统计线程CPU占用时间来统计当前进程占用CPU情况。")
|
||||
@RequestMapping(value = "getProcessCpu", method = {RequestMethod.GET})
|
||||
@ResponseBody
|
||||
public Object get() {
|
||||
OperatingSystemMXBean operatingSystemMXBean = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
|
||||
ThreadMXBean threadBean = (ThreadMXBean) ManagementFactory.getThreadMXBean();
|
||||
String processCpu = getProcessCpu(operatingSystemMXBean, threadBean);
|
||||
// @ApiOperation(value = "线程CPU占用时间", notes = "获取服务器当前线程CPU占用时间。此方法通过统计线程CPU占用时间来统计当前进程占用CPU情况。")
|
||||
// @RequestMapping(value = "getProcessCpu", method = {RequestMethod.GET})
|
||||
// @ResponseBody
|
||||
// public Object get() {
|
||||
// OperatingSystemMXBean operatingSystemMXBean = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
|
||||
// ThreadMXBean threadBean = (ThreadMXBean) ManagementFactory.getThreadMXBean();
|
||||
// String processCpu = getProcessCpu(operatingSystemMXBean, threadBean);
|
||||
//
|
||||
// System.out.println(processCpu);
|
||||
// return processCpu;
|
||||
// }
|
||||
|
||||
System.out.println(processCpu);
|
||||
return processCpu;
|
||||
@ApiOperation(value = "系统负载", notes = "获取服务器当前系统负载。")
|
||||
@RequestMapping(value = "getSystemLoadAverage", method = {RequestMethod.GET})
|
||||
@ResponseBody
|
||||
public Object getSystemLoadAverage() {
|
||||
OperatingSystemMXBean operatingSystemMXBean = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
|
||||
return operatingSystemMXBean.getSystemLoadAverage();
|
||||
}
|
||||
|
||||
// @ApiOperation(value = "服务端状态", notes = "获取服务器当前状态信息")
|
||||
@@ -90,29 +98,29 @@ public class StatusController {
|
||||
// return result;
|
||||
// }
|
||||
|
||||
// refer: https://blog.csdn.net/as403045314/article/details/101337176
|
||||
private long preTime = System.nanoTime();
|
||||
private long preUsedTime = 0;
|
||||
|
||||
/**
|
||||
* getSystemLoadAverage()方法得到的操作系统统计的整个系统负载,不能较好的反应本进程的CPU占用情况
|
||||
* 此方法通过统计线程CPU占用时间来统计当前进程占用CPU情况
|
||||
*
|
||||
* @param osMxBean
|
||||
* @param threadBean
|
||||
* @return
|
||||
*/
|
||||
public String getProcessCpu(OperatingSystemMXBean osMxBean, ThreadMXBean threadBean) {
|
||||
long totalTime = 0;
|
||||
for (long id : threadBean.getAllThreadIds()) {
|
||||
totalTime += threadBean.getThreadCpuTime(id);
|
||||
}
|
||||
long curtime = System.nanoTime();
|
||||
long usedTime = totalTime - preUsedTime;
|
||||
long totalPassedTime = curtime - preTime;
|
||||
preTime = curtime;
|
||||
preUsedTime = totalTime;
|
||||
// return (((double) usedTime) / totalPassedTime / osMxBean.getAvailableProcessors()) * 100;
|
||||
return String.valueOf(new BigDecimal(usedTime * 100 / (totalPassedTime * osMxBean.getAvailableProcessors())));
|
||||
}
|
||||
// // refer: https://blog.csdn.net/as403045314/article/details/101337176
|
||||
// private long preTime = System.nanoTime();
|
||||
// private long preUsedTime = 0;
|
||||
//
|
||||
// /**
|
||||
// * getSystemLoadAverage()方法得到的操作系统统计的整个系统负载,不能较好的反应本进程的CPU占用情况
|
||||
// * 此方法通过统计线程CPU占用时间来统计当前进程占用CPU情况
|
||||
// *
|
||||
// * @param osMxBean
|
||||
// * @param threadBean
|
||||
// * @return
|
||||
// */
|
||||
// public String getProcessCpu(OperatingSystemMXBean osMxBean, ThreadMXBean threadBean) {
|
||||
// long totalTime = 0;
|
||||
// for (long id : threadBean.getAllThreadIds()) {
|
||||
// totalTime += threadBean.getThreadCpuTime(id);
|
||||
// }
|
||||
// long curtime = System.nanoTime();
|
||||
// long usedTime = totalTime - preUsedTime;
|
||||
// long totalPassedTime = curtime - preTime;
|
||||
// preTime = curtime;
|
||||
// preUsedTime = totalTime;
|
||||
// // return (((double) usedTime) / totalPassedTime / osMxBean.getAvailableProcessors()) * 100;
|
||||
// return String.valueOf(new BigDecimal(usedTime * 100 / (totalPassedTime * osMxBean.getAvailableProcessors())));
|
||||
// }
|
||||
}
|
||||
|
Reference in New Issue
Block a user