mirror of https://github.com/poanetwork/gecko.git
105 lines
3.5 KiB
Go
105 lines
3.5 KiB
Go
|
// (c) 2019-2020, Ava Labs, Inc. All rights reserved.
|
||
|
// See the file LICENSE for licensing terms.
|
||
|
|
||
|
package networking
|
||
|
|
||
|
import (
|
||
|
"github.com/prometheus/client_golang/prometheus"
|
||
|
|
||
|
"github.com/ava-labs/gecko/utils/logging"
|
||
|
)
|
||
|
|
||
|
type handshakeMetrics struct {
|
||
|
numPeers prometheus.Gauge
|
||
|
|
||
|
numGetVersionSent, numGetVersionReceived,
|
||
|
numVersionSent, numVersionReceived,
|
||
|
numGetPeerlistSent, numGetPeerlistReceived,
|
||
|
numPeerlistSent, numPeerlistReceived prometheus.Counter
|
||
|
}
|
||
|
|
||
|
func (hm *handshakeMetrics) Initialize(log logging.Logger, registerer prometheus.Registerer) {
|
||
|
hm.numPeers = prometheus.NewGauge(
|
||
|
prometheus.GaugeOpts{
|
||
|
Namespace: "gecko",
|
||
|
Name: "peers",
|
||
|
Help: "Number of network peers",
|
||
|
})
|
||
|
hm.numGetVersionSent = prometheus.NewCounter(
|
||
|
prometheus.CounterOpts{
|
||
|
Namespace: "gecko",
|
||
|
Name: "get_version_sent",
|
||
|
Help: "Number of get_version messages sent",
|
||
|
})
|
||
|
hm.numGetVersionReceived = prometheus.NewCounter(
|
||
|
prometheus.CounterOpts{
|
||
|
Namespace: "gecko",
|
||
|
Name: "get_version_received",
|
||
|
Help: "Number of get_version messages received",
|
||
|
})
|
||
|
hm.numVersionSent = prometheus.NewCounter(
|
||
|
prometheus.CounterOpts{
|
||
|
Namespace: "gecko",
|
||
|
Name: "version_sent",
|
||
|
Help: "Number of version messages sent",
|
||
|
})
|
||
|
hm.numVersionReceived = prometheus.NewCounter(
|
||
|
prometheus.CounterOpts{
|
||
|
Namespace: "gecko",
|
||
|
Name: "version_received",
|
||
|
Help: "Number of version messages received",
|
||
|
})
|
||
|
hm.numGetPeerlistSent = prometheus.NewCounter(
|
||
|
prometheus.CounterOpts{
|
||
|
Namespace: "gecko",
|
||
|
Name: "get_peerlist_sent",
|
||
|
Help: "Number of get_peerlist messages sent",
|
||
|
})
|
||
|
hm.numGetPeerlistReceived = prometheus.NewCounter(
|
||
|
prometheus.CounterOpts{
|
||
|
Namespace: "gecko",
|
||
|
Name: "get_peerlist_received",
|
||
|
Help: "Number of get_peerlist messages received",
|
||
|
})
|
||
|
hm.numPeerlistSent = prometheus.NewCounter(
|
||
|
prometheus.CounterOpts{
|
||
|
Namespace: "gecko",
|
||
|
Name: "peerlist_sent",
|
||
|
Help: "Number of peerlist messages sent",
|
||
|
})
|
||
|
hm.numPeerlistReceived = prometheus.NewCounter(
|
||
|
prometheus.CounterOpts{
|
||
|
Namespace: "gecko",
|
||
|
Name: "peerlist_received",
|
||
|
Help: "Number of peerlist messages received",
|
||
|
})
|
||
|
|
||
|
if err := registerer.Register(hm.numPeers); err != nil {
|
||
|
log.Error("Failed to register peers statistics due to %s", err)
|
||
|
}
|
||
|
if err := registerer.Register(hm.numGetVersionSent); err != nil {
|
||
|
log.Error("Failed to register get_version_sent statistics due to %s", err)
|
||
|
}
|
||
|
if err := registerer.Register(hm.numGetVersionReceived); err != nil {
|
||
|
log.Error("Failed to register get_version_received statistics due to %s", err)
|
||
|
}
|
||
|
if err := registerer.Register(hm.numVersionSent); err != nil {
|
||
|
log.Error("Failed to register version_sent statistics due to %s", err)
|
||
|
}
|
||
|
if err := registerer.Register(hm.numVersionReceived); err != nil {
|
||
|
log.Error("Failed to register version_received statistics due to %s", err)
|
||
|
}
|
||
|
if err := registerer.Register(hm.numGetPeerlistSent); err != nil {
|
||
|
log.Error("Failed to register get_peerlist_sent statistics due to %s", err)
|
||
|
}
|
||
|
if err := registerer.Register(hm.numGetPeerlistReceived); err != nil {
|
||
|
log.Error("Failed to register get_peerlist_received statistics due to %s", err)
|
||
|
}
|
||
|
if err := registerer.Register(hm.numPeerlistSent); err != nil {
|
||
|
log.Error("Failed to register peerlist_sent statistics due to %s", err)
|
||
|
}
|
||
|
if err := registerer.Register(hm.numPeerlistReceived); err != nil {
|
||
|
log.Error("Failed to register peerlist_received statistics due to %s", err)
|
||
|
}
|
||
|
}
|