$OpenBSD: patch-vendor_github_com_shirou_gopsutil_cpu_cpu_openbsd_go,v 1.2 2019/01/13 08:18:36 ajacoutot Exp $

From 7276e963eb08a0f0b4bddbea38b4a13a442d4218 Mon Sep 17 00:00:00 2001
From: Antoine Jacoutot <ajacoutot@openbsd.org>
Date: Wed, 2 Jan 2019 17:06:46 +0100
Subject: [PATCH] cpu: implement Mhz and Cores

From 67297c879129bb84bc55717282641750a5f979f2 Mon Sep 17 00:00:00 2001
From: Antoine Jacoutot <ajacoutot@openbsd.org>
Date: Wed, 2 Jan 2019 17:10:02 +0100
Subject: [PATCH] cpu: prefer cpuonline on OpenBSD

Index: vendor/github.com/shirou/gopsutil/cpu/cpu_openbsd.go
--- vendor/github.com/shirou/gopsutil/cpu/cpu_openbsd.go.orig
+++ vendor/github.com/shirou/gopsutil/cpu/cpu_openbsd.go
@@ -106,14 +106,24 @@ func Info() ([]InfoStat, error) {
 
 func InfoWithContext(ctx context.Context) ([]InfoStat, error) {
 	var ret []InfoStat
+	var err error
 
 	c := InfoStat{}
 
-	v, err := unix.Sysctl("hw.model")
-	if err != nil {
+	var u32 uint32
+	if u32, err = unix.SysctlUint32("hw.cpuspeed"); err != nil {
 		return nil, err
 	}
-	c.ModelName = v
+	c.Mhz = float64(u32)
+
+	if u32, err = unix.SysctlUint32("hw.ncpuonline"); err != nil {
+		return nil, err
+	}
+	c.Cores = int32(u32)
+
+	if c.ModelName, err = unix.Sysctl("hw.model"); err != nil {
+		return nil, err
+	}
 
 	return append(ret, c), nil
 }
