-
Notifications
You must be signed in to change notification settings - Fork 63
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
Expand OONI’s testing model to support richer testing input #1291
Comments
For more context, this is what is written in our DRL proposal: We aim to expand OONI’s testing model to support richer testing input and, by extension, enable all OONI Probe app users worldwide to more easily run novel experiments, automatically process these measurements and present findings on OONI Explorer as open data. This involves making improvements to the communication layer between the measurement coordination infrastructure and probes to improve our ability to provide a richer set of configuration parameters to network experiments that goes beyond just providing them with URLs to test. Specifically, this involves making all the components of the OONI ecosystem (the backend API, OONI Probe clients, the data processing pipeline, the database model, and OONI Explorer) aware that the input for a measurement is now an object containing a URL, as well as other configuration parameters (for example, the backend would aggregate measurements based on a richer definition of input to score HTTP/2 measurements differently than HTTP/3 measurements). To this end, this may entail:
This work is a requirement for expanding our censorship measurement capabilities, and will enable us to ship a new methodology for measuring throttling. For example, if we suspect that access to https://twitter.com is being throttled in Russia, we could serve richer input (including a boolean flag) to OONI Probe clients in Russia to perform additional measurements that are useful for detecting throttling. In such a case, for example, the probe would fetch the whole page (as opposed to fetching a small part of the webpage) and would collect and submit download speed measurements to OONI’s backend. |
I have set a tentative timeline on zenhub which probably needs to be adjusted. |
As explained in ooni/2023-05-richer-input@7871d3b, the https://github.com/ooni/2023-05-richer-input contains a prototype that explores the richer input domain and redesigns ooniprobe around richer input. |
This diff upgrades the probe-engine dependency to the last published commit, which allows us to import additional testing features. This work is part of finalizing the "richer input" protoypes and writing down clearly what we have learned from them in the meantime. Reference issue: ooni/ooni.org#1291
This diff upgrades the probe-engine dependency to the last published commit, which allows us to import additional testing features. This work is part of finalizing the "richer input" protoypes and writing down clearly what we have learned from them in the meantime. Reference issue: ooni/ooni.org#1291
Closing this because we are going to consider it done for now. |
This epic issue is about expanding OONI's testing model to support richer testing input. The general idea is that using an URL as input has served us well but now it has become a bottleneck to implement specific kind of experiments. For example, currently we cannot express that we want to measure a URL using HTTP/3. Likewise, we cannot include good IP addresses for the URL's domain.
Here's a breakdown of the milestones based on a presentation I delivered in the 2023 @ooni/ooni-team meeting, with subsequent integrations as we continued to evolve our planning.
Here are the issues for each milestone:
M0. preconditions for implementing richer input
M1. richer-input microservices
M2. miniooni uses richer input
M3. ooniprobe uses richer input
M4.1 oonimkall uses richer input
M4.2 ooni/probe-mobile uses richer input
M5. ooni/data powered analysis
M6. ooni/explorer work
Because this is an epic issue, we will create child issues as needed.
The text was updated successfully, but these errors were encountered: