★★★ WELCOME 2 ~~*~~ Jessica's Homepage ~~*~~ ★★★    ♪♫ NOW PLAYING: Darude - Sandstorm.mid ♫♪    ⚠ ALWAYS UNDER CONSTRUCTION ⚠    ☆ SIGN MY GUESTBOOK!!!! ☆    ★★★ WELCOME 2 ~~*~~ Jessica's Homepage ~~*~~ ★★★
~~*~~ Jessica's Homepage ~~*~~
Computer Engineer. 20 Years. Portland, OR.
Welcome! Under Construction ★ Always updating! ★ NEW! Under Construction
BetaTool
2019 C Linux TCP/IP POSIX   [VISIT SITE ↗]

BetaTool is a lightweight TCP connection diagnostics utility for Linux that does one thing: tells you exactly why your connection is behaving the way it is.

The Problem It Solves

I was doing network performance work on a system where the standard tools — netstat, ss, tcpdump — gave me data but not answers. I needed something that would watch a connection over time and tell me, in plain terms, whether I was looking at a congestion problem, a routing problem, a kernel buffer problem, or operator error.

There was nothing that did exactly that, so I wrote it.

How It Works

BetaTool attaches to a specified socket and reads TCP socket metrics from the kernel on a configurable interval. It formats them into a human-readable stream that shows RTT, retransmit rate, send/receive buffer utilization, and congestion window state. When something looks anomalous it flags it.

It uses the TCP_INFO socket option which has been in Linux since 2.4 but which almost nobody reads directly because parsing the struct is tedious. BetaTool does the parsing.

What It's Actually Useful For

  • Figuring out whether slow application performance is the network's fault or the application's fault
  • Verifying that TCP tuning changes (buffer sizes, congestion algorithms) are having the intended effect
  • Debugging WAN performance issues where you can't run a packet capture

Status

Used in production by more people than I expected when I put it on GitHub. 847 stars as of writing. I still maintain it because the bugs people report are interesting.


✦ thanks for visiting!! come back soon!! ✦     [CTRL+D] bookmark this page RIGHT NOW     ★ link exchange? email me!! ★     member of 4 webrings!!     this page looks weird in IE and that is intentional     ✦ thanks for visiting!! come back soon!! ✦