This module adds a /debug/status handler to net/http that displays useful information for debug purposes in production.
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)
}
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.