From 8753fe5f4d9cfe03734e8d2d638961386b5372e5 Mon Sep 17 00:00:00 2001 From: Rohit Agarwal Date: Sat, 19 May 2018 22:39:30 -0700 Subject: [PATCH] Reset before collecting. Parse flag. Logging. --- main.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/main.go b/main.go index d68ce9c..f641ad0 100644 --- a/main.go +++ b/main.go @@ -107,6 +107,13 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { c.Lock() defer c.Unlock() + c.usedMemory.Reset() + c.totalMemory.Reset() + c.dutyCycle.Reset() + c.powerUsage.Reset() + c.temperature.Reset() + c.fanSpeed.Reset() + numDevices, err := gonvml.DeviceCount() if err != nil { log.Printf("DeviceCount() error: %v", err) @@ -180,13 +187,14 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { } func main() { - err := gonvml.Initialize() - if err != nil { + flag.Parse() + + if err := gonvml.Initialize(); err != nil { log.Fatalf("Couldn't initialize gonvml: %v", err) } defer gonvml.Shutdown() prometheus.MustRegister(NewCollector()) - http.ListenAndServe(*addr, promhttp.Handler()) + log.Fatalf("ListenAndServe error: %v", http.ListenAndServe(*addr, promhttp.Handler())) }