Finish storage information api

This commit is contained in:
2023-12-10 12:42:28 +08:00
parent 6b83d7ef05
commit dafc0ac671
6 changed files with 40 additions and 24 deletions

View File

@@ -27,7 +27,7 @@ class StatisticsController(
@GetMapping("/cpu")
fun cpu(): ResponseResult<CpuInfoVo> = ResponseResult.success(data = statisticsService.cpu())
@Operation(summary = "获取存信息")
@GetMapping("/memory")
fun memory(): ResponseResult<MemoryInfoVo> = ResponseResult.success(data = statisticsService.memory())
@Operation(summary = "获取存信息")
@GetMapping("/storage")
fun storage(): ResponseResult<StorageInfoVo> = ResponseResult.success(data = statisticsService.storage())
}

View File

@@ -9,5 +9,5 @@ interface IStatisticsService {
fun cpu(): CpuInfoVo
fun memory(): MemoryInfoVo
fun storage(): StorageInfoVo
}

View File

@@ -9,7 +9,7 @@ import top.fatweb.api.util.ByteUtil
import top.fatweb.api.vo.system.*
import java.time.LocalDateTime
import java.time.ZoneOffset
import java.util.Properties
import java.util.*
import java.util.concurrent.TimeUnit
@Service
@@ -93,7 +93,8 @@ class StatisticsServiceImpl : IStatisticsService {
processorTicks[CentralProcessor.TickType.SOFTIRQ.index] - processorPrevTicks[CentralProcessor.TickType.SOFTIRQ.index]
val processorSteal =
processorTicks[CentralProcessor.TickType.STEAL.index] - processorPrevTicks[CentralProcessor.TickType.STEAL.index]
val processorTotal = processorUser + processorNice + processorSystem + processorIdle + processorIowait + processorIrq + processorSoftirq + processorSteal
val processorTotal =
processorUser + processorNice + processorSystem + processorIdle + processorIowait + processorIrq + processorSoftirq + processorSteal
processors?.add(
CpuInfoVo(
processorUser,
@@ -112,14 +113,21 @@ class StatisticsServiceImpl : IStatisticsService {
}
}
override fun memory() = MemoryInfoVo(
total = systemInfo.hardware.memory.total,
free = systemInfo.hardware.memory.available,
virtualMax = systemInfo.hardware.memory.virtualMemory.virtualMax,
virtualInUse = systemInfo.hardware.memory.virtualMemory.virtualInUse,
override fun storage() = StorageInfoVo(
memoryTotal = systemInfo.hardware.memory.total,
memoryFree = systemInfo.hardware.memory.available,
virtualMemoryMax = systemInfo.hardware.memory.virtualMemory.virtualMax,
virtualMemoryInUse = systemInfo.hardware.memory.virtualMemory.virtualInUse,
swapTotal = systemInfo.hardware.memory.virtualMemory.swapTotal,
swapUsed = systemInfo.hardware.memory.virtualMemory.swapUsed,
jvmTotal = runtime.totalMemory(),
jvmFree = runtime.freeMemory()
jvmFree = runtime.freeMemory(),
fileStores = systemInfo.operatingSystem.fileSystem.fileStores.map {
FileStoreInfoVo(
mount = it.mount,
total = it.totalSpace,
free = it.freeSpace
)
}
)
}

View File

@@ -0,0 +1,7 @@
package top.fatweb.api.vo.system
data class FileStoreInfoVo(
val mount: String,
val total: Long,
val free: Long
)

View File

@@ -1,12 +0,0 @@
package top.fatweb.api.vo.system
data class MemoryInfoVo(
val total: Long,
val free: Long,
val virtualMax: Long,
val virtualInUse: Long,
val swapTotal: Long,
val swapUsed: Long,
val jvmTotal: Long,
val jvmFree: Long,
)

View File

@@ -0,0 +1,13 @@
package top.fatweb.api.vo.system
data class StorageInfoVo(
val memoryTotal: Long,
val memoryFree: Long,
val virtualMemoryMax: Long,
val virtualMemoryInUse: Long,
val swapTotal: Long,
val swapUsed: Long,
val jvmTotal: Long,
val jvmFree: Long,
val fileStores: List<FileStoreInfoVo>
)