summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCaleb Bassi <calebjbassi@gmail.com>2018-12-10 14:41:35 -0800
committerCaleb Bassi <calebjbassi@gmail.com>2018-12-10 14:43:01 -0800
commitf5ad5e84411c4c89cf88cf6c8d4e8b46b80dba81 (patch)
treedda3bf0e73460a2262e4e832223026202707f7a0
parentdefda4a38af4e949b39c2977d9f69d36482a64ea (diff)
Fix double counting network data with VPN (Close #61)
-rw-r--r--src/widgets/net.go14
1 files 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