Properly support PacketLoss and export as metric
This commit is contained in:
parent
33409f275e
commit
4ad2495de0
11
main.go
11
main.go
@ -54,6 +54,13 @@ var (
|
||||
},
|
||||
labels,
|
||||
)
|
||||
packetLoss = prometheus.NewGaugeVec(
|
||||
prometheus.GaugeOpts{
|
||||
Name: "isp_packet_loss",
|
||||
Help: "The packet loss of the network",
|
||||
},
|
||||
labels,
|
||||
)
|
||||
|
||||
listenPort uint16
|
||||
listenAddr string
|
||||
@ -92,7 +99,7 @@ type SpeedTestResult struct {
|
||||
Jitter float64
|
||||
}
|
||||
}
|
||||
PacketLoss int
|
||||
PacketLoss float64
|
||||
ISP string
|
||||
Interface struct {
|
||||
InternalIP string
|
||||
@ -121,6 +128,7 @@ func init() {
|
||||
prometheus.MustRegister(uploadSpeed)
|
||||
prometheus.MustRegister(downloadSpeed)
|
||||
prometheus.MustRegister(pingLatency)
|
||||
prometheus.MustRegister(packetLoss)
|
||||
|
||||
if lpEV, ok := os.LookupEnv(listenPortEnvVar); !ok {
|
||||
listenPort = defaultListenPort
|
||||
@ -215,6 +223,7 @@ func runTest() {
|
||||
uploadSpeed.WithLabelValues(labelVals...).Set(uploadBandwidth)
|
||||
downloadSpeed.WithLabelValues(labelVals...).Set(downloadBandwidth)
|
||||
pingLatency.WithLabelValues(labelVals...).Set(result.Ping.Latency)
|
||||
packetLoss.WithLabelValues(labelVals...).Set(result.PacketLoss)
|
||||
}
|
||||
|
||||
func main() {
|
||||
|
Loading…
Reference in New Issue
Block a user