@cryptotaxi247 / kubo / commits / ccd1f8e3d

Add metric of number of elements in the wantlist

License: MIT Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>

Jakub Sztandera committed Jan 20, 2017 at 18:28 UTC ccd1f8e3d74cee7ba361b8ba5a9f96121baaa98c
1 file changed +18 -9
exchange/bitswap/wantmanager.go
+18 -9
@@ -9,6 +9,8 @@ import (
9 bsmsg "github.com/ipfs/go-ipfs/exchange/bitswap/message"
10 bsnet "github.com/ipfs/go-ipfs/exchange/bitswap/network"
11 wantlist "github.com/ipfs/go-ipfs/exchange/bitswap/wantlist"
12 +
13 + metrics "gx/ipfs/QmRg1gKTHzc3CZXSKzem8aR4E3TubFhbgXwfVuWnSK5CC5/go-metrics-interface"
14 cid "gx/ipfs/QmV5gPoRsjN1Gid3LMdNZTyfCtP2DsvqEbMAmz82RmmiGk/go-cid"
15 peer "gx/ipfs/QmZcUPvPhD1Xvk6mwijYF8AfR3mG31S1YsEfHG4khrFPRr/go-libp2p-peer"
16 )
@@ -27,20 +29,25 @@ type WantManager struct {
29 network bsnet.BitSwapNetwork
30 ctx context.Context
31 cancel func()
32 +
33 + metricWantlist metrics.Gauge
34 }
35
36 func NewWantManager(ctx context.Context, network bsnet.BitSwapNetwork) *WantManager {
37 ctx, cancel := context.WithCancel(ctx)
38 + wantlistGauge := metrics.NewCtx(ctx, "wanlist_total",
39 + "Number of items in wantlist.").Gauge()
40 return &WantManager{
35 - incoming: make(chan []*bsmsg.Entry, 10),
36 - connect: make(chan peer.ID, 10),
37 - disconnect: make(chan peer.ID, 10),
38 - peerReqs: make(chan chan []peer.ID),
39 - peers: make(map[peer.ID]*msgQueue),
40 - wl: wantlist.NewThreadSafe(),
41 - network: network,
42 - ctx: ctx,
43 - cancel: cancel,
41 + incoming: make(chan []*bsmsg.Entry, 10),
42 + connect: make(chan peer.ID, 10),
43 + disconnect: make(chan peer.ID, 10),
44 + peerReqs: make(chan chan []peer.ID),
45 + peers: make(map[peer.ID]*msgQueue),
46 + wl: wantlist.NewThreadSafe(),
47 + network: network,
48 + ctx: ctx,
49 + cancel: cancel,
50 + metricWantlist: wantlistGauge,
51 }
52 }
53
@@ -282,10 +289,12 @@ func (pm *WantManager) Run() {
289 for _, e := range entries {
290 if e.Cancel {
291 if pm.wl.Remove(e.Cid) {
292 + pm.metricWantlist.Dec()
293 filtered = append(filtered, e)
294 }
295 } else {
296 if pm.wl.AddEntry(e.Entry) {
297 + pm.metricWantlist.Inc()
298 filtered = append(filtered, e)
299 }
300 }