Show HN: Sping – An HTTP/TCP latency tool that's easy on the eye (dseltzer.gitlab.io)

178 points by zorlack ↗ HN
I've frequently found myself using [nvitop](https://github.com/XuehaiPan/nvitop) to diagnose GPU/CPU contention issues.

The two best things about it are:

- It's easy to install if I can access pip in the container

- It makes a compelling screenshot (which helps me communicate with coworkers.)

With those two lessons in mind: Here is Sping!

Purpose: Help observe and diagnose latency issues at layer 4+ (TCP/HTTP/HTTPS)

Two good things about it:

- It's easy to install if you have pip. (Available at [service-ping-sping](https://pypi.org/project/service-ping-sping/) on PyPi)

- It makes a compelling screenshot.

Not sure if this is the kind of thing that anyone else would be interested in. But I've enjoyed making it and intend to keep using it.

17 comments

[ 4.4 ms ] story [ 48.3 ms ] thread
Very nice! We all really need a tool that IT can use to diagnose problems along the path. Like more user friendly nping —tr
mtr is my goto as a network engineer. tracepath and other variants can be useful as well.
Just fyi, looks like the shortened command defaults has a bug based on the docs @ https://pypi.org/project/service-ping-sping/

(i.e. # HTTP monitoring with interactive UI sping google.com )

  sping johnqdeveloper.com     
  Usage: sping [OPTIONS] URL
  Try 'sping --help' for help.
  ╭─ Error ──────────────────────────────────────────────────────────────────────╮
  │ Invalid value for '--palette': <ColorPalette.SUNSET:   'sunset'> is not one of │
  │ 'sunset', 'ocean', 'forest', 'volcano', 'galaxy', 'arctic', 'neon',          │
  │ 'monochrome'.                                                                  │
  ╰──────────────────────────────────────────────────────────────────────────────╯
I absolutely love this! What a great tool.
My favorite ping tool is fping, mainly because I can do bash expansion with it eg `fping mail{1..10}` .. very useful and saves me from doing a "for i" one-liner.

This idea is also very useful for host/dig DNS queries which I would also often previously do a one-liner for, but recently had a gpt script me a tool for it:

https://gist.github.com/jgbrwn/7dd4b262c544f750cb0291161b2ec...

Thank you looks super helpful!
Looks nice.

I would add a link to the gitlab to the page also, clicking the LICENCE brings me to the source code but other than that there did not seem to be a link .

Out of curiosity, did you use LLM's to code this? My gut feeling tells me at minimum the readme was written by one, or maybe it's normal to use emojis everywhere :-) Also I am not meaning to judge it as good or bad, I'm just curious.

I think one thing that LLM's and coding agents enables, is creating these customised solution which solve a specific problem, in a specific way. Some might consider it wasteful. I bet many thinks your effort would have been better spent contributing to one of the existing ones instead of doing yet another tool, but I find fascinating that we can finally tell our computers what we need and the will do it.

If you hand-wrote everything, then apologies for the unrelated rant :-)

> It's easy to install if you have pip. (Available at service-ping-sping on PyPi)

Consider rewriting the program in Go, then you’ll have a statically linked binary that’s much easier to install (less dependencies) and will be much faster too.

FYI: the final summary gets hidden if the graph writes a frame after the summary is output.
Beautiful and useful at the same time. Love it.
I'm a bit curious why some times like 190ms don't get even slightly highlighted as an outlier when regular traffic is clearly 125+/-5ms