fix: cpu and memory usage

This commit is contained in:
徐聪
2022-07-25 21:30:01 +08:00
parent 2f7e2ce724
commit 461366c28a
2 changed files with 52 additions and 12 deletions
+33 -2
View File
@@ -6,7 +6,6 @@ import (
"io"
"math"
"os"
"runtime"
"runtime/pprof"
"strings"
"time"
@@ -102,5 +101,37 @@ func GetCurrentCPUUsage() float64 {
log.Error().Err(err).Msg(fmt.Sprintf("failed to get CPU percent\n"))
return 0.0
}
return percent / float64(runtime.NumCPU())
return percent
}
// GetCurrentCPUPercent get the percentage of current cpu used
func GetCurrentCPUPercent() float64 {
currentPid := os.Getpid()
p, err := process.NewProcess(int32(currentPid))
if err != nil {
log.Error().Err(err).Msg(fmt.Sprintf("failed to get CPU percent\n"))
return 0.0
}
percent, err := p.Percent(time.Second)
if err != nil {
log.Error().Err(err).Msg(fmt.Sprintf("failed to get CPU percent\n"))
return 0.0
}
return percent
}
// GetCurrentMemoryUsage get current Memory usage
func GetCurrentMemoryUsage() float64 {
currentPid := os.Getpid()
p, err := process.NewProcess(int32(currentPid))
if err != nil {
log.Error().Err(err).Msg(fmt.Sprintf("failed to get CPU percent\n"))
return 0.0
}
percent, err := p.MemoryPercent()
if err != nil {
log.Error().Err(err).Msg(fmt.Sprintf("failed to get CPU percent\n"))
return 0.0
}
return float64(percent)
}