Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewGetAndPostHandler ¶ added in v1.7.4
NewGetAndPostHandler returns a health handler that supports GET and jsonrpc POST requests.
Types ¶
type APIHealthReply ¶ added in v1.2.1
type APIHealthReply struct {
Checks map[string]Result `json:"checks"`
Healthy bool `json:"healthy"`
}
APIHealthReply is the response for Health
type Checker ¶ added in v1.7.4
type Checker interface {
// HealthCheck returns health check results and, if not healthy, a non-nil
// error
//
// It is expected that the results are json marshallable.
HealthCheck() (interface{}, error)
}
Checker can have its health checked
type CheckerFunc ¶ added in v1.7.4
type CheckerFunc func() (interface{}, error)
func (CheckerFunc) HealthCheck ¶ added in v1.7.4
func (f CheckerFunc) HealthCheck() (interface{}, error)
type Client ¶ added in v1.0.6
type Client interface {
// Readiness returns if the node has finished initialization
Readiness(context.Context, ...rpc.Option) (*APIHealthReply, error)
// Health returns a summation of the health of the node
Health(context.Context, ...rpc.Option) (*APIHealthReply, error)
// Liveness returns if the node is in need of a restart
Liveness(context.Context, ...rpc.Option) (*APIHealthReply, error)
// AwaitHealthy queries the Health endpoint with a pause of [interval]
// in between checks and returns early if Health returns healthy
AwaitHealthy(ctx context.Context, freq time.Duration, options ...rpc.Option) (bool, error)
}
Client interface for Avalanche Health API Endpoint
type Health ¶
type Health interface {
Registerer
Reporter
Start(freq time.Duration)
Stop()
}
Health defines the full health service interface for registering, reporting and refreshing health checks.
func New ¶ added in v1.7.2
func New(log logging.Logger, registerer prometheus.Registerer) (Health, error)
type Registerer ¶ added in v1.7.4
type Registerer interface {
RegisterReadinessCheck(name string, checker Checker) error
RegisterHealthCheck(name string, checker Checker) error
RegisterLivenessCheck(name string, checker Checker) error
}
Registerer defines how to register new components to check the health of.
type Reporter ¶ added in v1.7.4
type Reporter interface {
Readiness() (map[string]Result, bool)
Health() (map[string]Result, bool)
Liveness() (map[string]Result, bool)
}
Reporter returns the current health status.
type Result ¶ added in v1.6.2
type Result struct {
// Details of the HealthCheck.
Details interface{} `json:"message,omitempty"`
// Error is the string representation of the error returned by the failing
// HealthCheck. The value is nil if the check passed.
Error *string `json:"error,omitempty"`
// Timestamp of the last HealthCheck.
Timestamp time.Time `json:"timestamp,omitempty"`
// Duration is the amount of time this HealthCheck last took to evaluate.
Duration time.Duration `json:"duration"`
// ContiguousFailures the HealthCheck has returned.
ContiguousFailures int64 `json:"contiguousFailures,omitempty"`
// TimeOfFirstFailure of the HealthCheck,
TimeOfFirstFailure *time.Time `json:"timeOfFirstFailure,omitempty"`
}
type Service ¶ added in v1.2.1
type Service struct {
// contains filtered or unexported fields
}
func (*Service) Health ¶ added in v1.7.2
func (s *Service) Health(_ *http.Request, _ *struct{}, reply *APIHealthReply) error
Health returns a summation of the health of the node
Source Files
¶
Click to show internal directories.
Click to hide internal directories.