Comments (15)
Definitely possible to use test-parameter to set the CC, but it would be
a special-casing.
See also #34 - would this be a way to achieve the comparability?
from flent.
hahahaha. great minds think alike. You beat me to thinking about it by 4 hours....
Yes. Although I have generally liked rrul and rrul_be to be non-comparable, also, when I look at a large dataset I tend to look at comparisons within those two.
I guess it also comes down to better being able to select the metadata on which multiple plots can be compared.
from flent.
I might argue that CC is special enough to be it's own reserved word or parameter, and default means of handing stuff onto netperf. I would of course like to see httping variants gain support also....
from flent.
Dave Täht [email protected] writes:
I guess it also comes down to better being able to select the metadata
on which multiple plots can be compared.
Yes, some kind of definition of what 'compatible' means is definitely
needed. Maybe explicit categorisation in test definitions? "This is a
'download' type flow"?
from flent.
Dave Täht [email protected] writes:
I might argue that CC is special enough to be it's own reserved word or
parameter, and default means of handing stuff onto netperf. I would of course
like to see httping variants gain support also....
Well I don't mind special-casing it if necessary, but if we can achieve
more with less code I'm happier ;)
from flent.
well, the simplest possible thing, adding this to netperf_definitions.inc
CC=TEST_PARAMETERS.get('CC','cubic')
and this to tcp_1up
DESCRIPTION="Single " + CC + " TCP upload stream w/ping"
didn't take the override on the command line, yielding cubic everytime.
I think your intent was that in the gui that TEST_PARAMETERS pull from the metadata on output...
and from the command line on the test itself.
from flent.
And I always worry when I see no comma here for some reason between cubic,cubic. Have always kind of figured that was messing up the other CS1,CS1 stuff. But I suppose it is just an artifact of ps....
/usr/local/bin/netperf -P 0 -v 0 -D -0.20 -4 -H netperf-west.bufferbloat.net -t TCP_STREAM -l 60 -f m -- -K cubic cubic
from flent.
Assuming I got the first part right and wasn't so dumb about how to extract the TEST_PARAMETERS, this does stick it on the command line. S
find_netperf("TCP_STREAM", LENGTH, HOST, extra_args="-- -K " + CC + "," + CC)
from flent.
Dave Täht [email protected] writes:
Assuming I got the first part right and wasn't so dumb about how to extract the
TEST_PARAMETERS, this does stick it on the command line. Sfind_netperf("TCP_STREAM", LENGTH, HOST, extra_args="-- -K " + CC + "," + CC)
Well, it would probably be better to teach find_netperf a CC parameter...
from flent.
I am still stuck at:
CC=TEST_PARAMETERS.get('CC','cubic')
My assumption was that the first arg would pull from the environment, the second be the default if not there.
from flent.
That assumption is correct. However, the keys are case folded to lowercase when taken from the command line, so you'll want
CC=TEST_PARAMETERS.get('cc','cubic')
from flent.
OK, that drives the test right. And does the right thing on single plots of each.
but it was my hope that TEST_PARAMETERS was locally scoped, so by combining reno vs cubic plots like this (modifying tcp_1up right now), I would get labels that made sense. Instead it pulls the "CC" variable from the first file pulled from for combinatory plots.
(and arguably error checking for the actual availability of the CC algo in the local system is good, which I'll go do next. I picked the wrong week to try to learn more python)
Maybe a call to "eval"? self->something?
PLOTS = o([
('totals',
{'description': 'Bandwidth and ping plot',
'type': 'timeseries',
'dual_axes': True,
'series': [{'data': 'TCP upload',
'label': TEST_PARAMETERS.get('cc','cubic')
- ' Upload'},
...
from flent.
My overall thought now is to add a new test: "tcp", with parameters to vary the cc,number of flows,and hosts, and controlling the direction on the command line as well, combined with an isochronous measurement flow and/or the existing udp+ping measurement flows.
cc=cubic,westwood,etc,etc
flows=n
hosts=x,y,z,q,etc
from flent.
Well, right now the test name is used for gauging whether two tests can
be plotted together (but this is a limitation in itself, see #34).
Some thought would have to be put into how to manage multiple tests that
are "the same" but in reality can vary wildly.
from flent.
The congestion control algorithm can be set with the tcp_cong_control test parameter.
from flent.
Related Issues (20)
- focus bug when using cursor keys
- Bug on Debian 11 HOT 2
- Feature Request: Add CPU plot to tests HOT 6
- ModuleNotFoundError: No module named 'matplotlib' HOT 1
- Blur my IP HOT 6
- WARNING: Built wheel for flent is invalid: Metadata 1.2 mandates PEP 440 version, but '2.1.1-git-d48ccab' is not HOT 2
- Output of the plots HOT 10
- Adding Fair Queuing Detection to Flent? HOT 10
- flent doesn't work with fping 5.1 HOT 1
- WARNING: Unable to build our own tight layout: 'Figure' object has no attribute '_cachedRenderer' HOT 3
- Uninstall flent 1.9.9-git-0024eb9 from macOS? HOT 1
- Blank window on start (Flent 2.1.1, macOS) HOT 4
- flent and python 3.12
- [netperf] Debian bookworm installation requires non-free and non-free-firmware in sources.list HOT 3
- UDP bursts results in an error - ERROR: No command set for SilentProcessRunner HOT 2
- Latency grade support HOT 4
- tcp_rtt plots not generated HOT 2
- Modified TOS values for RRUL test HOT 4
- udp_flood test not working HOT 1
- Run Flent with iperf HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flent.