The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

ekgping - Electrocardiograph-like visual and audible ping

SYNOPSIS

ekgping [-q] [-ba|-bd] [-t timeout] [-f file] host [-- ping options]

VERSION

version 1.3

DESCRIPTION

ekgping pings a host. Unlike ping(1), it does not output text, but instead displays the results in a visual and audible manner, somewhat similar to an electrocardiograph (short ECG / EKG).

It displays a line on the whole width of the terminal. By default, the line is flat ("_"). Everytime a pong gets in, a spike ("^" or "-", depending on RTT) is drawn.

Also, everytime a pong is received, a short beep is played. If the host does not respond for a few seconds (i.e. is unreachable/dead), ekgping produces a continuous beep until the host is reachable again.

If specified, ping options are passed on to ping(1). Note that ekgping does not look at them - if they change the output format or set the ping interval too high, ekgping will break.

OPTIONS

-b, --beep-when alive|dead|both

Only play beeps when the host is alive (the short beeps) or dead (the long flatline beep). Defaults to both, meaning any beep will be played.

You can also use the first letter of the argument, like -ba instead of --beep-when alive.

-f, --beep-file file

Play file instead of the default beeps. May be any sound / music file

-q, --quiet

Do not play beeps, visual output only

-t, --timeout seconds

Set ping timeout. If no pong was received in this time, ekgping will emit a continuous beep. Accepts a floating point value, defaults to 3.0.

Note that setting this lower than the ping interval (which defaults to 1 second) does not make much sense, unless you want longer beeps per pong.

-V, --version

Show version information and exit

EXIT STATUS

Zero.

CONFIGURATION

None.

DEPENDENCIES

  • ping(1)

  • File::ShareDir(3pm)

  • IPC::Run(3pm)

  • SDL(3pm)

  • Term::Size(3pm)

BUGS AND LIMITATIONS

ekgping parses the output of ping(1), which means it assumes a certain output style. It will only work with ping(1) programs whose ping -n output matches "<digit> bytes from <ip>: icmp_req=<digit> ttl=<digit> time=<float>".

There have been reports about ekgping randomly skipping beeps. This might be an SDL problem, use ekgping -t 0.8 as workaround.

AUTHOR

Copyright (C) 2011 by Daniel Friesel <derf@finalrewind.org>

LICENSE

  0. You just DO WHAT THE FUCK YOU WANT TO.