Merge pull request #2033 from jan--f/netclass-filter-before-parsing
netclass: retrieve interface names and filter before parsing
This commit is contained in:
commit
371c8e4bd0
|
@ -183,15 +183,21 @@ func pushMetric(ch chan<- prometheus.Metric, subsystem string, name string, valu
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *netClassCollector) getNetClassInfo() (sysfs.NetClass, error) {
|
func (c *netClassCollector) getNetClassInfo() (sysfs.NetClass, error) {
|
||||||
netClass, err := c.fs.NetClass()
|
netClass := sysfs.NetClass{}
|
||||||
|
netDevices, err := c.fs.NetClassDevices()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return netClass, err
|
return netClass, err
|
||||||
}
|
}
|
||||||
|
|
||||||
for device := range netClass {
|
for _, device := range netDevices {
|
||||||
if c.ignoredDevicesPattern.MatchString(device) {
|
if c.ignoredDevicesPattern.MatchString(device) {
|
||||||
delete(netClass, device)
|
continue
|
||||||
}
|
}
|
||||||
|
interfaceClass, err := c.fs.NetClassByIface(device)
|
||||||
|
if err != nil {
|
||||||
|
return netClass, err
|
||||||
|
}
|
||||||
|
netClass[device] = *interfaceClass
|
||||||
}
|
}
|
||||||
|
|
||||||
return netClass, nil
|
return netClass, nil
|
||||||
|
|
Loading…
Reference in New Issue