func parseSockStats()

in pkg/metrics/collector/sockstat.go [149:166]


func parseSockStats(r io.Reader) (*socketStats, error) {
	var lineCount int

	scanner := bufio.NewScanner(r)
	ret := &socketStats{}
	for scanner.Scan() {
		lineCount++
		if s, err := parseLine(scanner.Text()); err == nil {
			ret.merge(s)
		} else {
			return nil, err
		}
	}
	if lineCount == 0 {
		return nil, fmt.Errorf("empty file")
	}
	return ret, nil
}