in providers/linux/process_linux.go [272:292]
func (p *process) NetworkCounters() (*types.NetworkCountersInfo, error) {
snmpRaw, err := os.ReadFile(p.path("net/snmp"))
if err != nil {
return nil, fmt.Errorf("error reading net/snmp file: %w", err)
}
snmp, err := getNetSnmpStats(snmpRaw)
if err != nil {
return nil, fmt.Errorf("error parsing SNMP network data: %w", err)
}
netstatRaw, err := os.ReadFile(p.path("net/netstat"))
if err != nil {
return nil, fmt.Errorf("error reading net/netstat file: %w", err)
}
netstat, err := getNetstatStats(netstatRaw)
if err != nil {
return nil, fmt.Errorf("error parsing netstat file: %w", err)
}
return &types.NetworkCountersInfo{SNMP: snmp, Netstat: netstat}, nil
}