owpengram-server/cmd/telesrv/process_cpu_windows.go
2026-09-01 12:06:31 +03:00

21 lines
474 B
Go

//go:build windows
package main
import "golang.org/x/sys/windows"
func processCPUSeconds() (float64, bool) {
handle, err := windows.GetCurrentProcess()
if err != nil {
return 0, false
}
var creation, exit, kernel, user windows.Filetime
if err := windows.GetProcessTimes(handle, &creation, &exit, &kernel, &user); err != nil {
return 0, false
}
ns := kernel.Nanoseconds() + user.Nanoseconds()
if ns < 0 {
return 0, false
}
return float64(ns) / 1e9, true
}