type ProcSnmp … type Ip … type Icmp … type IcmpMsg … type Tcp … type Udp … type UdpLite … func (p Proc) Snmp() (ProcSnmp, error) { … } // parseSnmp parses the metrics from proc/<pid>/net/snmp file // and returns a map contains those metrics (e.g. {"Ip": {"Forwarding": 2}}). func parseSnmp(r io.Reader, fileName string) (ProcSnmp, error) { … }