go/statusz: factor out load avg to separate file
diff --git a/go/statusz/BUILD.bazel b/go/statusz/BUILD.bazel
index 951adff..f051d72 100644
--- a/go/statusz/BUILD.bazel
+++ b/go/statusz/BUILD.bazel
@@ -2,7 +2,10 @@
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 0000000..2af5381
--- /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 6c0fe17..2aa76e4 100644
--- a/go/statusz/statusz.go
+++ b/go/statusz/statusz.go
@@ -46,7 +46,6 @@
"time"
"github.com/golang/glog"
- "github.com/shirou/gopsutil/load"
)
var (
@@ -134,12 +133,6 @@
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 @@
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 {