Skip to content

Commit f91697b

Browse files
committed
Add metric of number of elements in the wantlist
License: MIT Signed-off-by: Jakub Sztandera <[email protected]>
1 parent 9a54e27 commit f91697b

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

exchange/bitswap/wantmanager.go

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import (
99
bsmsg "github.com/ipfs/go-ipfs/exchange/bitswap/message"
1010
bsnet "github.com/ipfs/go-ipfs/exchange/bitswap/network"
1111
wantlist "github.com/ipfs/go-ipfs/exchange/bitswap/wantlist"
12+
13+
metrics "gx/ipfs/QmRg1gKTHzc3CZXSKzem8aR4E3TubFhbgXwfVuWnSK5CC5/go-metrics-interface"
1214
cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid"
1315
peer "gx/ipfs/QmfMmLGoKzCHDN7cGgk64PJr4iipzidDRME8HABSJqvmhC/go-libp2p-peer"
1416
)
@@ -27,20 +29,25 @@ type WantManager struct {
2729
network bsnet.BitSwapNetwork
2830
ctx context.Context
2931
cancel func()
32+
33+
metricWantlist metrics.Gauge
3034
}
3135

3236
func NewWantManager(ctx context.Context, network bsnet.BitSwapNetwork) *WantManager {
3337
ctx, cancel := context.WithCancel(ctx)
38+
wantlistGauge := metrics.NewCtx(ctx, "wanlist_total",
39+
"Number of items in wantlist.").Gauge()
3440
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,
4451
}
4552
}
4653

@@ -282,10 +289,12 @@ func (pm *WantManager) Run() {
282289
for _, e := range entries {
283290
if e.Cancel {
284291
if pm.wl.Remove(e.Cid) {
292+
pm.metricWantlist.Dec()
285293
filtered = append(filtered, e)
286294
}
287295
} else {
288296
if pm.wl.AddEntry(e.Entry) {
297+
pm.metricWantlist.Inc()
289298
filtered = append(filtered, e)
290299
}
291300
}

0 commit comments

Comments
 (0)