From 979ed6ab6c388bfacab32bcf9299abae699b18b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Mur=C3=A9?= Date: Thu, 27 Feb 2020 16:24:46 +0100 Subject: [PATCH] metrics: also record message/request event on error ... otherwise any kinde of error ratio is meaningless. --- dht_net.go | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/dht_net.go b/dht_net.go index 38959f69b..e72b08c2f 100644 --- a/dht_net.go +++ b/dht_net.go @@ -96,6 +96,8 @@ func (dht *IpfsDHT) handleNewMessage(s network.Stream) bool { ctx, []tag.Mutator{tag.Upsert(metrics.KeyMessageType, "UNKNOWN")}, metrics.ReceivedMessageErrors.M(1), + metrics.ReceivedMessages.M(1), + metrics.ReceivedBytes.M(int64(req.Size())), ) return false } @@ -107,6 +109,8 @@ func (dht *IpfsDHT) handleNewMessage(s network.Stream) bool { ctx, []tag.Mutator{tag.Upsert(metrics.KeyMessageType, "UNKNOWN")}, metrics.ReceivedMessageErrors.M(1), + metrics.ReceivedMessages.M(1), + metrics.ReceivedBytes.M(int64(req.Size())), ) return false } @@ -164,6 +168,12 @@ func (dht *IpfsDHT) handleNewMessage(s network.Stream) bool { func (dht *IpfsDHT) sendRequest(ctx context.Context, p peer.ID, pmes *pb.Message) (*pb.Message, error) { ctx, _ = tag.New(ctx, metrics.UpsertMessageType(pmes)) + stats.Record( + ctx, + metrics.SentRequests.M(1), + metrics.SentBytes.M(int64(pmes.Size())), + ) + ms, err := dht.messageSenderForPeer(ctx, p) if err != nil { stats.Record(ctx, metrics.SentRequestErrors.M(1)) @@ -183,8 +193,6 @@ func (dht *IpfsDHT) sendRequest(ctx context.Context, p peer.ID, pmes *pb.Message stats.Record( ctx, - metrics.SentRequests.M(1), - metrics.SentBytes.M(int64(pmes.Size())), metrics.OutboundRequestLatency.M( float64(time.Since(start))/float64(time.Millisecond), ), @@ -198,6 +206,12 @@ func (dht *IpfsDHT) sendRequest(ctx context.Context, p peer.ID, pmes *pb.Message func (dht *IpfsDHT) sendMessage(ctx context.Context, p peer.ID, pmes *pb.Message) error { ctx, _ = tag.New(ctx, metrics.UpsertMessageType(pmes)) + stats.Record( + ctx, + metrics.SentMessages.M(1), + metrics.SentBytes.M(int64(pmes.Size())), + ) + ms, err := dht.messageSenderForPeer(ctx, p) if err != nil { stats.Record(ctx, metrics.SentMessageErrors.M(1)) @@ -209,11 +223,6 @@ func (dht *IpfsDHT) sendMessage(ctx context.Context, p peer.ID, pmes *pb.Message return err } - stats.Record( - ctx, - metrics.SentMessages.M(1), - metrics.SentBytes.M(int64(pmes.Size())), - ) logger.Event(ctx, "dhtSentMessage", dht.self, p, pmes) return nil }