1
0
Fork 0
hscloud/go/statusz
q3k 376f58720e go/statusz: do not crash on failure to resolve uid
This can happen if a binary is built statically and fails to load
libgcc/nsd libraries at runtime.

Change-Id: Ia76645471b83a6cc75fe6552e70e6a251b50129c
2020-10-30 14:05:07 +01:00
..
BUILD.bazel go/{mirko,statusz}: better status, kubernetes client 2019-07-21 23:54:41 +02:00
LICENSE statusz: make our own copy 2018-10-25 23:26:57 +02:00
README.md statusz: fix executable sha256 2018-10-25 23:37:37 +02:00
load.go go/statusz: factor out load avg to separate file 2019-04-06 01:21:04 +02:00
statusz.go go/statusz: do not crash on failure to resolve uid 2020-10-30 14:05:07 +01:00

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.