speedometer
TLDR
Show network traffic graph for an interface
SYNOPSIS
speedometer [OPTIONS] tap [tap...]
DESCRIPTION
speedometer displays real-time network traffic or file transfer speeds as ASCII graphs in the terminal. It reads data from network interfaces or monitors file growth, presenting the information visually with customizable scales and refresh rates.
Multiple data sources (taps) can be displayed simultaneously in columns, allowing comparison of upload/download speeds or monitoring multiple interfaces. The tool is useful for monitoring transfers, debugging network issues, and visualizing bandwidth usage.
PARAMETERS
-r interface
Monitor received bytes on network interface-t interface
Monitor transmitted bytes on network interface-f filename [size]
Track file download with optional progress bar-c
Start a new display column-i seconds
Set refresh interval (default: 1)-b
Use blocky display instead of smooth characters-l
Use linear scale instead of logarithmic-s
Show speeds in bits/second instead of bytes/second-m max
Set maximum bytes/second for chart-n min
Set minimum bytes/second for chart-k colors
Terminal color support (1, 16, 88, or 256)-p
Plain text display mode-x
Exit when file reaches expected size-z
Report zero for non-existent files
CAVEATS
Requires access to network interface statistics in /proc or /sys. Interface names vary by system (eth0, enp0s3, wlan0, etc.). Large refresh intervals may miss traffic spikes. Terminal must support the display characters being used.
HISTORY
speedometer was created as a Python script for visualizing network bandwidth. The tool provides a lightweight alternative to graphical network monitors, suitable for remote SSH sessions and headless servers. It has been available in Linux distribution repositories since the mid-2000s.


