mirror of
https://github.com/Xevion/vastly.git
synced 2025-12-05 23:16:48 -06:00
40 lines
828 B
Go
40 lines
828 B
Go
package main
|
|
|
|
import (
|
|
"time"
|
|
|
|
probing "github.com/prometheus-community/pro-bing"
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
func main() {
|
|
logger, _ := zap.NewDevelopment()
|
|
sugar := logger.Sugar()
|
|
|
|
ip := "195.0.159.206"
|
|
sugar.Info("Starting pinger")
|
|
pinger, err := probing.NewPinger(ip)
|
|
if err != nil {
|
|
sugar.Fatal("Failed to create pinger")
|
|
}
|
|
|
|
pinger.SetPrivileged(true)
|
|
pinger.Timeout = time.Millisecond * 500
|
|
pinger.Count = 1
|
|
pinger.Interval = time.Nanosecond
|
|
|
|
sugar.Info("Running pinger")
|
|
err = pinger.Run()
|
|
if err != nil {
|
|
sugar.Fatalw("Failed to run pinger", "error", err)
|
|
}
|
|
sugar.Info("Pinger finished")
|
|
|
|
result := pinger.Statistics()
|
|
if result.PacketLoss > 0 {
|
|
sugar.Warnw("Ping Failed", "ip", ip, "packetLoss", result.PacketLoss)
|
|
} else {
|
|
sugar.Infow("Ping Successful", "ip", ip, "latency", result.AvgRtt)
|
|
}
|
|
}
|