in plt_windows.go [40:77]
func getNetDevStats(stats *ethrNetStat) {
ifs, err := net.Interfaces()
if err != nil {
ui.printErr("%v", err)
return
}
for _, ifi := range ifs {
if (ifi.Flags&net.FlagUp) == 0 || strings.Contains(ifi.Name, "Pseudo") {
continue
}
row, err := getIfEntry2(uint32(ifi.Index))
if err != nil {
ui.printErr("%v", err)
return
}
rxInfo := ethrNetDevInfo{
bytes: uint64(row.InOctets),
packets: uint64(row.InUcastPkts),
drop: uint64(row.InDiscards),
errs: uint64(row.InErrors),
}
txInfo := ethrNetDevInfo{
bytes: uint64(row.OutOctets),
packets: uint64(row.OutUcastPkts),
drop: uint64(row.OutDiscards),
errs: uint64(row.OutErrors),
}
netStats := ethrNetDevStat{
interfaceName: ifi.Name,
rxBytes: rxInfo.bytes,
txBytes: txInfo.bytes,
rxPkts: rxInfo.packets,
txPkts: txInfo.packets,
}
stats.netDevStats = append(stats.netDevStats, netStats)
}
}