MCPcopy Create free account
hub / github.com/prometheus/procfs / parseLoad

Function parseLoad

loadavg.go:43–62  ·  view source on GitHub ↗

Parse /proc loadavg and return 1m, 5m and 15m.

(loadavgBytes []byte)

Source from the content-addressed store, hash-verified

41
42// Parse /proc loadavg and return 1m, 5m and 15m.
43func parseLoad(loadavgBytes []byte) (*LoadAvg, error) {
44 loads := make([]float64, 3)
45 parts := strings.Fields(string(loadavgBytes))
46 if len(parts) < 3 {
47 return nil, fmt.Errorf("%w: Malformed line %q", ErrFileParse, string(loadavgBytes))
48 }
49
50 var err error
51 for i, load := range parts[0:3] {
52 loads[i], err = strconv.ParseFloat(load, 64)
53 if err != nil {
54 return nil, fmt.Errorf("%w: Cannot parse load: %f: %w", ErrFileParse, loads[i], err)
55 }
56 }
57 return &LoadAvg{
58 Load1: loads[0],
59 Load5: loads[1],
60 Load15: loads[2],
61 }, nil
62}

Callers 2

Test_parseLoadFunction · 0.85
LoadAvgMethod · 0.85

Calls

no outgoing calls

Tested by 1

Test_parseLoadFunction · 0.68

Used in the wild real call sites across dependent graphs

searching dependent graphs…