mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Add event-based debugging output.
This commit is contained in:
parent
3bd2d0da88
commit
4acfc26c5e
@ -94,6 +94,11 @@ func NewPeerServer(name string, path string, url string, bindAddr string, tlsCon
|
||||
}
|
||||
|
||||
s.raftServer = raftServer
|
||||
s.raftServer.AddEventListener(raft.StateChangeEventType, s.raftEventLogger)
|
||||
s.raftServer.AddEventListener(raft.LeaderChangeEventType, s.raftEventLogger)
|
||||
s.raftServer.AddEventListener(raft.TermChangeEventType, s.raftEventLogger)
|
||||
s.raftServer.AddEventListener(raft.AddPeerEventType, s.raftEventLogger)
|
||||
s.raftServer.AddEventListener(raft.RemovePeerEventType, s.raftEventLogger)
|
||||
|
||||
return s
|
||||
}
|
||||
@ -422,6 +427,31 @@ func (s *PeerServer) PeerStats() []byte {
|
||||
return nil
|
||||
}
|
||||
|
||||
// raftEventLogger converts events from the Raft server into log messages.
|
||||
func (s *PeerServer) raftEventLogger(event raft.Event) {
|
||||
value := event.Value()
|
||||
prevValue := event.PrevValue()
|
||||
if value == nil {
|
||||
value = "<nil>"
|
||||
}
|
||||
if prevValue == nil {
|
||||
prevValue = "<nil>"
|
||||
}
|
||||
|
||||
switch event.Type() {
|
||||
case raft.StateChangeEventType:
|
||||
fmt.Printf("[%s] State changed from '%v' to '%v'.\n", s.name, prevValue, value)
|
||||
case raft.TermChangeEventType:
|
||||
fmt.Printf("[%s] Term #%v started.\n", s.name, value)
|
||||
case raft.LeaderChangeEventType:
|
||||
fmt.Printf("[%s] Leader changed from '%v' to '%v'.\n", s.name, prevValue, value)
|
||||
case raft.AddPeerEventType:
|
||||
fmt.Printf("[%s] Peer added: '%v'\n", s.name, value)
|
||||
case raft.RemovePeerEventType:
|
||||
fmt.Printf("[%s] Peer removed: '%v'\n", s.name, value)
|
||||
}
|
||||
}
|
||||
|
||||
func (s *PeerServer) monitorSnapshot() {
|
||||
for {
|
||||
time.Sleep(s.snapConf.checkingInterval)
|
||||
|
8
test.sh
8
test.sh
@ -5,6 +5,10 @@ if [ -z "$PKG" ]; then
|
||||
PKG="./store ./server ./server/v2/tests ./mod/lock/v2/tests"
|
||||
fi
|
||||
|
||||
if [ -z "$RUN" ]; then
|
||||
RUN="."
|
||||
fi
|
||||
|
||||
# Get GOPATH, etc from build
|
||||
. ./build
|
||||
|
||||
@ -15,9 +19,9 @@ export GOPATH="${PWD}"
|
||||
for i in $PKG
|
||||
do
|
||||
go test -i $i
|
||||
go test -v $i
|
||||
go test -v -test.run=$RUN $i
|
||||
done
|
||||
|
||||
# Functional tests
|
||||
go test -i ./tests/functional
|
||||
ETCD_BIN_PATH=$(pwd)/etcd go test -v ./tests/functional
|
||||
ETCD_BIN_PATH=$(pwd)/etcd go test -v -test.run=$RUN ./tests/functional
|
||||
|
Loading…
x
Reference in New Issue
Block a user