From 860da591be6c90d892e222b8c045d3bb3ddf165f Mon Sep 17 00:00:00 2001 From: Adam Babik Date: Mon, 19 Nov 2018 10:14:03 +0100 Subject: [PATCH] add mailserver batch requests counter and network processing time (#1280) --- mailserver/mailserver.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mailserver/mailserver.go b/mailserver/mailserver.go index ad2369f9c..9e06c9717 100644 --- a/mailserver/mailserver.go +++ b/mailserver/mailserver.go @@ -50,7 +50,9 @@ var ( // By default go-ethereum/metrics creates dummy metrics that don't register anything. // Real metrics are collected only if -metrics flag is set requestProcessTimer = metrics.NewRegisteredTimer("mailserver/requestProcessTime", nil) + requestProcessNetTimer = metrics.NewRegisteredTimer("mailserver/requestProcessNetTime", nil) requestsMeter = metrics.NewRegisteredMeter("mailserver/requests", nil) + requestsBatchedCounter = metrics.NewRegisteredCounter("mailserver/requestsBatched", nil) requestErrorsCounter = metrics.NewRegisteredCounter("mailserver/requestErrors", nil) sentEnvelopesMeter = metrics.NewRegisteredMeter("mailserver/sentEnvelopes", nil) sentEnvelopesSizeMeter = metrics.NewRegisteredMeter("mailserver/sentEnvelopesSize", nil) @@ -292,6 +294,10 @@ func (s *WMailServer) DeliverMail(peer *whisper.Peer, request *whisper.Envelope) "cursor", cursor, "batch", batch) + if batch { + requestsBatchedCounter.Inc(1) + } + _, lastEnvelopeHash, nextPageCursor, err := s.processRequest( peer, lower, upper, @@ -471,6 +477,9 @@ func (s *WMailServer) processRequest( } func (s *WMailServer) sendEnvelopes(peer *whisper.Peer, envelopes []*whisper.Envelope, batch bool) error { + start := time.Now() + defer requestProcessNetTimer.UpdateSince(start) + if batch { return s.w.SendP2PDirect(peer, envelopes...) }