google.com sudo run

This commit is contained in:
bel
2026-06-08 13:35:31 -06:00
commit 366857d58a
3 changed files with 77 additions and 0 deletions

51
main.go Normal file
View File

@@ -0,0 +1,51 @@
package main
import (
"flag"
"fmt"
"os"
"time"
"github.com/go-ping/ping"
)
func main() {
if err := run(); err != nil {
panic(err)
}
}
func run() error {
fs := flag.NewFlagSet(os.Args[0], flag.ContinueOnError)
domain := fs.String("d", "www.google.com", "address to ping")
c := fs.Int("c", 0, "limit pings")
if err := fs.Parse(os.Args[1:]); err != nil {
return err
}
pinger, err := ping.NewPinger(*domain)
if err != nil {
return err
}
pinger.Count = *c
pinger.SetPrivileged(true)
fmt.Printf("ts,n,ok_pct,max,avg,stddev\n")
pinger.OnRecv = func(*ping.Packet) {
stat := pinger.Statistics()
fmt.Printf("%s,%d,%.0f%%,%dms,%dms,%dms\n",
time.Now().UTC().Format("2006-01-02T15:04:05Z"),
stat.PacketsRecv,
100.0*(1.0-stat.PacketLoss),
stat.MaxRtt.Milliseconds(),
stat.AvgRtt.Milliseconds(),
stat.StdDevRtt.Milliseconds(),
)
}
if err := pinger.Run(); err != nil {
return err
}
return nil
}