aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Kochie <superq@gmail.com>2020-06-13 11:07:01 +0200
committerBen Kochie <superq@gmail.com>2020-06-13 11:09:16 +0200
commit5fed4f01e9a617ea099d5637f59bfcbc5aa3fc26 (patch)
treeaf2a13e7eed87bc67494477c3d7bd6120ba09908
parent594f417bdf6f49e145f1937af99e849377412354 (diff)
downloadprometheus_node_collector-5fed4f01e9a617ea099d5637f59bfcbc5aa3fc26.tar.bz2
prometheus_node_collector-5fed4f01e9a617ea099d5637f59bfcbc5aa3fc26.tar.xz
prometheus_node_collector-5fed4f01e9a617ea099d5637f59bfcbc5aa3fc26.zip
Handle no data from powersupplyclass
Handle the case when /sys/class/power_supply doesn't exist. Fixes logging error spam. Requires https://github.com/prometheus/procfs/pull/308 Signed-off-by: Ben Kochie <superq@gmail.com>
-rw-r--r--CHANGELOG.md2
-rw-r--r--collector/powersupplyclass.go4
2 files changed, 5 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7f32b94..4c4ce35 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,7 +3,7 @@
3* [CHANGE] 3* [CHANGE]
4* [FEATURE] 4* [FEATURE]
5* [ENHANCEMENT] 5* [ENHANCEMENT]
6* [BUGFIX] 6* [BUGFIX] Handle no data from powersupplyclass
7 7
8## 1.0.0 / 2020-05-25 8## 1.0.0 / 2020-05-25
9 9
diff --git a/collector/powersupplyclass.go b/collector/powersupplyclass.go
index 988b0ee..368235e 100644
--- a/collector/powersupplyclass.go
+++ b/collector/powersupplyclass.go
@@ -18,6 +18,7 @@ package collector
18 18
19import ( 19import (
20 "fmt" 20 "fmt"
21 "os"
21 "regexp" 22 "regexp"
22 23
23 "github.com/go-kit/kit/log" 24 "github.com/go-kit/kit/log"
@@ -54,6 +55,9 @@ func NewPowerSupplyClassCollector(logger log.Logger) (Collector, error) {
54func (c *powerSupplyClassCollector) Update(ch chan<- prometheus.Metric) error { 55func (c *powerSupplyClassCollector) Update(ch chan<- prometheus.Metric) error {
55 powerSupplyClass, err := getPowerSupplyClassInfo(c.ignoredPattern) 56 powerSupplyClass, err := getPowerSupplyClassInfo(c.ignoredPattern)
56 if err != nil { 57 if err != nil {
58 if os.IsNotExist(err) {
59 return ErrNoData
60 }
57 return fmt.Errorf("could not get power_supply class info: %s", err) 61 return fmt.Errorf("could not get power_supply class info: %s", err)
58 } 62 }
59 for _, powerSupply := range powerSupplyClass { 63 for _, powerSupply := range powerSupplyClass {