9
9
bsmsg "github.com/ipfs/go-ipfs/exchange/bitswap/message"
10
10
bsnet "github.com/ipfs/go-ipfs/exchange/bitswap/network"
11
11
wantlist "github.com/ipfs/go-ipfs/exchange/bitswap/wantlist"
12
+
13
+ metrics "gx/ipfs/QmRg1gKTHzc3CZXSKzem8aR4E3TubFhbgXwfVuWnSK5CC5/go-metrics-interface"
12
14
cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid"
13
15
peer "gx/ipfs/QmfMmLGoKzCHDN7cGgk64PJr4iipzidDRME8HABSJqvmhC/go-libp2p-peer"
14
16
)
@@ -27,20 +29,25 @@ type WantManager struct {
27
29
network bsnet.BitSwapNetwork
28
30
ctx context.Context
29
31
cancel func ()
32
+
33
+ metricWantlist metrics.Gauge
30
34
}
31
35
32
36
func NewWantManager (ctx context.Context , network bsnet.BitSwapNetwork ) * WantManager {
33
37
ctx , cancel := context .WithCancel (ctx )
38
+ wantlistGauge := metrics .NewCtx (ctx , "wanlist_total" ,
39
+ "Number of items in wantlist." ).Gauge ()
34
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 ,
44
51
}
45
52
}
46
53
@@ -282,10 +289,12 @@ func (pm *WantManager) Run() {
282
289
for _ , e := range entries {
283
290
if e .Cancel {
284
291
if pm .wl .Remove (e .Cid ) {
292
+ pm .metricWantlist .Dec ()
285
293
filtered = append (filtered , e )
286
294
}
287
295
} else {
288
296
if pm .wl .AddEntry (e .Entry ) {
297
+ pm .metricWantlist .Inc ()
289
298
filtered = append (filtered , e )
290
299
}
291
300
}
0 commit comments