From 71f17d3ef0aca18cb8456a73e0bdcac32f44b02f Mon Sep 17 00:00:00 2001 From: Bogdan Habic Date: Thu, 16 Apr 2020 14:22:57 +0200 Subject: [PATCH] Changed the build constraints for darwin CPU stats when cgo is disabled. --- metrics/cpu_darwin_cgo.go | 31 +++++++++++++++++++++++++++++++ metrics/cpu_enabled.go | 2 +- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 metrics/cpu_darwin_cgo.go diff --git a/metrics/cpu_darwin_cgo.go b/metrics/cpu_darwin_cgo.go new file mode 100644 index 0000000000..143afc2fbe --- /dev/null +++ b/metrics/cpu_darwin_cgo.go @@ -0,0 +1,31 @@ +// Copyright 2020 The go-ethereum Authors +// This file is part of the go-ethereum library. +// +// The go-ethereum library is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// The go-ethereum library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see . + +// +build darwin,cgo + +package metrics + +import "github.com/elastic/gosigar" + +// ReadCPUStats retrieves the current CPU stats. +func ReadCPUStats(stats *CPUStats) { + global := gosigar.Cpu{} + global.Get() + + stats.GlobalTime = int64(global.User + global.Nice + global.Sys) + stats.GlobalWait = int64(global.Wait) + stats.LocalTime = getProcessCPUTime() +} diff --git a/metrics/cpu_enabled.go b/metrics/cpu_enabled.go index b73d53643f..d4e3975b9a 100644 --- a/metrics/cpu_enabled.go +++ b/metrics/cpu_enabled.go @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Lesser General Public License // along with the go-ethereum library. If not, see . -// +build darwin,cgo dragonfly freebsd linux nacl netbsd openbsd solaris windows arm64 +// +build !ios,!darwin package metrics