tohojo / flent

The FLExible Network Tester.
https://flent.org
Other
431 stars 77 forks source link

doesn't run on windows #233

Open luochongjun opened 3 years ago

luochongjun commented 3 years ago

In win10 environment running flent, the following error appears, is it possible to fix?

[D:\]$ flent rrul -p ping_cdf -l 60 -H netperf.bufferbloat.net -t text-to-be-included-in-plot -o filename.png
Starting Flent 2.0.1 using Python 3.8.0.
Starting rrul test. Expected run time: 70 seconds.
Traceback (most recent call last):
  File "e:\python38\lib\runpy.py", line 192, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "e:\python38\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "E:\python38\Scripts\flent.exe\__main__.py", line 9, in <module>
  File "e:\python38\lib\site-packages\flent\__init__.py", line 60, in run_flent
    b.run()
  File "e:\python38\lib\site-packages\flent\batch.py", line 618, in run
    return self.run_test(self.settings, self.settings.DATA_DIR, True)
  File "e:\python38\lib\site-packages\flent\batch.py", line 515, in run_test
    res = self.agg.postprocess(self.agg.aggregate(res))
  File "e:\python38\lib\site-packages\flent\aggregators.py", line 237, in aggregate
    measurements, metadata, raw_values = self.collect()
  File "e:\python38\lib\site-packages\flent\aggregators.py", line 110, in collect
    signal.signal(signal.SIGUSR1, handle_usr1)
AttributeError: module 'signal' has no attribute 'SIGUSR1'
luochongjun commented 3 years ago

flent version

[D:\]$ flent --version
Starting Flent 2.0.1 using Python 3.8.0.
Flent v2.0.1.
Running on Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:21:23) [MSC v.1916 32 bit (Intel)].
Using matplotlib version 3.4.3 on numpy 1.19.0.
No usable Qt version found. GUI won't work.
tohojo commented 3 years ago

That particular error may be fixable, but there will be others: running tests on windows is not supported, only viewing existing data files.

You should be able to run tests from inside a WSL environment, though. See https://docs.microsoft.com/en-us/windows/wsl/about

mpenning commented 6 months ago

@tohojo what would it take to get flent working under Windows? The ability to get good network test automation under non-WSL Windows would be super helpful...

Running under WSL means there is an intervening Linux layer (presumably with a different queue discipline) running. My Debian WSL has fq_codel enabled, but that's precisely the question I have about Windows (i.e. is there good bufferbloat mitigation for the Windows system under test). Thus far I have not found a good way to see whether Windows enables any kind of fq_codel in the chipset it's running...

tohojo commented 6 months ago

Mike Pennington @.***> writes:

@tohojo what would it take to get flent working under Windows? The ability to get good network test automation under Windows would be super helpful...

Other than running in WSL? No idea, really. I don't own a Windows machine, and haven't used one for decades. So TBH I have no idea if it's in any way feasible at all (but pretty sure it would be far from trivial if it is).

I'm happy to take any pull requests from someone who knows this better than me, though :)

dtaht commented 6 months ago

Given this HUGE problem with flent and testing windows (for example, windows has a new slow start algorithm that I would like to measure comprehensively), I have been trying to find other tools that do similar tests.

My favorite currently is the crusader test, written in rust, and works on everything. The third pane is very much like the rrul test in flent. We are still validating that flent and crusader are measuring about the same things here, but you can get it at: https://github.com/Zoxc/crusader/issues/14