Skip to content

JitterTrap is a measurement and impairment tool for developers of latency-sensitive applications and devices.

License

Notifications You must be signed in to change notification settings

acooks/jittertrap

Repository files navigation

JitterTrap

Coverity Status Build Status Code Climate

JitterTrap is a network measurement and impairment tool for developers of real-time applications and devices.

It has two broad areas of use:

  • detection and measurement of unexpected delays, introduced by the device or application under test. That is, characterising the source behaviour with respect to throughput, packet rates, jitter.
  • introducing and controling known network impairment conditions (eg. delay, jitter, packet loss) to verify the correct operation of the device or application under test. That is, characterising the behaviour of the destination, with respect to delay, jitter and loss.

The user interface is implemented as a web application. Have a look at the demo hosted on a t2.micro instance at AWS Sydney. (Performance is highly variable.)

Or try this old demo video: Demo Video

Help is available from [email protected], or create a github issue.

Installing JitterTrap

We're aiming to release packages for Fedora, Ubuntu and OpenWRT and would appreciate help with that.

Building JitterTrap

Dependencies

Fedora

Build dependencies:

sudo dnf install libnl3-devel jansson-devel libwebsockets-devel libpcap-devel

Run-time dependencies:

sudo dnf install libnl3 jansson libwebsockets libpcap

Ubuntu

Build dependencies:

sudo apt-get install libnl-3-dev libnl-route-3-dev libnl-genl-3-dev libjansson-dev libwebsockets-dev libncurses5-dev libpcap-dev pkgconf

Run-time dependencies:

sudo apt-get install libnl-3-200 libnl-route-3-200 libnl-genl-3-200 libjansson4 libwebsockets6

Compiling JitterTrap

Fetch:

git clone https://github.com/acooks/jittertrap.git

Build:

cd jittertrap
make

Run:

sudo ./server/jt-server --port 8080 --resource_path html5-client/output/

Now point your web browser to the user interface, eg. http://localhost:8080/