Skip to content

Getting Started

Pete Heist edited this page Nov 29, 2024 · 4 revisions

Installation

  1. Install Go (1.21 or later required)
  2. mkdir -p ~/go/src/github.com/heistp && cd $_
  3. git clone https://github.com/heistp/antler
  4. cd antler
  5. make (builds node binaries, installs antler command)

To run antler, the binary must be in your PATH, or the full path must be specified. Typically, you add ~/go/bin to your PATH so you can run binaries installed by Go.

Note: if using sudo and the secure_path option is set in /etc/sudoers, a symlink to antler may be created in /usr/local/bin, e.g. sudo ln -s /home/user/go/bin/antler /usr/local/bin.

Quick Start

Choose a project name and replace "name" with yours below. Either it must be a valid Go package name (letter { letter | unicode_digit }), or it will be converted to one for use as the CUE package name.

  1. mkdir name && cd $_
  2. antler init
  3. antler list (optional, parses config and lists the one "mix" test)
  4. sudo antler run

antler run will create and configure namespaces, run the tests, and produce an index.html file with links to the results. Expect this two take around two minutes. After the run is complete, open results/latest/index.html in a browser to find two tests with links to the time series plots, log files, system info and pcaps. You will notice that each test run gets a dated directory name under the results directory, and that latest is a symlink that always points to the latest result.

The included test, named "mix", shows competition between TCP CUBIC and TCP BBR at a chosen RTT, while a background UDP flow runs with periodic bursts of eight MTU-sized packets. In name.cue (where name is your package name), note how a CUE list comprehension is used to generate a list of two tests with RTTs of 10 and 20 ms.

Play with any of the parameters in the CUE files to see how they change the results. When re-running the test after a config change, use sudo antler run -a to ensure all the tests is re-run (see Running Tests for additional info).

This gives a sense of what Antler can do!