Documentation ¶
Index ¶
Constants ¶
View Source
const ( // ReplicationLag should be the key for any reporters // reporting MySQL repliaction lag. ReplicationLag = "replication_lag" // ReplicationLagHigh should be the value for any reporters // indicating that the replication lag is too high. ReplicationLagHigh = "high" )
View Source
const ( Healthy = "healthy" Unhappy = "unhappy" Unhealthy = "unhealthy" Unknown = "unknown" )
Variables ¶
This section is empty.
Functions ¶
func History ¶
func History() []interface{}
History returns the health records from the default health aggregator.
Types ¶
type Aggregator ¶
Aggregator aggregates the results of many Reporters.
func NewAggregator ¶
func NewAggregator() *Aggregator
func (*Aggregator) Register ¶
func (ag *Aggregator) Register(name string, rep Reporter)
Register registers rep with ag. Only keys specified in keys will be aggregated from this particular Reporter.
func (*Aggregator) Run ¶
func (ag *Aggregator) Run(typ topo.TabletType) (map[string]string, error)
Run runs aggregates health statuses from all the reporters. If any errors occur during the reporting, they will be logged, but only the first error will be returned. It may return an empty map if no health condition is detected. Note it will not return nil, but an empty map.
type FunctionReporter ¶
type FunctionReporter func(typ topo.TabletType) (map[string]string, error)
FunctionReporter is a function that may act as a Reporter.
func (FunctionReporter) Report ¶
func (fc FunctionReporter) Report(typ topo.TabletType) (status map[string]string, err error)
type Reporter ¶
type Reporter interface { // Report returns a map of health states for the tablet // assuming that its tablet type is typ. If Report returns an // error it implies that the tablet is in a bad shape and not // able to handle queries. Report(typ topo.TabletType) (status map[string]string, err error) }
Reporter reports the health status of a tablet.
Click to show internal directories.
Click to hide internal directories.