From f5ad5e84411c4c89cf88cf6c8d4e8b46b80dba81 Mon Sep 17 00:00:00 2001 From: Caleb Bassi Date: Mon, 10 Dec 2018 14:41:35 -0800 Subject: [PATCH] Fix double counting network data with VPN (Close #61) --- src/widgets/net.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/widgets/net.go b/src/widgets/net.go index 2dc5815..6902c0f 100644 --- a/src/widgets/net.go +++ b/src/widgets/net.go @@ -45,13 +45,19 @@ func NewNet() *Net { } func (self *Net) update() { - // `false` causes psutil to group all network activity - interfaces, err := psNet.IOCounters(false) + interfaces, err := psNet.IOCounters(true) if err != nil { log.Printf("failed to get network activity from gopsutil: %v", err) } - curRecvTotal := interfaces[0].BytesRecv - curSentTotal := interfaces[0].BytesSent + var curRecvTotal uint64 + var curSentTotal uint64 + for _, _interface := range interfaces { + // ignore VPN interface + if _interface.Name != "tun0" { + curRecvTotal += _interface.BytesRecv + curSentTotal += _interface.BytesSent + } + } var recvRecent uint64 var sentRecent uint64