package main
import (
"fmt"
"github.com/mackerelio/go-osstat/network"
"time"
)
func main() {
CounterReceiveFlow()
}
func CounterReceiveFlow() int {
beforeStats, err := network.Get()
if err != nil {
fmt.Printf("get before network counter failed, err: %v\n", err)
return 0
}
time.Sleep(1 * time.Second)
afterStats, err := network.Get()
if err != nil {
fmt.Printf("get after network counter failed, err: %v\n", err)
return 0
}
beforeTxBytes := 0
beforeRxBytes := 0
for _, item := range beforeStats {
beforeTxBytes += int(item.TxBytes)
beforeRxBytes += int(item.RxBytes)
}
afterTxBytes := 0
afterRxBytes := 0
for _, item := range afterStats {
afterTxBytes += int(item.TxBytes)
afterRxBytes += int(item.RxBytes)
}
receiveFlow := afterRxBytes - beforeRxBytes
fmt.Println(receiveFlow)
return receiveFlow
}