Documentation
¶
Overview ¶
Package admin implements an http.Server which can be used for operations and monitoring tools. It's designed to be shipped (and ran) inside an existing Go service.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server represents a holder around a net/http Server which is used for admin endpoints. (i.e. metrics, healthcheck)
func NewServer ¶
NewServer returns an admin Server instance that handles Prometheus metrics and pprof requests. Callers can use ':0' to bind onto a random port and call BindAddr() for the address.
func (*Server) AddHandler ¶ added in v0.6.0
func (s *Server) AddHandler(path string, hf http.HandlerFunc)
AddHandler will append an http.HandlerFunc to the admin Server
func (*Server) AddLivenessCheck ¶ added in v0.9.0
AddLivenessCheck will register a new health check that is executed on every HTTP request of 'GET /live' against the admin server.
Every check will timeout after 10s and return a timeout error.
These checks are designed to be unhealthy only when the application has started but a dependency is unreachable or unhealthy.
func (*Server) AddReadinessCheck ¶ added in v0.9.0
AddReadinessCheck will register a new health check that is executed on every HTTP request of 'GET /ready' against the admin server.
Every check will timeout after 10s and return a timeout error.
These checks are designed to be unhealthy while the application is starting.
func (*Server) BindAddr ¶
BindAddr returns the server's bind address. This is in Go's format so :8080 is valid.