diff --git a/go/statusz/BUILD.bazel b/go/statusz/BUILD.bazel index 951adffa..f051d720 100644 --- a/go/statusz/BUILD.bazel +++ b/go/statusz/BUILD.bazel @@ -2,7 +2,10 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library") go_library( name = "go_default_library", - srcs = ["statusz.go"], + srcs = [ + "load.go", + "statusz.go", + ], importpath = "code.hackerspace.pl/hscloud/go/statusz", visibility = ["//visibility:public"], deps = [ diff --git a/go/statusz/load.go b/go/statusz/load.go new file mode 100644 index 00000000..2af5381d --- /dev/null +++ b/go/statusz/load.go @@ -0,0 +1,14 @@ +package statusz + +import "github.com/shirou/gopsutil/load" + +import "fmt" + +func loadAverage() string { + loadstr := "unknown" + l, err := load.Avg() + if err == nil { + loadstr = fmt.Sprintf("%.2f %.2f %.2f", l.Load1, l.Load5, l.Load15) + } + return loadstr +} diff --git a/go/statusz/statusz.go b/go/statusz/statusz.go index 6c0fe175..2aa76e40 100644 --- a/go/statusz/statusz.go +++ b/go/statusz/statusz.go @@ -46,7 +46,6 @@ import ( "time" "github.com/golang/glog" - "github.com/shirou/gopsutil/load" ) var ( @@ -134,12 +133,6 @@ func StatusHandler(w http.ResponseWriter, r *http.Request) { lock.Lock() defer lock.Unlock() - loadavg := "unknown" - l, err := load.AvgWithContext(r.Context()) - if err == nil { - loadavg = fmt.Sprintf("%.2f %.2f %.2f", l.Load1, l.Load5, l.Load15) - } - data := struct { Sections []section BinaryName string @@ -157,7 +150,7 @@ func StatusHandler(w http.ResponseWriter, r *http.Request) { Username: username, StartTime: serverStart.Format(time.RFC1123), CurrentTime: time.Now().Format(time.RFC1123), - LoadAvg: loadavg, + LoadAvg: loadAverage(), } if err := tmpl.ExecuteTemplate(w, "status", data); err != nil {