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
}