mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-26 06:36:43 +00:00
eth: unregister per-peer metrics on peer close
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
This commit is contained in:
parent
b31ad2e7e9
commit
0296361785
2 changed files with 19 additions and 0 deletions
|
|
@ -95,6 +95,7 @@ func NewPeer(version uint, p *p2p.Peer, rw p2p.MsgReadWriter, txpool TxPool) *Pe
|
||||||
// clean it up!
|
// clean it up!
|
||||||
func (p *Peer) Close() {
|
func (p *Peer) Close() {
|
||||||
close(p.term)
|
close(p.term)
|
||||||
|
p.meters.Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
// ID retrieves the peer's unique identifier.
|
// ID retrieves the peer's unique identifier.
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,9 @@ package eth
|
||||||
import "github.com/ethereum/go-ethereum/metrics"
|
import "github.com/ethereum/go-ethereum/metrics"
|
||||||
|
|
||||||
type peerMeters struct {
|
type peerMeters struct {
|
||||||
|
base string
|
||||||
|
reg metrics.Registry
|
||||||
|
|
||||||
txReceived *metrics.Meter
|
txReceived *metrics.Meter
|
||||||
txSent *metrics.Meter
|
txSent *metrics.Meter
|
||||||
|
|
||||||
|
|
@ -30,7 +33,13 @@ type peerMeters struct {
|
||||||
|
|
||||||
// newPeerMeters registers and returns peer-level meters.
|
// newPeerMeters registers and returns peer-level meters.
|
||||||
func newPeerMeters(base string, r metrics.Registry) *peerMeters {
|
func newPeerMeters(base string, r metrics.Registry) *peerMeters {
|
||||||
|
if r == nil {
|
||||||
|
r = metrics.DefaultRegistry
|
||||||
|
}
|
||||||
return &peerMeters{
|
return &peerMeters{
|
||||||
|
base: base,
|
||||||
|
reg: r,
|
||||||
|
|
||||||
txReceived: metrics.NewRegisteredMeter(base+"/txReceived", r),
|
txReceived: metrics.NewRegisteredMeter(base+"/txReceived", r),
|
||||||
txSent: metrics.NewRegisteredMeter(base+"/txSent", r),
|
txSent: metrics.NewRegisteredMeter(base+"/txSent", r),
|
||||||
|
|
||||||
|
|
@ -40,3 +49,12 @@ func newPeerMeters(base string, r metrics.Registry) *peerMeters {
|
||||||
txReplyOtherRejectMeter: metrics.NewRegisteredMeter(base+"/eth/fetcher/transaction/replies/otherreject", r),
|
txReplyOtherRejectMeter: metrics.NewRegisteredMeter(base+"/eth/fetcher/transaction/replies/otherreject", r),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *peerMeters) Close() {
|
||||||
|
m.reg.Unregister(m.base + "/txReceived")
|
||||||
|
m.reg.Unregister(m.base + "/txSent")
|
||||||
|
m.reg.Unregister(m.base + "/eth/fetcher/transaction/replies/in")
|
||||||
|
m.reg.Unregister(m.base + "/eth/fetcher/transaction/replies/known")
|
||||||
|
m.reg.Unregister(m.base + "/eth/fetcher/transaction/replies/underpriced")
|
||||||
|
m.reg.Unregister(m.base + "/eth/fetcher/transaction/replies/otherreject")
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue