Files
bifrost/transports/bifrost-http/handlers/devpprof_unix.go
Beyhan Oğur 880f412e2c first commit
2026-04-26 21:52:23 +03:00

27 lines
640 B
Go

//go:build dev && !windows
package handlers
import (
"syscall"
"time"
)
// getCPUSample gets the current CPU time sample using syscall
func getCPUSample() cpuSample {
var rusage syscall.Rusage
if err := syscall.Getrusage(syscall.RUSAGE_SELF, &rusage); err != nil {
return cpuSample{timestamp: time.Now()}
}
userTime := time.Duration(rusage.Utime.Sec)*time.Second + time.Duration(rusage.Utime.Usec)*time.Microsecond
systemTime := time.Duration(rusage.Stime.Sec)*time.Second + time.Duration(rusage.Stime.Usec)*time.Microsecond
return cpuSample{
timestamp: time.Now(),
userTime: userTime,
systemTime: systemTime,
}
}