Releases: tohojo/flent
Flent v2.2.0
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
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
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
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
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
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
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
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
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
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.