From: Matt Joiner Date: Mon, 29 Jun 2015 09:36:08 +0000 (+1000) Subject: dht: Export some useful variables X-Git-Tag: v1.0.0~1134 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=c41aa941f3703d263ac475470c731ac12d27ff5b;p=btrtrc.git dht: Export some useful variables --- diff --git a/dht/dht.go b/dht/dht.go index e5f68511..ff27fcff 100644 --- a/dht/dht.go +++ b/dht/dht.go @@ -585,6 +585,7 @@ func (s *Server) processPacket(b []byte, addr dHTAddr) { var d Msg err := bencode.Unmarshal(b, &d) if err != nil { + readUnmarshalError.Add(1) func() { if se, ok := err.(*bencode.SyntaxError); ok { // The message was truncated. @@ -607,6 +608,7 @@ func (s *Server) processPacket(b []byte, addr dHTAddr) { s.mu.Lock() defer s.mu.Unlock() if d["y"] == "q" { + readQuery.Add(1) s.handleQuery(addr, d) return } @@ -629,6 +631,7 @@ func (s *Server) serve() error { if err != nil { return err } + read.Add(1) if n == len(b) { logonce.Stderr.Printf("received dht packet exceeds buffer size") continue @@ -637,6 +640,7 @@ func (s *Server) serve() error { blocked := s.ipBlocked(util.AddrIP(addr)) s.mu.Unlock() if blocked { + readBlocked.Add(1) continue } s.processPacket(b[:n], newDHTAddr(addr)) diff --git a/dht/expvar.go b/dht/expvar.go new file mode 100644 index 00000000..af31d087 --- /dev/null +++ b/dht/expvar.go @@ -0,0 +1,12 @@ +package dht + +import ( + "expvar" +) + +var ( + read = expvar.NewInt("dhtRead") + readBlocked = expvar.NewInt("dhtReadBlocked") + readUnmarshalError = expvar.NewInt("dhtReadUnmarshalError") + readQuery = expvar.NewInt("dhtReadQuery") +)