Files
Pulse/internal/dockeragent/system.go
2025-10-11 23:29:47 +00:00

38 lines
606 B
Go

package dockeragent
import (
"bufio"
"errors"
"os"
"strconv"
"strings"
)
func readProcUptime() (float64, error) {
f, err := os.Open("/proc/uptime")
if err != nil {
return 0, err
}
defer f.Close()
scanner := bufio.NewScanner(f)
if !scanner.Scan() {
if err := scanner.Err(); err != nil {
return 0, err
}
return 0, errors.New("empty /proc/uptime")
}
fields := strings.Fields(scanner.Text())
if len(fields) == 0 {
return 0, errors.New("invalid /proc/uptime contents")
}
value, err := strconv.ParseFloat(fields[0], 64)
if err != nil {
return 0, err
}
return value, nil
}