Skip to content

Instantly share code, notes, and snippets.

@alkuzad
Created September 7, 2021 12:10
Show Gist options
  • Save alkuzad/b816cb0b4c325b0e13de80acc964550a to your computer and use it in GitHub Desktop.
Save alkuzad/b816cb0b4c325b0e13de80acc964550a to your computer and use it in GitHub Desktop.
package main
import (
"github.com/go-ping/ping"
"fmt"
"time"
)
func main() {
pinger, err := ping.NewPinger("www.wp.pl")
if err != nil {
panic(err)
}
calcInterval := time.Duration(1.0 * float64(time.Second))
pinger.Interval = calcInterval
pinger.SetPrivileged(true)
pinger.Size = 56
pinger.Count = 1
pinger.OnFinish = func(stats *ping.Statistics) {
fmt.Printf("\n--- %s ping statistics ---\n", stats.Addr)
fmt.Printf("%d packets transmitted, %d packets received, %v%% packet loss\n",
stats.PacketsSent, stats.PacketsRecv, stats.PacketLoss)
fmt.Printf("round-trip min/avg/max/stddev = %v/%v/%v/%v\n",
stats.MinRtt, stats.AvgRtt, stats.MaxRtt, stats.StdDevRtt)
}
err = pinger.Run() // Blocks until finished.
if err != nil {
panic(err)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment