This commit is contained in:
2026-08-15 02:05:43 +08:00
parent 1a5969897a
commit bd5dbf2522
15 changed files with 174 additions and 108 deletions
+1 -28
View File
@@ -1,18 +1,12 @@
package handler
import (
"runtime"
"time"
"kra/internal/server/httpx"
"kra/internal/service"
"kra/internal/service/dto"
"kra/internal/worker"
"github.com/gin-gonic/gin"
"github.com/shirou/gopsutil/v4/cpu"
"github.com/shirou/gopsutil/v4/disk"
"github.com/shirou/gopsutil/v4/mem"
)
type SystemConfig struct {
@@ -78,31 +72,10 @@ func (h *SystemConfig) Reload(c *gin.Context) {
}
func (h *SystemConfig) ServerInfo(c *gin.Context) {
physicalCores, err := cpu.Counts(false)
server, err := h.system.ServerInfo()
if err != nil {
httpx.Fail(c, "获取失败")
return
}
cpuPercent, err := cpu.Percent(200*time.Millisecond, true)
if err != nil {
httpx.Fail(c, "获取失败")
return
}
memory, err := mem.VirtualMemory()
if err != nil {
httpx.Fail(c, "获取失败")
return
}
diskInfo := make([]gin.H, 0)
for _, mountPoint := range h.system.DiskMountPoints() {
usage, usageErr := disk.Usage(mountPoint)
if usageErr != nil {
httpx.Fail(c, "获取失败")
return
}
diskInfo = append(diskInfo, gin.H{"mountPoint": mountPoint, "usedMb": usage.Used / 1024 / 1024, "usedGb": usage.Used / 1024 / 1024 / 1024, "totalMb": usage.Total / 1024 / 1024, "totalGb": usage.Total / 1024 / 1024 / 1024, "usedPercent": int(usage.UsedPercent)})
}
usedMB, totalMB, memoryPercent := memory.Used/1024/1024, memory.Total/1024/1024, int(memory.UsedPercent)
server := gin.H{"os": gin.H{"goos": runtime.GOOS, "numCpu": runtime.NumCPU(), "compiler": runtime.Compiler, "goVersion": runtime.Version(), "numGoroutine": runtime.NumGoroutine()}, "cpu": gin.H{"cpus": cpuPercent, "cores": physicalCores}, "ram": gin.H{"usedMb": usedMB, "totalMb": totalMB, "usedPercent": memoryPercent}, "disk": diskInfo}
httpx.Write(c, httpx.CodeSuccess, gin.H{"server": server}, "获取成功")
}