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

engine: start sketching out throttling integration testing tool #2424

Closed
Tracked by #1296
bassosimone opened this issue Mar 9, 2023 · 1 comment
Closed
Tracked by #1296

Comments

@bassosimone
Copy link
Contributor

This issue is about writing an integration testing tool that can simulate severe throttling conditions such as the ones we previously experienced in Russia.

We are not aiming to write a tool that causes TCP to exactly match the bandwidth it would expect under given PLR and RTT network conditions. More modestly, we want a tool where we can turn a knob to make traffic much slower regardless of the parameters that we impose to the tool.

At the time of writing this issue, such a tool already exists: https://github.com/ooni/netem. It also seems to have the required property that we can write integration tests where A is fast and B is very slow.

With this tool, we can write better integration tests for OONI probe making sure we catch those conditions. So, we can be confident that changes do not break Web Connectivity as we evolve and refactor it.

This issue belongs to two epics:

  1. Create throttling measurement methodology ooni.org#1296
  2. engine: throttling-aware jafar replacement #1803

The former deals with creating a throttling methodology as part of DRL2022-2024. The latter is a long running issue dealing with making integration testing easier to write and much less flaky than with the current solution (Jafar).

@bassosimone
Copy link
Contributor Author

I am going to close this issue, because we sketched out a tool in https://github.com/ooni/netem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant