Skip to content

Commit 2aeb930

Browse files
committed
derp: add metrics to server got pings, sent pongs
Updates tailscale#3652 Change-Id: I1d350bcaee39ea36b0c71912028624d18fb541b4 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
1 parent 2513d2d commit 2aeb930

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

derp/derp_server.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,8 @@ type Server struct {
125125
packetsForwardedOut expvar.Int
126126
packetsForwardedIn expvar.Int
127127
peerGoneFrames expvar.Int // number of peer gone frames sent
128+
gotPing expvar.Int // number of ping frames from client
129+
sentPong expvar.Int // number of pong frames enqueued to client
128130
accepts expvar.Int
129131
curClients expvar.Int
130132
curHomeClients expvar.Int // ones with preferred
@@ -770,6 +772,7 @@ func (c *sclient) handleFrameWatchConns(ft frameType, fl uint32) error {
770772
}
771773

772774
func (c *sclient) handleFramePing(ft frameType, fl uint32) error {
775+
c.s.gotPing.Add(1)
773776
var m PingMessage
774777
if fl < uint32(len(m)) {
775778
return fmt.Errorf("short ping: %v", fl)
@@ -1422,6 +1425,7 @@ func (c *sclient) sendKeepAlive() error {
14221425

14231426
// sendPong sends a pong reply, without flushing.
14241427
func (c *sclient) sendPong(data [8]byte) error {
1428+
c.s.sentPong.Add(1)
14251429
c.setWriteDeadline()
14261430
if err := writeFrameHeader(c.bw.bw(), framePong, uint32(len(data))); err != nil {
14271431
return err
@@ -1671,6 +1675,8 @@ func (s *Server) ExpVar() expvar.Var {
16711675
m.Set("unknown_frames", &s.unknownFrames)
16721676
m.Set("home_moves_in", &s.homeMovesIn)
16731677
m.Set("home_moves_out", &s.homeMovesOut)
1678+
m.Set("got_ping", &s.gotPing)
1679+
m.Set("sent_pong", &s.sentPong)
16741680
m.Set("peer_gone_frames", &s.peerGoneFrames)
16751681
m.Set("packets_forwarded_out", &s.packetsForwardedOut)
16761682
m.Set("packets_forwarded_in", &s.packetsForwardedIn)

0 commit comments

Comments
 (0)