github.com/linapex/ethereum-go-chinese@v0.0.0-20190316121929-f8b7a73c3fa1/dashboard/cpu.go (about) 1 2 //<developer> 3 // <name>linapex 曹一峰</name> 4 // <email>linapex@163.com</email> 5 // <wx>superexc</wx> 6 // <qqgroup>128148617</qqgroup> 7 // <url>https://jsq.ink</url> 8 // <role>pku engineer</role> 9 // <date>2019-03-16 19:16:37</date> 10 //</624450087212290048> 11 12 13 //+建设!窗户 14 15 package dashboard 16 17 import ( 18 "syscall" 19 20 "github.com/ethereum/go-ethereum/log" 21 ) 22 23 //GetProcessCPutime检索自程序启动后的进程的CPU时间。 24 func getProcessCPUTime() float64 { 25 var usage syscall.Rusage 26 if err := syscall.Getrusage(syscall.RUSAGE_SELF, &usage); err != nil { 27 log.Warn("Failed to retrieve CPU time", "err", err) 28 return 0 29 } 30 return float64(usage.Utime.Sec+usage.Stime.Sec) + float64(usage.Utime.Usec+usage.Stime.Usec)/1000000 31 } 32