From ce684ab73e15988dd6ecb8073e84c905ce4ed1f9 Mon Sep 17 00:00:00 2001 From: Jakub Sztandera Date: Fri, 20 Jan 2017 14:13:04 +0100 Subject: [PATCH] refactor: cleanup bitswap metrics collection License: MIT Signed-off-by: Jakub Sztandera --- exchange/bitswap/bitswap.go | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/exchange/bitswap/bitswap.go b/exchange/bitswap/bitswap.go index cc821dc1e..46cc4dbd8 100644 --- a/exchange/bitswap/bitswap.go +++ b/exchange/bitswap/bitswap.go @@ -368,9 +368,7 @@ func (bs *Bitswap) ReceiveMessage(ctx context.Context, p peer.ID, incoming bsmsg go func(b blocks.Block) { defer wg.Done() - if err := bs.updateReceiveCounters(b); err != nil { - return // ignore error, is either logged previously, or ErrAlreadyHaveBlock - } + bs.updateReceiveCounters(b) k := b.Cid() log.Event(ctx, "Bitswap.GetBlockRequest.End", k) @@ -386,27 +384,27 @@ func (bs *Bitswap) ReceiveMessage(ctx context.Context, p peer.ID, incoming bsmsg var ErrAlreadyHaveBlock = errors.New("already have block") -func (bs *Bitswap) updateReceiveCounters(b blocks.Block) error { - bs.counterLk.Lock() - defer bs.counterLk.Unlock() +func (bs *Bitswap) updateReceiveCounters(b blocks.Block) { blkLen := len(b.RawData()) - bs.allMetric.Observe(float64(blkLen)) - bs.blocksRecvd++ has, err := bs.blockstore.Has(b.Cid()) if err != nil { log.Infof("blockstore.Has error: %s", err) - return err + return } - if err == nil && has { + + bs.allMetric.Observe(float64(blkLen)) + if has { bs.dupMetric.Observe(float64(blkLen)) + } + + bs.counterLk.Lock() + defer bs.counterLk.Unlock() + + bs.blocksRecvd++ + if has { bs.dupBlocksRecvd++ bs.dupDataRecvd += uint64(blkLen) } - - if has { - return ErrAlreadyHaveBlock - } - return nil } // Connected/Disconnected warns bitswap about peer connections