Skip to content

Releases: tohojo/flent

Flent v2.2.0

10 Sep 15:17
v2.2.0
e8a65a3
Compare
Choose a tag to compare

Changes since v2.1.1 include:

  • Support capturing and plotting CPU usage for individual CPUs instead of just a total.

  • Don't pass control_host values to IPv6 UDP_RR tests, as netperf doesn't support them.

  • Improve the GUI error message if matplotlib is not installed and when no tabs are open.

  • Fix compatibility with newer versions of Iperf2.

  • Fix a bunch of deprecation warnings and backwards compatibility issues with various Python and Matplotlib versions.

  • Fix some crashes in the GUI.

Flent v2.1.1

02 Nov 00:33
v2.1.1
3e71aca
Compare
Choose a tag to compare

Released on 2022-11-02.

Changes since v2.1.0 include:

  • Fix crash on summary output when numpy is not installed.

Flent v2.1.0

01 Nov 23:52
v2.1.0
1b6a72f
Compare
Choose a tag to compare

Released on 2022-11-02.

The main changes in this release are some reworking of process forking and
output parsing to make it scale better, improving performance with tests with
many runners. Another notable performance improvement is the addition of a cache
for the lookup of runner binaries.

Changes since v2.0.1 include:

  • Add --irtt-sampling-interval parameter to run irtt at a different sampling
    interval than the rest of the test.

  • Add 99th percentile data to text-based output formats (like the default
    summary after running a test).

  • Add --test-payload option to support sending custom data files as the TCP
    payload in netperf tests.

  • Add caching of the results of looking up and probing the binaries used by the
    various runners to speed up test startup especially when using the remote
    launch feature to run binaries over ssh. By default the cache is only kept in
    memory (for a single run of 'flent'), but it can be made persistent with the
    --cache-file argument.

  • Rework the process forking used to fork off processes to run the test
    utilities. This significantly speeds up running tests with many flows, to the
    point where it's now possible to spawn 1000 runner subprocesses on a
    moderately powerful laptop.

  • Offload runner output parsing to parallel subprocesses, meaning that runner
    output parsing can take advantage of all available cores. This is only enabled
    on Linux as the multiprocessing module is a bit flaky, leading to hangs, on
    OSX.

  • Fix several issues with ping and fping when using --local-bind

  • Fix some issues with parsing the output of 'ss', and share the parsing output
    so the output data is only parsed once when getting the output of multiple
    flows.

  • Make sure to pass the right options to force irtt to use the same IP version
    as the rest of the test utilities.

  • Fix parsing of D-ITG output.

  • Fix an annoying crash when starting a test from the GUI.

Flent v2.0.1

24 Jun 22:03
v2.0.1
5f0dfaa
Compare
Choose a tag to compare

Released on 2021-06-24.

Changes since v2.0.0 include:

  • Fix globbing in plot and test definitions so it works on newer Python
    versions

  • Don't hang forever while trying to process invalid time series data, and
    check fping timestamp output before using it (fixes a hang bug when using
    certain versions of fping on BSD and OSX)

  • Don't crash on metadata collection if hexdump is not available on the system.

  • Clarify that the Flent license doesn't apply to its output

Flent v2.0.0

14 Jan 19:19
v2.0.0
23c1829
Compare
Choose a tag to compare

Released on 2021-01-14.

This release drops support for Python 2 and Qt4, and associated older versions
of matplotlib. The major version bump is to signify this change; otherwise
consider this a (long overdue) regular incremental release over v1.3.0.

Changes since v1.3.0 include:

  • Drop support for Python 2; the minimum required Python version is now 3.5.

  • Drop support for old versions of libraries. The minimum supported version of
    matplotlib is 1.5, and for the GUI, Qt 5 is required, using either PyQt or
    PySide2. A new dependency on the 'QtPy' package is added to support both Qt
    bindings.

  • Add parsing of WiFi device information as extended metadata (from Emilly
    Albuquerque).

  • Add the ping_markings test parameter for setting DSCP values on ping flows.

  • Add new plot types to rrul_be, tcp_nup and related tests (from Pete Heist).

  • Add multiple-inheritance support for batch files (from Pete Heist).

  • Support running multiple instances of http-getter for HTTP tests, by supplying
    the --http-getter-urllist option multiple times.

  • Add new rrul_var test where the number of bidirectional streams can be
    configured via the bidir_streams test parameter.

  • Support output of aggregate statistics per series also in csv format (via the
    'stats_csv' formatter).

  • Make sure all underlying tools use the same values for symbolic diffserv
    markings by parsing the symbolic names into numeric values before passing them
    down to the tools.

  • Support specifying custom symbolic diffserv markings using the --marking-name
    options. This can be used to specify site-specific names for diffserv markings
    (e.g., 'gaming') that can then be used when running a test.

  • Support specifying the same hostname multiple times (for tests that take
    multiple targets). Previously, this could only be achieved by using different
    hostnames that all resolve to the same IP address; now, Flent will accept the
    same hostname multiple times, but will turn append a number after two slashes
    ('//N') to the display of the hostname when doing so.

  • Support ranges and wildcards in the --remote-hosts parameter for running test
    runners remotely via SSH. For instance '--remote-host=1-3=host1' will run the
    first three runners on 'host1', or '--remote-host=*=host2' will run all
    runners on host2. If both concrete numbers (or ranges) and the wildcard are
    specified, the concrete numbers will take precedence.

  • Fix several bugs related to plotting, the loading of old data files and RC
    files, running of commands etc.

Flent v1.3.2

27 Nov 10:09
v1.3.2
be613fd
Compare
Choose a tag to compare

Released on 2019-11-26.

This is a bugfix-only release of the 1.3 series of Flent.

Changes since v1.3.0 include:

  • Fix calculation of pacing and delivery rate

  • Make sure series metadata is saved properly

  • Try to kill subprocesses with SIGINT before sending SIGTERM

  • Also try to parse stderr of runners; fixes issues with missing fping aggregate
    statistics.

  • Fix summary output with median values.

  • Fix 'make test' which broke from partial bugfix backport

Flent v1.3.0

09 Jul 15:49
v1.3.0
a139e6a
Compare
Choose a tag to compare

Released on 2019-07-09.

Note that this will be the last release with Python 2 support!

Changes since v1.2.2 include:

  • New --data-cutoff parameter filter data outside a specified time interval when
    plotting or formatting. This is useful for, e.g., showing flow behaviour after
    steady state has been reached for long-running tests.

  • New cc_algos test parameter to set per-flow congestion control algorithm being
    used by Netperf for TCP flows.

  • Storing lots more metadata from Netperf data series, including total elapsed
    time, total bytes sent and received and reported TOS.

  • Fixes to plot label override settings.

  • Option to copy metadata to clipboard from GUI right-click menu.

  • Support for passing DSCP mark values to Iperf.

  • Lots of bug fixes, mostly in the plotting and display code. And better test
    coverage to hopefully prevent things regressing again.

  • Addition of .appdata.xml file for the GUI, and an RPM spec file for packaging
    on RPM-based distros.

Flent v1.2.2

17 Apr 11:11
v1.2.2
59b3afe
Compare
Choose a tag to compare

Changes since v1.2.1 include:

  • Add workaround for the new timeout behaviour in fping v4.0, which
    would result in no ping data being recorded.

  • Fix plotting bugs where the idle period at the start and end of tests
    were not removed from aggregate plots in single-flow TCP tests.

  • Add missing {bar,box}combine{up,down} plots to RRUL test.

  • Fix filtering of combination plot filenames and make sure legends are
    filtered in box plot ticklabels.

  • Add voip_marking test parameter to set diffserv marking for VoIP
    flows.

  • Add udp_flood_var_up_staggered test that runs multiple UDP flood flows
    with staggered start times.

Flent v1.2.1

04 Apr 10:34
v1.2.1
c0c19df
Compare
Choose a tag to compare

Changes since v1.2.0 include:

  • Fix DSCP handling for irtt flows.

  • Fix several crashes in the GUI.

  • Fix handling of empty data series and several potential crashes in the
    plotting code.

  • Fix potential crash in metadata gathering and add timeout to commands.

  • Add several missing plots to various tests.

Flent v1.2.0

06 Feb 17:22
v1.2.0
df1a5df
Compare
Choose a tag to compare

Changes since v1.1.1 include:

  • Add support for the irtt binary (https://github.com/peteheist/irtt/)
    for isochronous UDP latency tests. If irtt is available in $PATH, it
    will be preferred over netperf for UDP RTT tests and over D-ITG for
    VoIP tests. This means that UDP latency tests will no longer use more
    bandwidth as the RTT decreases, and VoIP tests are easier to setup.
    Many thanks to Pete Heist for writing the irtt tool.

    As part of this change, a generic facility for runner preferences has
    been added, which makes it possible to define a test in terms of
    higher level functionality and let Flent pick the best available
    underlying tool to run the test. For now this is only used in the
    cases mentioned above for irtt.

  • Add a configurable option for overriding the colour mode for plots.
    This makes it possible to change how colours are assigned to different
    data series.

  • Improve handling of multi-value options between batch files, rc file
    and command line. This means that multi-value options can now use both
    comma and semicolon as separators in the batch file, and values can be
    quoted to prevent splitting.

  • Drop compatibility with matplotlib versions earlier than 1.4.2. Using
    older versions resulted in spurious errors anyway, and it is too much
    backporting work to support them properly.

  • Fix batch mode logging to make sure a log file for a batch run only
    includes log lines from that run and not previous runs.

  • Fix several bugs in the plotting and runner code.