Package stats
Overview ▹
Index ▹
type CountsStats ¶
CountsStats encapsulates raft statistics.
type CountsStats struct {
Fail uint64 `json:"fail"`
Success uint64 `json:"success"`
}
type FollowerStats ¶
FollowerStats encapsulates various statistics about a follower in an etcd cluster
type FollowerStats struct {
Latency LatencyStats `json:"latency"`
Counts CountsStats `json:"counts"`
sync.Mutex
}
func (*FollowerStats) Fail ¶
func (fs *FollowerStats) Fail()
Fail updates the FollowerStats with an unsuccessful send
func (*FollowerStats) Succ ¶
func (fs *FollowerStats) Succ(d time.Duration)
Succ updates the FollowerStats with a successful send
type LatencyStats ¶
LatencyStats encapsulates latency statistics.
type LatencyStats struct {
Current float64 `json:"current"`
Average float64 `json:"average"`
StandardDeviation float64 `json:"standardDeviation"`
Minimum float64 `json:"minimum"`
Maximum float64 `json:"maximum"`
// contains filtered or unexported fields
}
type LeaderStats ¶
LeaderStats is used by the leader in an etcd cluster, and encapsulates statistics about communication with its followers
type LeaderStats struct {
sync.Mutex
// contains filtered or unexported fields
}
func NewLeaderStats ¶
func NewLeaderStats(id string) *LeaderStats
NewLeaderStats generates a new LeaderStats with the given id as leader
func (*LeaderStats) Follower ¶
func (ls *LeaderStats) Follower(name string) *FollowerStats
func (*LeaderStats) JSON ¶
func (ls *LeaderStats) JSON() []byte
type RequestStats ¶
RequestStats represent the stats for a request. It encapsulates the sending time and the size of the request.
type RequestStats struct {
SendingTime time.Time
Size int
}
type ServerStats ¶
ServerStats encapsulates various statistics about an EtcdServer and its communication with other members of the cluster
type ServerStats struct {
sync.Mutex
// contains filtered or unexported fields
}
func NewServerStats ¶
func NewServerStats(name, id string) *ServerStats
func (*ServerStats) BecomeLeader ¶
func (ss *ServerStats) BecomeLeader()
func (*ServerStats) JSON ¶
func (ss *ServerStats) JSON() []byte
func (*ServerStats) RecvAppendReq ¶
func (ss *ServerStats) RecvAppendReq(leader string, reqSize int)
RecvAppendReq updates the ServerStats in response to an AppendRequest from the given leader being received
func (*ServerStats) SendAppendReq ¶
func (ss *ServerStats) SendAppendReq(reqSize int)
SendAppendReq updates the ServerStats in response to an AppendRequest being sent by this server
type Stats ¶
type Stats interface {
// SelfStats returns the struct representing statistics of this server
SelfStats() []byte
// LeaderStats returns the statistics of all followers in the cluster
// if this server is leader. Otherwise, nil is returned.
LeaderStats() []byte
// StoreStats returns statistics of the store backing this EtcdServer
StoreStats() []byte
}
ActiveGo 1.8