MCPcopy Create free account
hub / github.com/containerd/cgroups / parsePSIData

Function parsePSIData

cgroup2/utils.go:576–606  ·  view source on GitHub ↗
(psi []string, data *stats.PSIData)

Source from the content-addressed store, hash-verified

574}
575
576func parsePSIData(psi []string, data *stats.PSIData) error {
577 for _, f := range psi {
578 kv := strings.SplitN(f, "=", 2)
579 if len(kv) != 2 {
580 return fmt.Errorf("invalid PSI data: %q", f)
581 }
582 var pv *float64
583 switch kv[0] {
584 case "avg10":
585 pv = &data.Avg10
586 case "avg60":
587 pv = &data.Avg60
588 case "avg300":
589 pv = &data.Avg300
590 case "total":
591 v, err := strconv.ParseUint(kv[1], 10, 64)
592 if err != nil {
593 return fmt.Errorf("invalid %s PSI value: %w", kv[0], err)
594 }
595 data.Total = v
596 }
597 if pv != nil {
598 v, err := strconv.ParseFloat(kv[1], 64)
599 if err != nil {
600 return fmt.Errorf("invalid %s PSI value: %w", kv[0], err)
601 }
602 *pv = v
603 }
604 }
605 return nil
606}
607
608func getSubreaper() (int, error) {
609 var i uintptr

Callers 1

getStatPSIFromFileFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…