Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possibility to plot tests against multiple servers? #118

Open
CraigHead opened this issue Feb 13, 2023 · 2 comments
Open

Possibility to plot tests against multiple servers? #118

CraigHead opened this issue Feb 13, 2023 · 2 comments
Labels
v2 Feature Features that should be considered for the next™ version ...

Comments

@CraigHead
Copy link

CraigHead commented Feb 13, 2023

I would like to test multiple Speedtest servers to eliminate single origin variances and to get a better picture of internet connectivity health.
e.g.

-e TESTSERVER=stosat-dvre-01.sys.comcast.net.prod.hosts.ooklaserver.net:8080 \
-e TESTSERVER=speedtest-lgmt.mynextlight.net.prod.hosts.ooklaserver.net:8080 \
-e TESTSERVER=speedtest.implicit.systems.prod.hosts.ooklaserver.net:8080

or

-e TESTSERVER=stosat-dvre-01.sys.comcast.net.prod.hosts.ooklaserver.net:8080,speedtest-lgmt.mynextlight.net.prod.hosts.ooklaserver.net:8080,speedtest.implicit.systems.prod.hosts.ooklaserver.net:8080

Is this possible?

@ansemjo
Copy link
Owner

ansemjo commented Feb 14, 2023

Not right now because this feature isn't implemented. But in principle .. sure.

If you're fine with the measurements appearing on the same plot line (which will then probably become a bit more jerky). The first syntax won't work though because you're just overwriting the same environment variable.

I took a quick look at taganaka/SpeedTest to see if it accepts multiple servers already and saw an .append(). Unfortunately, it only appends multiple arguments to a string and I'm not sure how it handles them without any separators ...
https://github.com/taganaka/SpeedTest/blob/0f63cfbf7ce8d64ea803bf143b957eae76323405/CmdOptions.h#L61

So we'll probably just have to run take_measurement() multiple times.

@ansemjo
Copy link
Owner

ansemjo commented Feb 14, 2023

As a short-term solution: you could just disable the cron schedule (or pick something very rare, like yearly) and trigger the measurements from outside the container:

docker run [...] -n speedtest -e SCHEDULE="0 0 1 1 *" ansemjo/speedtest

Then put this in a script and trigger it from your host's crontab, for example:

#!/usr/bin/env bash
for ts in \
  stosat-dvre-01.sys.comcast.net.prod.hosts.ooklaserver.net:8080 \
  speedtest-lgmt.mynextlight.net.prod.hosts.ooklaserver.net:8080 \
  speedtest.implicit.systems.prod.hosts.ooklaserver.net:8080; do
    docker exec speedtest measure -s "$ts"
done

@ansemjo ansemjo added the v2 Feature Features that should be considered for the next™ version ... label Mar 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
v2 Feature Features that should be considered for the next™ version ...
Projects
None yet
Development

No branches or pull requests

2 participants