mirror of https://gerrit.hackerspace.pl/hscloud
41 lines
917 B
Markdown
41 lines
917 B
Markdown
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.
|
|
|
|
```go
|
|
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:
|
|
|
|
```go
|
|
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.
|