Show HN: TUI to attribute experiment slowdown to shared-server congestion

lennart-rth1 pts0 comments

server-spy - system congestion tracker for shared servers

What it monitors

find out which of your experiments got slowed down and why

server-spy classifies your experiment processes with a simple name or regex filter, then records everything that happens around them

▁▃▆

Live congestion

CPU overload, RAM exhaustion, disk I/O bottlenecks, scheduler waiting times.

▰▱▰

Resource utilization

How CPU and memory are split between your workers and everything else.

Experiment runs

One row per distinct parameter combination you are running: wall time, CPU time, wait, peak RSS, PSI stall penalty.

Who is slowing you down

Which users on the machine consumed resources during your run and the exact processes behind it.

Detach & reattach

The daemon keeps recording in the background. Close the TUI, come back later, attach again.

Save & load

Snapshots in plain CSV.

Install

A single self-contained Linux binary. No runtime dependencies. Installable on user-level — no sudo required.

Quick install

$ curl -fsSL https://raw.githubusercontent.com/lennart-rth/server-spy/master/install.sh | sh<br>copy

PlatformCommandDetails<br>Debian / Ubuntucurl -fsSL https://lennart-rth.github.io/server-spy/install-apt.sh | sudo shapt repository<br>Nix / NixOSnix run github:lennart-rth/server-spy<br>Fedora / RHELrpm -Uvh server-spy--1.x86_64.rpmdownload from GitHub releases<br>crates.iocargo install server-spy<br>static binaryserver-spy--x86_64-unknown-linux-musl.tar.gzdownload from GitHub releases

Quick start

Select your experiment processes - press f, to filter for your experiment runs using regex or simple matching.

Monitor - Watch who and what is slowing down your experiments.<br>We classify all your different runs based on their parameters and show for each of them how much they are affected by resource congestions.

Detach - Detach the TUI. server-spy continues to collect the data in the background. You can connect again any time.

fupdate the worker filter (with live preview)<br>s / lsave / load snapshots to disk<br>qterminate - stop the background daemon and exit<br>ddetach - exit, the daemon keeps recording<br>rrestart recording<br>tstealth mode - rename the processes so ps/top show something innocuous for others

server experiment install processes github show

Related Articles