better errors
This commit is contained in:
10
utils.go
10
utils.go
@@ -791,12 +791,12 @@ func getProcessMemory(pid int) (int, int, error) {
|
|||||||
case "VmRSS:":
|
case "VmRSS:":
|
||||||
rss, err = strconv.Atoi(fields[1])
|
rss, err = strconv.Atoi(fields[1])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, 0, err
|
return 0, 0, fmt.Errorf("failed to parse rss: %v", err)
|
||||||
}
|
}
|
||||||
case "VmSwap:":
|
case "VmSwap:":
|
||||||
swap, err = strconv.Atoi(fields[1])
|
swap, err = strconv.Atoi(fields[1])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, 0, err
|
return 0, 0, fmt.Errorf("failed to parse swap: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -815,7 +815,7 @@ func getProcessTreeMemory(pgid int) (int, int, error) {
|
|||||||
totalRSS, totalSwap := 0, 0
|
totalRSS, totalSwap := 0, 0
|
||||||
entries, err := procDir.Readdir(-1)
|
entries, err := procDir.Readdir(-1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, 0, err
|
return 0, 0, fmt.Errorf("failed to read /proc: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, entry := range entries {
|
for _, entry := range entries {
|
||||||
@@ -840,13 +840,15 @@ func getProcessTreeMemory(pgid int) (int, int, error) {
|
|||||||
if len(fields) >= 5 {
|
if len(fields) >= 5 {
|
||||||
processPGID, err := strconv.Atoi(fields[4])
|
processPGID, err := strconv.Atoi(fields[4])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, 0, err
|
return 0, 0, fmt.Errorf("failed to parse process PG ID: %v", err)
|
||||||
}
|
}
|
||||||
if processPGID == pgid {
|
if processPGID == pgid {
|
||||||
rss, swap, err := getProcessMemory(pid)
|
rss, swap, err := getProcessMemory(pid)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
totalRSS += rss
|
totalRSS += rss
|
||||||
totalSwap += swap
|
totalSwap += swap
|
||||||
|
} else {
|
||||||
|
return 0, 0, fmt.Errorf("failed to get process memory: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user