mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-17 18:30:45 +00:00
This commit is contained in:
parent
a46e6a9a25
commit
d8ce54db87
2 changed files with 19 additions and 5 deletions
8
p2p/discv5/metrics.go
Normal file
8
p2p/discv5/metrics.go
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
package discv5
|
||||||
|
|
||||||
|
import "github.com/XinFinOrg/XDPoSChain/metrics"
|
||||||
|
|
||||||
|
var (
|
||||||
|
ingressTrafficMeter = metrics.NewRegisteredMeter("discv5/InboundTraffic", nil)
|
||||||
|
egressTrafficMeter = metrics.NewRegisteredMeter("discv5/OutboundTraffic", nil)
|
||||||
|
)
|
||||||
|
|
@ -27,6 +27,7 @@ import (
|
||||||
"github.com/XinFinOrg/XDPoSChain/common"
|
"github.com/XinFinOrg/XDPoSChain/common"
|
||||||
"github.com/XinFinOrg/XDPoSChain/crypto"
|
"github.com/XinFinOrg/XDPoSChain/crypto"
|
||||||
"github.com/XinFinOrg/XDPoSChain/log"
|
"github.com/XinFinOrg/XDPoSChain/log"
|
||||||
|
"github.com/XinFinOrg/XDPoSChain/metrics"
|
||||||
"github.com/XinFinOrg/XDPoSChain/p2p/nat"
|
"github.com/XinFinOrg/XDPoSChain/p2p/nat"
|
||||||
"github.com/XinFinOrg/XDPoSChain/p2p/netutil"
|
"github.com/XinFinOrg/XDPoSChain/p2p/netutil"
|
||||||
"github.com/XinFinOrg/XDPoSChain/rlp"
|
"github.com/XinFinOrg/XDPoSChain/rlp"
|
||||||
|
|
@ -315,18 +316,20 @@ func (t *udp) sendTopicNodes(remote *Node, queryHash common.Hash, nodes []*Node)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *udp) sendPacket(toid NodeID, toaddr *net.UDPAddr, ptype byte, req interface{}) (hash []byte, err error) {
|
func (t *udp) sendPacket(toid NodeID, toaddr *net.UDPAddr, ptype byte, req interface{}) (hash []byte, err error) {
|
||||||
//fmt.Println("sendPacket", nodeEvent(ptype), toaddr.String(), toid.String())
|
|
||||||
packet, hash, err := encodePacket(t.priv, ptype, req)
|
packet, hash, err := encodePacket(t.priv, ptype, req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
//fmt.Println(err)
|
|
||||||
return hash, err
|
return hash, err
|
||||||
}
|
}
|
||||||
log.Trace(fmt.Sprintf(">>> %v to %x@%v", nodeEvent(ptype), toid[:8], toaddr))
|
log.Trace(fmt.Sprintf(">>> %v to %x@%v", nodeEvent(ptype), toid[:8], toaddr))
|
||||||
if _, err = t.conn.WriteToUDP(packet, toaddr); err != nil {
|
if nbytes, err := t.conn.WriteToUDP(packet, toaddr); err != nil {
|
||||||
log.Trace(fmt.Sprint("UDP send failed:", err))
|
log.Trace(fmt.Sprint("UDP send failed:", err))
|
||||||
|
return hash, err
|
||||||
|
} else {
|
||||||
|
if metrics.Enabled() {
|
||||||
|
egressTrafficMeter.Mark(int64(nbytes))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//fmt.Println(err)
|
return hash, nil
|
||||||
return hash, err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// zeroed padding space for encodePacket.
|
// zeroed padding space for encodePacket.
|
||||||
|
|
@ -371,6 +374,9 @@ func (t *udp) readLoop() {
|
||||||
log.Debug(fmt.Sprintf("Read error: %v", err))
|
log.Debug(fmt.Sprintf("Read error: %v", err))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if metrics.Enabled() {
|
||||||
|
ingressTrafficMeter.Mark(int64(nbytes))
|
||||||
|
}
|
||||||
t.handlePacket(from, buf[:nbytes])
|
t.handlePacket(from, buf[:nbytes])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue