Fix double counting network data with VPN (Close #61)

This commit is contained in:
Caleb Bassi 2018-12-10 14:41:35 -08:00
parent defda4a38a
commit f5ad5e8441

View File

@ -45,13 +45,19 @@ func NewNet() *Net {
} }
func (self *Net) update() { func (self *Net) update() {
// `false` causes psutil to group all network activity interfaces, err := psNet.IOCounters(true)
interfaces, err := psNet.IOCounters(false)
if err != nil { if err != nil {
log.Printf("failed to get network activity from gopsutil: %v", err) log.Printf("failed to get network activity from gopsutil: %v", err)
} }
curRecvTotal := interfaces[0].BytesRecv var curRecvTotal uint64
curSentTotal := interfaces[0].BytesSent var curSentTotal uint64
for _, _interface := range interfaces {
// ignore VPN interface
if _interface.Name != "tun0" {
curRecvTotal += _interface.BytesRecv
curSentTotal += _interface.BytesSent
}
}
var recvRecent uint64 var recvRecent uint64
var sentRecent uint64 var sentRecent uint64