Skip to content

Commit 3c73a86

Browse files
committed
Silence missing netclass errors
* Handle no such file and permission denied errors. * Reduce excessive error wrapping. Fixes: #1840 Signed-off-by: Ben Kochie <[email protected]>
1 parent 57d572e commit 3c73a86

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
* [BUGFIX] Handle errors from disabled PSI subsystem #1983
99
* [BUGFIX] Sanitize strings from /sys/class/power_supply #1984
10+
* [BUGFIX] Silence missing netclass errors #1986
1011

1112
## 1.1.1 / 2021-02-12
1213

collector/netclass_linux.go

+8-2
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,13 @@
1717
package collector
1818

1919
import (
20+
"errors"
2021
"fmt"
22+
"os"
2123
"regexp"
2224

2325
"github.com/go-kit/kit/log"
26+
"github.com/go-kit/kit/log/level"
2427
"github.com/prometheus/client_golang/prometheus"
2528
"github.com/prometheus/procfs/sysfs"
2629
"gopkg.in/alecthomas/kingpin.v2"
@@ -61,6 +64,10 @@ func NewNetClassCollector(logger log.Logger) (Collector, error) {
6164
func (c *netClassCollector) Update(ch chan<- prometheus.Metric) error {
6265
netClass, err := c.getNetClassInfo()
6366
if err != nil {
67+
if errors.Is(err, os.ErrNotExist) || errors.Is(err, os.ErrPermission) {
68+
level.Debug(c.logger).Log("msg", "Could not read netclass file", "err", err)
69+
return ErrNoData
70+
}
6471
return fmt.Errorf("could not get net class info: %w", err)
6572
}
6673
for _, ifaceInfo := range netClass {
@@ -173,9 +180,8 @@ func pushMetric(ch chan<- prometheus.Metric, subsystem string, name string, valu
173180

174181
func (c *netClassCollector) getNetClassInfo() (sysfs.NetClass, error) {
175182
netClass, err := c.fs.NetClass()
176-
177183
if err != nil {
178-
return netClass, fmt.Errorf("error obtaining net class info: %w", err)
184+
return netClass, err
179185
}
180186

181187
for device := range netClass {

0 commit comments

Comments
 (0)