Nombre total de pages vues

vendredi 9 décembre 2011

Speedometer

Here is an interesting project that permits to display and measure the rate of data across a network connection or data being stored in a file. This tool is named Speedometer. He needs python 2.6 (or higher) to operate.
We're gonna see how to install it and use it. It's really easy !

For Debian based distros, simply launch:
apt-get install speedometer
For others distros (like us with CentOS), We first have to download and install Urwid:
cd /downloads
wget http://excess.org/urwid/urwid-1.0.1.tar.gz
tar -xvzf urwid-1.0.1.tar.gz
cd urwid-1.0.1
python setup.py install
Then we can install Speedometer like this:
cd /downloads
wget http://excess.org/speedometer/speedometer-2.8.tar.gz
tar -xvzf speedometer-2.8.tar.gz
cp speedometer.py /usr/local/bin/speedometer
chown root: /usr/local/bin/speedometer
chmod 755 /usr/local/bin/speedometer
That's all ! Now, let's see the help command of this little tool:
[root@localhost ~]$ speedometer
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

Note: -rx and -tx are accepted as aliases for -r and -t for compatibility
with earlier releases of speedometer.  -f may be also omitted for similar
reasons.

Python Version: 2.7
Urwid >= 0.9.9.1 detected: yes  UTF-8 encoding detected: yes
To display live RX traffic on eth0 network interface, simply launch (press 'q' to quit):
speedometer -rx eth0
To display live TX traffic on eth0 network interface, launch:
speedometer -tx eth0

Here's some usage examples given on Speedometer Web page:

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
To finish, let me show you some screenshots that we can see on Speedometer Web page:

Link to Speedometer Web page: http://excess.org/speedometer/

3 commentaires:

  1. The suggested way to install on CentOS 5.6 Linux is not working there is an error which requires update of python.
    Please see here - http://www.pc-freak.net/blog/text-monitoring-of-connection-server-traffic-rx-tx-business-in-ascii-graphs-with-speedometer-easy-monitor-network-traffic-performance/

    RépondreSupprimer
  2. "yum -y install python-setuptools" command is missing. Thanks for feedback.

    RépondreSupprimer