forked from hswaw/hscloud
q3k
97b5cd7b58
This is a mega-change, but attempting to split this up further is probably not worth the effort. Summary: 1. Bump up bazel, rules_go, and others. 2. Switch to new go target naming (bye bye go_default_library) 3. Move go deps to go.mod/go.sum, use make gazelle generate from that 4. Bump up Python deps a bit And also whatever was required to actually get things to work - loads of small useless changes. Tested to work on NixOS and Ubuntu 20.04: $ bazel build //... $ bazel test //... Change-Id: I8364bdaa1406b9ae4d0385a6b607f3e7989f98a9 Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1583 Reviewed-by: q3k <q3k@hackerspace.pl> |
||
---|---|---|
.. | ||
BUILD.bazel | ||
LICENSE | ||
README.md | ||
load.go | ||
statusz.go |
README.md
Statusz-like page for Go
This module adds a /debug/status handler to net/http that displays useful information for debug purposes in production.
Basic Usage
For the basic status page, just include the module.
import (
_ "code.hackerspace.pl/hscloud/go/statusz"
)
func main() {
http.ListenAndServe("127.0.0.1:6000", nil)
}
Adding sections
To add a section to the status page, call AddStatusSection
like so:
import (
"code.hackerspace.pl/hscloud/go/statusz"
)
func main() {
statusz.AddStatusPart("Worker Status", function(ctx context.Context) {
return fmt.Sprintf("%d workers alive", workerCount)
})
http.ListenAndServe("127.0.0.1:6000", nil)
}
For custom section templates, call AddStatusPart
, which accepts a http/template fragment that will be rendered on the result of the part render function.