Finish storage information api
This commit is contained in:
@@ -27,7 +27,7 @@ class StatisticsController(
|
|||||||
@GetMapping("/cpu")
|
@GetMapping("/cpu")
|
||||||
fun cpu(): ResponseResult<CpuInfoVo> = ResponseResult.success(data = statisticsService.cpu())
|
fun cpu(): ResponseResult<CpuInfoVo> = ResponseResult.success(data = statisticsService.cpu())
|
||||||
|
|
||||||
@Operation(summary = "获取内存信息")
|
@Operation(summary = "获取存储信息")
|
||||||
@GetMapping("/memory")
|
@GetMapping("/storage")
|
||||||
fun memory(): ResponseResult<MemoryInfoVo> = ResponseResult.success(data = statisticsService.memory())
|
fun storage(): ResponseResult<StorageInfoVo> = ResponseResult.success(data = statisticsService.storage())
|
||||||
}
|
}
|
||||||
@@ -9,5 +9,5 @@ interface IStatisticsService {
|
|||||||
|
|
||||||
fun cpu(): CpuInfoVo
|
fun cpu(): CpuInfoVo
|
||||||
|
|
||||||
fun memory(): MemoryInfoVo
|
fun storage(): StorageInfoVo
|
||||||
}
|
}
|
||||||
@@ -9,7 +9,7 @@ import top.fatweb.api.util.ByteUtil
|
|||||||
import top.fatweb.api.vo.system.*
|
import top.fatweb.api.vo.system.*
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
import java.time.ZoneOffset
|
import java.time.ZoneOffset
|
||||||
import java.util.Properties
|
import java.util.*
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@@ -93,7 +93,8 @@ class StatisticsServiceImpl : IStatisticsService {
|
|||||||
processorTicks[CentralProcessor.TickType.SOFTIRQ.index] - processorPrevTicks[CentralProcessor.TickType.SOFTIRQ.index]
|
processorTicks[CentralProcessor.TickType.SOFTIRQ.index] - processorPrevTicks[CentralProcessor.TickType.SOFTIRQ.index]
|
||||||
val processorSteal =
|
val processorSteal =
|
||||||
processorTicks[CentralProcessor.TickType.STEAL.index] - processorPrevTicks[CentralProcessor.TickType.STEAL.index]
|
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(
|
processors?.add(
|
||||||
CpuInfoVo(
|
CpuInfoVo(
|
||||||
processorUser,
|
processorUser,
|
||||||
@@ -112,14 +113,21 @@ class StatisticsServiceImpl : IStatisticsService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun memory() = MemoryInfoVo(
|
override fun storage() = StorageInfoVo(
|
||||||
total = systemInfo.hardware.memory.total,
|
memoryTotal = systemInfo.hardware.memory.total,
|
||||||
free = systemInfo.hardware.memory.available,
|
memoryFree = systemInfo.hardware.memory.available,
|
||||||
virtualMax = systemInfo.hardware.memory.virtualMemory.virtualMax,
|
virtualMemoryMax = systemInfo.hardware.memory.virtualMemory.virtualMax,
|
||||||
virtualInUse = systemInfo.hardware.memory.virtualMemory.virtualInUse,
|
virtualMemoryInUse = systemInfo.hardware.memory.virtualMemory.virtualInUse,
|
||||||
swapTotal = systemInfo.hardware.memory.virtualMemory.swapTotal,
|
swapTotal = systemInfo.hardware.memory.virtualMemory.swapTotal,
|
||||||
swapUsed = systemInfo.hardware.memory.virtualMemory.swapUsed,
|
swapUsed = systemInfo.hardware.memory.virtualMemory.swapUsed,
|
||||||
jvmTotal = runtime.totalMemory(),
|
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
|
||||||
|
)
|
||||||
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package top.fatweb.api.vo.system
|
||||||
|
|
||||||
|
data class FileStoreInfoVo(
|
||||||
|
val mount: String,
|
||||||
|
val total: Long,
|
||||||
|
val free: Long
|
||||||
|
)
|
||||||
@@ -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,
|
|
||||||
)
|
|
||||||
13
src/main/kotlin/top/fatweb/api/vo/system/StorageInfoVo.kt
Normal file
13
src/main/kotlin/top/fatweb/api/vo/system/StorageInfoVo.kt
Normal 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>
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user