package worker import ( "context" "github.com/mackerelio/go-osstat/cpu" "github.com/mackerelio/go-osstat/memory" "git.lastassault.de/speatzle/morffix/rpc" "git.lastassault.de/speatzle/morffix/types" ) func init() { rpcServer.RegisterMethod("status", status) } func status(ctx context.Context, req rpc.Request) (any, error) { s := types.WorkerStatus{} cStats, _ := cpu.Get() if cStats != nil { s.CPUUsage = cStats.Total s.CPUCount = uint64(cStats.CPUCount) } mStats, _ := memory.Get() if mStats != nil { s.MemoryUsage = uint64(float64(mStats.Used) / float64(mStats.Total) * 100) s.MemoryTotal = mStats.Total / 1000000000 } return s, nil }