mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-25 22:26:42 +00:00
eth: add base per-peer metrics
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
This commit is contained in:
parent
0296361785
commit
d8dd9d4c20
3 changed files with 21 additions and 18 deletions
|
|
@ -448,6 +448,7 @@ func handleNewPooledTransactionHashes(backend Backend, msg Decoder, peer *Peer)
|
|||
for _, hash := range ann.Hashes {
|
||||
peer.markTransaction(hash)
|
||||
}
|
||||
peer.meters.annReceived.Mark(int64(len(ann.Hashes)))
|
||||
return backend.Handle(peer, ann)
|
||||
}
|
||||
|
||||
|
|
@ -524,6 +525,7 @@ func handlePooledTransactions(backend Backend, msg Decoder, peer *Peer) error {
|
|||
}
|
||||
requestTracker.Fulfil(peer.id, peer.version, PooledTransactionsMsg, txs.RequestId)
|
||||
|
||||
peer.meters.pooledTxReceived.Mark(int64(len(txs.PooledTransactionsResponse)))
|
||||
return backend.Handle(peer, &txs.PooledTransactionsResponse)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -140,6 +140,7 @@ func (p *Peer) SendTransactions(txs types.Transactions) error {
|
|||
for _, tx := range txs {
|
||||
p.knownTxs.Add(tx.Hash())
|
||||
}
|
||||
p.meters.txSent.Mark(int64(len(txs)))
|
||||
return p2p.Send(p.rw, TransactionsMsg, txs)
|
||||
}
|
||||
|
||||
|
|
@ -166,6 +167,7 @@ func (p *Peer) AsyncSendTransactions(hashes []common.Hash) {
|
|||
func (p *Peer) sendPooledTransactionHashes(hashes []common.Hash, types []byte, sizes []uint32) error {
|
||||
// Mark all the transactions as known, but ensure we don't overflow our limits
|
||||
p.knownTxs.Add(hashes...)
|
||||
p.meters.annSent.Mark(int64(len(hashes)))
|
||||
return p2p.Send(p.rw, NewPooledTransactionHashesMsg, NewPooledTransactionHashesPacket{Types: types, Sizes: sizes, Hashes: hashes})
|
||||
}
|
||||
|
||||
|
|
@ -188,6 +190,7 @@ func (p *Peer) ReplyPooledTransactionsRLP(id uint64, hashes []common.Hash, txs [
|
|||
p.knownTxs.Add(hashes...)
|
||||
|
||||
// Not packed into PooledTransactionsResponse to avoid RLP decoding
|
||||
p.meters.pooledTxSent.Mark(int64(len(txs)))
|
||||
return p2p.Send(p.rw, PooledTransactionsMsg, &PooledTransactionsRLPPacket{
|
||||
RequestId: id,
|
||||
PooledTransactionsRLPResponse: txs,
|
||||
|
|
|
|||
|
|
@ -22,13 +22,12 @@ type peerMeters struct {
|
|||
base string
|
||||
reg metrics.Registry
|
||||
|
||||
txReceived *metrics.Meter
|
||||
txSent *metrics.Meter
|
||||
|
||||
txReplyInMeter *metrics.Meter
|
||||
txReplyKnownMeter *metrics.Meter
|
||||
txReplyUnderpricedMeter *metrics.Meter
|
||||
txReplyOtherRejectMeter *metrics.Meter
|
||||
txReceived *metrics.Meter
|
||||
txSent *metrics.Meter
|
||||
pooledTxSent *metrics.Meter
|
||||
pooledTxReceived *metrics.Meter
|
||||
annReceived *metrics.Meter
|
||||
annSent *metrics.Meter
|
||||
}
|
||||
|
||||
// newPeerMeters registers and returns peer-level meters.
|
||||
|
|
@ -40,21 +39,20 @@ func newPeerMeters(base string, r metrics.Registry) *peerMeters {
|
|||
base: base,
|
||||
reg: r,
|
||||
|
||||
txReceived: metrics.NewRegisteredMeter(base+"/txReceived", r),
|
||||
txSent: metrics.NewRegisteredMeter(base+"/txSent", r),
|
||||
|
||||
txReplyInMeter: metrics.NewRegisteredMeter(base+"/eth/fetcher/transaction/replies/in", r),
|
||||
txReplyKnownMeter: metrics.NewRegisteredMeter(base+"/eth/fetcher/transaction/replies/known", r),
|
||||
txReplyUnderpricedMeter: metrics.NewRegisteredMeter(base+"/eth/fetcher/transaction/replies/underpriced", r),
|
||||
txReplyOtherRejectMeter: metrics.NewRegisteredMeter(base+"/eth/fetcher/transaction/replies/otherreject", r),
|
||||
txReceived: metrics.NewRegisteredMeter(base+"/txReceived", r),
|
||||
txSent: metrics.NewRegisteredMeter(base+"/txSent", r),
|
||||
pooledTxSent: metrics.NewRegisteredMeter(base+"/pooledTxSent", r),
|
||||
pooledTxReceived: metrics.NewRegisteredMeter(base+"/pooledTxReceived", r),
|
||||
annReceived: metrics.NewRegisteredMeter(base+"/annReceived", r),
|
||||
annSent: metrics.NewRegisteredMeter(base+"/annSent", 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")
|
||||
m.reg.Unregister(m.base + "/pooledTxSent")
|
||||
m.reg.Unregister(m.base + "/pooledTxReceived")
|
||||
m.reg.Unregister(m.base + "/annReceived")
|
||||
m.reg.Unregister(m.base + "/annSent")
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue