excess.org

Ian Ward

Consulting
Boxkite Inc.
Software
Urwid 2014-02-09 (1.2.0)
Speedometer 2011-12-08 (2.8)

Writing
Moving to Python 3
2011-02-17

Presentations
Urwid Applications
2012-11-14
Urwid Intro
2012-01-22
Unfortunate Python
2011-12-19
Django 1.1
2009-05-16
Article Tags

Home

Ian Ward's email:
first name at this domain

wardi on OFTC, freenode and github

Locations of visitors to this page

Speedometer 2.8

Purpose

Measure and display the rate of data across a network connection or data being stored in a file.

Source

Current version is 2.8

Version 2.8 download tarball

Mercurial repository: https://excess.org/hg/speedometer/

Github mirror: https://github.com/wardi/speedometer

Screenshots

screenshot with dark transparent backgrounds screenshot with light background screenshot of 256 color mode screenshot of monochrome mode

Installation

Debian or Ubuntu

apt-get install speedometer

Others

Download and install Urwid (recommended).

Download the speedometer source.

As root issue the following commands in the directory that you downloaded the source file:

cp speedometer.py /usr/local/bin/speedometer
chown root: /usr/local/bin/speedometer
chmod 755 /usr/local/bin/speedometer

Usage

Usage: speedometer [options] tap [[-c] tap]...
Monitor network traffic or speed/progress of a file transfer.  At least one
tap must be entered.  -c starts a new column, otherwise taps are piled
vertically.

Taps:
  -f filename [size]          display download speed [with progress bar]
  -r network-interface        display bytes received on network-interface
  -t network-interface        display bytes transmitted on network-interface
  -c                          start a new column for following tap arguments

Options:
  -b                          use old blocky display instead of smoothed
                              display even when UTF-8 encoding is detected
                              (use this if you see strange characters)
  -i interval-in-seconds      eg. "5" or "0.25"   default: "1"
  -k (1|16|88|256)            set the number of colors this terminal
                              supports (default 16)
  -l                          use linear charts instead of logarithmic
                              you will VERY LIKELY want to set -m as well
  -m chart-maximum            set the maximum bytes/second displayed on
                              the chart (default 2^32)
  -n chart-minimum            set the minimum bytes/second displayed on
                              the chart (default 32)
  -p                          use original plain-text display (one tap only)
  -s                          use bits/s instead of bytes/s
  -x                          exit when files reach their expected size
  -z                          report zero size on files that don't exist
                              instead of waiting for them to be created

Usage Examples

How long it will take for my 38MB transfer to finish?

speedometer favorite_episode.rm $((38*1024*1024))

How quickly is another transfer going?

speedometer dl/big.avi

How fast is this LAN?

host-a$ cat /dev/zero | nc -l -p 12345

host-b$ nc host-a 12345 > /dev/null 
host-b$ speedometer -rx eth0

How fast is the upstream on this ADSL line? (start an upload first)

speedometer -tx ppp0

How fast can I write data to my filesystem? (with at least 1GB free)

dd bs=1000000 count=1000 if=/dev/zero of=big_nothing &
speedometer big_nothing

Changelog

Speedometer 2.8 - 2011-12-08

Speedometer 2.7 - 2010-11-08

Speedometer 2.6 - 2008-05-30

Speedometer 2.5 - 2007-10-20

Speedometer 2.4 - 2006-04-09

Speedometer 2.3 - 2006-03-08

Speedometer 2.2 - 2005-12-27

Speedometer 2.1 - 2005-11-05

Speedometer 2.0 - 2005-10-21

Speedometer 1.4 - 2003-07-18

Speedometer 1.3 - 2003-05-19

Speedometer 1.2 - 2003-03-21