Newer
Older
Angelo Capossele
committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package prometheus
import (
"github.com/iotaledger/goshimmer/plugins/metrics"
"github.com/prometheus/client_golang/prometheus"
)
var (
neighborDropCount prometheus.Gauge
avgNeighborConnectionLifeTime prometheus.Gauge
connectionsCount prometheus.Gauge
minDistance prometheus.Gauge
maxDistance prometheus.Gauge
avgDistance prometheus.Gauge
)
func registerAutopeeringMetrics() {
neighborDropCount = prometheus.NewGauge(prometheus.GaugeOpts{
Name: "autopeering_neighbor_drop_count",
Help: "Autopeering neighbor drop count.",
})
avgNeighborConnectionLifeTime = prometheus.NewGauge(prometheus.GaugeOpts{
Name: "autopeering_avg_neighbor_connection_lifetime",
Help: "Autopeering avgerage neighbor connection lifetime.",
})
connectionsCount = prometheus.NewGauge(prometheus.GaugeOpts{
Name: "autopeering_neighbor_connections_count",
Help: "Autopeering neighbor connections count.",
})
minDistance = prometheus.NewGauge(prometheus.GaugeOpts{
Name: "autopeering_min_distance",
Help: "Autopeering minimum distance with all neighbors.",
})
maxDistance = prometheus.NewGauge(prometheus.GaugeOpts{
Name: "autopeering_max_distance",
Help: "Autopeering maximum distance with all neighbors.",
})
avgDistance = prometheus.NewGauge(prometheus.GaugeOpts{
Name: "autopeering_avg_distance",
Help: "Autopeering average distance with all neighbors.",
})
registry.MustRegister(neighborDropCount)
registry.MustRegister(avgNeighborConnectionLifeTime)
registry.MustRegister(connectionsCount)
registry.MustRegister(minDistance)
registry.MustRegister(maxDistance)
registry.MustRegister(avgDistance)
addCollect(collectAutopeeringMetrics)
}
func collectAutopeeringMetrics() {
neighborDropCount.Set(float64(metrics.NeighborDropCount()))
avgNeighborConnectionLifeTime.Set(metrics.AvgNeighborConnectionLifeTime())
connectionsCount.Set(float64(metrics.ConnectionsCount()))
min, max, avg := metrics.AutopeeringDistanceStats()
minDistance.Set(float64(min))
maxDistance.Set(float64(max))
avgDistance.Set(avg)
}