fix: 调整进程数据ps响应结果
This commit is contained in:
@@ -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"`
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user