5 ms·
Gping – ping, but with a graph
- thumbuddy 3y agoLove it
- vanous 3y agoTIL it can also measure and graph the execution time for a list of commands rather than pinging hosts: host can be a command like curl google.com if the --cmd flag is used.
- westurner 3y agomtr does traceroute, too: https://en.wikipedia.org/wiki/MTR_(software) https://en.wikipedia.org/wiki/MTR_(software) : > The tool is often used for network troubleshooting. By showing a list of routers traversed, and the average round-trip time as well as packet loss to each router, it allows users to identify links between two given routers responsible for certain fractions of the overall latency or packet loss through the network.[4] This can help identify network overuse problems.[5] Scapy has a 3d visualization of one traceroute sequence with vpython. In college, I remember modifying it to run multiple traceroutes and then overlaying all of the routes; and wondering whether a given route is even stable through a complete traceroute packet sequence. https://scapy.readthedocs.io/en/latest/usage.html#tcp-traceroute-2 https://scapy.readthedocs.io/en/latest/usage.html#tcp-tracer... One way to avoid running tools that need root for crafting packets at layer 2 is to use setcap: setcap CAP_NET_RAW /use/bin/python-scapy Does traceroute inappropriately connect the dots?
- codetrotter 3y agoI run mtr using a Prometheus exporter. I think the one I am using is https://github.com/mgumz/mtr-exporter https://github.com/mgumz/mtr-exporter I have it set up to do trace routes to 1.1.1.1 and to 8.8.8.8, and then I can look at the graphs in Prometheus I was inspired to set this up on my computer after the house where the computer is at was having very unstable internet for several days. I made a video about the graphs here https://video.nstr.no/w/hjTH3Vggn2fvpTrQitMmVP https://video.nstr.no/w/hjTH3Vggn2fvpTrQitMmVP
- throwaway290 3y agoMy mind is blown by those 3D graphs. I almost want to make them dynamically drawn in a futuristic style and use that as screensaver...
- westurner 3y agoLike a WebGL VPN company logo screensaver composed of all those routes we shouldn't trust? graph-drawing gh topic lists a number of JS libraries: https://github.com/topics/graph-drawing https://github.com/topics/graph-drawing Is there a good way to make a JS screensaver that doesn't leak memory yet? Maybe WebGL could get that done
- throwaway290 3y agoMaybe. I don't know. But that link sent me to another rabbit hole, thanks:)
- jimmySixDOF 3y agoYah, MTR could do it 30 years ago so not sure whats being added here. Need to play with that 3D export thanks for sharing!
- pqdbr 3y agoReally nice that it allows you to pass a list of hosts at the same time, and it will plot them in the same graph: For instance, `gping mydomain.com google.com` is really nice for a quick sanity check (is it my Wifi or my hosting provider).
- ape4 3y agoIts a "super-power" (as the page says)
- orf 3y agoYou can also pass commands instead of hosts (for example running “curl google.com”).
- dredmorbius 3y agomtr (Matt's traceroute) is another great utility for this. It doesn't graph output, but does show connectivity , latency, packet loss, and variance on a set of hosts between your IP and the destination. <https://www.bitwizard.nl/mtr/ https://www.bitwizard.nl/mtr/> (Previously noted in this thread by westurner: <https://news.ycombinator.com/item?id=36549005 https://news.ycombinator.com/item?id=36549005>)
- ktm5j 3y agoIt does have some visualization capabilities if you hit 'd' once or twice. I think it looks nice!
- dredmorbius 3y agoThanks. I know there's a GUI version, though I'm almost always using the CLI/terminal interface myself. So I could be missing some things.
- oxygen_crisis 3y agoThe charting display mode is a CLI/terminal feature, though, not a GUI one.
- petercooper 3y agoI found this useful when trying to diagnose what I thought was a flaky wifi network. Visually seeing both dimensions when something is only subtly broken makes life a lot easier.
- doersino 3y agoVaguely related (also “ping, but with a graph”, but different): https://github.com/denilsonsa/prettyping https://github.com/denilsonsa/prettyping
- guptarohit 3y agoToday i was working to add multiline plot support to cli of asciigraph, using that it’s possible to do something very similar. Post showing multiline plot of ping to multiple hosts: https://mastodon.social/@guptarohit/110638311512899264 https://mastodon.social/@guptarohit/110638311512899264
- DavideNL 3y agoPrevious related discussion: https://news.ycombinator.com/item?id=26904588 https://news.ycombinator.com/item?id=26904588
- metadaemon 3y agoGoing makes me think of Google, graping would have been a fun name.
- loloquwowndueo 3y agoIf you squint hard enough “graping” also looks like it’s a google thing. But hey - Google does not own the letter G ;)
- jflitt 3y agoAwesome! Thanks for building this and sharing. I did something similar https://github.com/jflittner/ping_visualizer https://github.com/jflittner/ping_visualizer not too long ago, but yours looks way better!
- LinuxBender 3y agoI like the graph and being able to use multiple hosts. I could see some benefit to creating bash functions that use gping + cmd + curl since HTTPS will be reachable in more places than ICMP which is often blocked at the last few hops past a datacenter firewall and ICMP numbers can be misleading since most operating systems rate limit it and most routers deprioritize it based on backplane CPU load which has no bearing on the ability to forward packets. I noticed that if I used "-4" with a host that has both ipv4 and ipv6 addresses it still pings the ipv6 address despite displaying the ipv4 address. Do others here experience that? I'm on version 1.8.0.
- deleted 3y ago[deleted]
- 29athrowaway 3y agoSee also: - ministat - gnuplot - https://www.brendangregg.com/dtkshdemos.html https://www.brendangregg.com/dtkshdemos.html
- __failbit 3y agoReally cool! I love the terminal based graphics
- deleted 3y ago[deleted]
- betaby 3y agoRelated and very important https://www.cloudflare.com/learning/network-layer/what-is-mtr/ https://www.cloudflare.com/learning/network-layer/what-is-mt... Make sure you understand what MTR actually shows and why.
- simonmales 3y agoBrilliant, I'm often on shitty WiFi and have a terminal opening pinging somewhere. This is what I have been locking for to troubleshoot.
- DrPhish 3y agoI love gping, but wish there was more of an in-depth info/manpage. The one it ships with doesn't explain much (What's t/o, for example? How are things calculated?), and the github page doesn't help much either.
- orf 3y agoYeah, this is definitely something I want to improve on. The project is used a lot more than I originally expected, so documentation is a bit scarce. t/o is timeouts by the way
- _8j50 3y agoSmokeping does this, but with webui, if it is still around that is.
- dale_glass 3y agoFeature request: sound. On the rare occasion I need feedback while messing around with cabling. I did write an improvised tool for the purpose, but it's kind of crappy in that it's just around ping. Behold the power of 'pingu': https://pastebin.com/qTfdZ7C8 https://pastebin.com/qTfdZ7C8
- oxygen_crisis 3y agoThe standard ping utility already has audible ping with "-a", it emits a terminal bell sound for every reply.
- orf 3y agoCould you add a GitHub issue with this suggestion? I like it and I can definitely see if I can add it!
- nomel 3y agoOff topic, but it seems that we’ve really stagnated, on the terminal front, especially considering how many clients have full GPU acceleration these days. How has there not been some basic image/data steaming built in, after all of these decades? Why am I writing scripts that parse human text output?
- jmholla 3y agoThere's sixel[0], but not every terminal supports it. [0]: https://en.m.wikipedia.org/wiki/Sixel https://en.m.wikipedia.org/wiki/Sixel
- aflag 3y agoBecause you can | grep text output and that's great.
- MereInterest 3y agoIf you want to have a program that outputs binary data to stdout, then accept binary data on stdin, there’s no reason not to. It isn’t the standard for historical reasons, and because text is easier to bootstrap from manually-inspected results into a script. For example, the easiest way I’ve found to render generated images into a gif or mp4 is to pipe a sequence of ppm-encoded images into ffmpeg.
- sacnoradhq 3y agoIn the olden days before IPv6, geoip of IPv4 used to work and there was traceroute-like utility on Windows that could plot IPs on maps called NeoTrace Pro. IIRC, it also included something of a ping map where it would reping every middlebox. Nowadays, not all middleboxes respond and there is often too much carrier overlaying and SDN flow management for IPs to map to any specific physical location like it were a land phone line when every little company bought a Class C and put their business phone number in the ARIN database.
- plingbang 3y agoThe plot looks a bit weird when I ping my server ;) gping ftlping.net
- mattsimpson 3y agoThis immediately made it into my toolbox. Very handy; thanks for the work and the post.
- stringtoint 3y agoVery cool, thanks for sharing!
- pabs3 3y agoI note that gping is now in Debian.
- NoZebra120vClip 3y agoI miss "bing" which was not a search engine, but a "stochastic bandwidth measurement tool". It could tell you the bandwidth between any two network links regardless of limited bandwidth between you and the targets. I could measure T-3 or OC-48 backbone link speeds while I myself was connected, several hops away, on a 33.6Kbps modem link. It did not last long and it seemed to be abandoned, and popular Linux distros stopped carrying it as a package. I'm not aware of another tool that can perform the same measurements.
- Deuterium 3y agoI have a quick and dirty CLI that just runs `ping` in a loop and repeats on the terminal proportional to the ping time. It's fantastic and I use it all the time. I also have it update the terminal title so it's useful even if it's not in focus.