skip network interfaces if they have no traffic

This commit is contained in:
Henry Dollman
2024-07-27 21:13:37 -04:00
parent 935dca8679
commit d0f51e5ca9

View File

@@ -113,7 +113,7 @@ func getSystemStats() (*SystemInfo, *SystemStats) {
bytesSent := uint64(0) bytesSent := uint64(0)
bytesRecv := uint64(0) bytesRecv := uint64(0)
for _, v := range netIO { for _, v := range netIO {
if skipNetworkInterface(v.Name) { if skipNetworkInterface(&v) {
continue continue
} }
// log.Printf("%+v: %+v recv, %+v sent\n", v.Name, v.BytesRecv, v.BytesSent) // log.Printf("%+v: %+v recv, %+v sent\n", v.Name, v.BytesRecv, v.BytesSent)
@@ -346,8 +346,18 @@ func findDefaultFilesystem() string {
return "" return ""
} }
func skipNetworkInterface(name string) bool { func skipNetworkInterface(v *psutilNet.IOCountersStat) bool {
return strings.HasPrefix(name, "lo") || strings.HasPrefix(name, "docker") || strings.HasPrefix(name, "br-") || strings.HasPrefix(name, "veth") switch {
case strings.HasPrefix(v.Name, "lo"),
strings.HasPrefix(v.Name, "docker"),
strings.HasPrefix(v.Name, "br-"),
strings.HasPrefix(v.Name, "veth"),
v.BytesRecv == 0,
v.BytesSent == 0:
return true
default:
return false
}
} }
func initializeDiskIoStats() { func initializeDiskIoStats() {
@@ -365,7 +375,7 @@ func initializeNetIoStats() {
bytesSent := uint64(0) bytesSent := uint64(0)
bytesRecv := uint64(0) bytesRecv := uint64(0)
for _, v := range netIO { for _, v := range netIO {
if skipNetworkInterface(v.Name) { if skipNetworkInterface(&v) {
continue continue
} }
log.Printf("Found network interface: %+v (%+v recv, %+v sent)\n", v.Name, v.BytesRecv, v.BytesSent) log.Printf("Found network interface: %+v (%+v recv, %+v sent)\n", v.Name, v.BytesRecv, v.BytesSent)