diff --git a/src/modules/ws/model/ps_process.go b/src/modules/ws/model/ps_process.go index e93247a8..d52e833b 100644 --- a/src/modules/ws/model/ps_process.go +++ b/src/modules/ws/model/ps_process.go @@ -2,37 +2,33 @@ package model // PsProcessData 进程数据 type PsProcessData struct { - PID int32 `json:"PID"` + PID int32 `json:"pid"` Name string `json:"name"` - PPID int32 `json:"PPID"` + PPID int32 `json:"ppid"` Username string `json:"username"` Status string `json:"status"` - StartTime string `json:"startTime"` + StartTime int64 `json:"startTime"` NumThreads int32 `json:"numThreads"` NumConnections int `json:"numConnections"` CpuPercent string `json:"cpuPercent"` - DiskRead string `json:"diskRead"` - DiskWrite string `json:"diskWrite"` - CmdLine string `json:"cmdLine"` + DiskRead uint64 `json:"diskRead"` + DiskWrite uint64 `json:"diskWrite"` - Rss string `json:"rss"` - VMS string `json:"vms"` - HWM string `json:"hwm"` - Data string `json:"data"` - Stack string `json:"stack"` - Locked string `json:"locked"` - Swap string `json:"swap"` + Rss uint64 `json:"rss"` + VMS uint64 `json:"vms"` + HWM uint64 `json:"hwm"` + Data uint64 `json:"data"` + Stack uint64 `json:"stack"` + Locked uint64 `json:"locked"` + Swap uint64 `json:"swap"` - CpuValue float64 `json:"cpuValue"` - RssValue uint64 `json:"rssValue"` - - Envs []string `json:"envs"` + CmdLine string `json:"cmdLine"` } // PsProcessQuery 进程查询 type PsProcessQuery struct { - Pid int32 `json:"pid"` + PID int32 `json:"pid"` Name string `json:"name"` Username string `json:"username"` } diff --git a/src/modules/ws/processor/ps_process.go b/src/modules/ws/processor/ps_process.go index ff5d8fa2..a685eba3 100644 --- a/src/modules/ws/processor/ps_process.go +++ b/src/modules/ws/processor/ps_process.go @@ -8,8 +8,6 @@ import ( "sync" "be.ems/src/framework/logger" - "be.ems/src/framework/utils/date" - "be.ems/src/framework/utils/parse" "be.ems/src/framework/vo/result" "be.ems/src/modules/ws/model" "github.com/shirou/gopsutil/v4/process" @@ -44,7 +42,7 @@ func GetProcessData(requestID string, data any) ([]byte, error) { } // 查询过滤 - if query.Pid > 0 && procData.PID != query.Pid { + if query.PID > 0 && procData.PID != query.PID { return procData, false } if query.Name != "" && !strings.Contains(procData.Name, query.Name) { @@ -59,32 +57,29 @@ func GetProcessData(requestID string, data any) ([]byte, error) { procData.Status = strings.Join(statusArray, ",") } if createTime, err := proc.CreateTime(); err == nil { - procData.StartTime = date.ParseDateToStr(createTime, date.YYYY_MM_DD_HH_MM_SS) + procData.StartTime = createTime } procData.NumThreads, _ = proc.NumThreads() if connections, err := proc.Connections(); err == nil { procData.NumConnections = len(connections) } - procData.CpuValue, _ = proc.CPUPercent() - procData.CpuPercent = fmt.Sprintf("%.2f%%", procData.CpuValue) + cpuPercent, _ := proc.CPUPercent() + procData.CpuPercent = fmt.Sprintf("%.2f", cpuPercent) menInfo, procErr := proc.MemoryInfo() if procErr == nil { - procData.Rss = parse.Bit(float64(menInfo.RSS)) - procData.Data = parse.Bit(float64(menInfo.Data)) - procData.VMS = parse.Bit(float64(menInfo.VMS)) - procData.HWM = parse.Bit(float64(menInfo.HWM)) - procData.Stack = parse.Bit(float64(menInfo.Stack)) - procData.Locked = parse.Bit(float64(menInfo.Locked)) - procData.Swap = parse.Bit(float64(menInfo.Swap)) - - procData.RssValue = menInfo.RSS + procData.Rss = menInfo.RSS + procData.Data = menInfo.Data + procData.VMS = menInfo.VMS + procData.HWM = menInfo.HWM + procData.Stack = menInfo.Stack + procData.Locked = menInfo.Locked + procData.Swap = menInfo.Swap } if ioStat, err := proc.IOCounters(); err == nil { - procData.DiskWrite = parse.Bit(float64(ioStat.WriteBytes)) - procData.DiskRead = parse.Bit(float64(ioStat.ReadBytes)) + procData.DiskWrite = ioStat.WriteBytes + procData.DiskRead = ioStat.ReadBytes } procData.CmdLine, _ = proc.Cmdline() - procData.Envs, _ = proc.Environ() return procData, true }