Skip to content

Commit 7677ec1

Browse files
dshulyakfjl
authored andcommitted
p2p/discv5: add egress/ingress traffic metrics to discv5 udp transport (#16369)
1 parent 84f8c0c commit 7677ec1

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

p2p/discv5/metrics.go

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package discv5
2+
3+
import "github.com/ethereum/go-ethereum/metrics"
4+
5+
var (
6+
ingressTrafficMeter = metrics.NewRegisteredMeter("discv5/InboundTraffic", nil)
7+
egressTrafficMeter = metrics.NewRegisteredMeter("discv5/OutboundTraffic", nil)
8+
)

p2p/discv5/udp.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -334,8 +334,10 @@ func (t *udp) sendPacket(toid NodeID, toaddr *net.UDPAddr, ptype byte, req inter
334334
return hash, err
335335
}
336336
log.Trace(fmt.Sprintf(">>> %v to %x@%v", nodeEvent(ptype), toid[:8], toaddr))
337-
if _, err = t.conn.WriteToUDP(packet, toaddr); err != nil {
337+
if nbytes, err := t.conn.WriteToUDP(packet, toaddr); err != nil {
338338
log.Trace(fmt.Sprint("UDP send failed:", err))
339+
} else {
340+
egressTrafficMeter.Mark(int64(nbytes))
339341
}
340342
//fmt.Println(err)
341343
return hash, err
@@ -374,6 +376,7 @@ func (t *udp) readLoop() {
374376
buf := make([]byte, 1280)
375377
for {
376378
nbytes, from, err := t.conn.ReadFromUDP(buf)
379+
ingressTrafficMeter.Mark(int64(nbytes))
377380
if netutil.IsTemporaryError(err) {
378381
// Ignore temporary read errors.
379382
log.Debug(fmt.Sprintf("Temporary read error: %v", err))

0 commit comments

Comments
 (0)