-
Notifications
You must be signed in to change notification settings - Fork 16
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
Netx research and refactoring in Sprint 11 #509
Comments
bassosimone
added a commit
that referenced
this issue
Apr 16, 2020
This seems to be a better pattern for saving events that involves doing much less magic with the context. Part of #509
bassosimone
added a commit
that referenced
this issue
Apr 16, 2020
This seems to be a better pattern for saving events that involves doing much less magic with the context. Part of #509
bassosimone
added a commit
that referenced
this issue
Apr 18, 2020
This also includes a new experiment called urlgetter that can be used to perform URL measurements like: ``` ./miniooni -i http://www.kernel.org urlgetter ./miniooni -OTLSServerName=x.org -i http://www.kernel.org urlgetter ./miniooni -OResolverURL=https://cloudflare-dns.com/dns-query \ -i http://www.kernel.org urlgetter ``` Part of #509
bassosimone
added a commit
that referenced
this issue
Apr 22, 2020
This is non standard. We don't need to add it to the spec. It is just useful when you are vetting measurements manually. Cherry-picked from work related to #509
bassosimone
added a commit
that referenced
this issue
Apr 22, 2020
This is non standard. We don't need to add it to the spec. It is just useful when you are vetting measurements manually. Cherry-picked from work related to #509
bassosimone
added a commit
that referenced
this issue
Apr 22, 2020
There is no cache aging. If a resolution is successful, then we do cache the result. This is meant as a mechanism to make measurements faster and with less data points. For this reason it's disabled by default. Consider for example the case where `http://www.example.com` redirects you to `https://www.example.com`. You really don't want to perform the name resolution again in this case. As a side note, depending on the resolver we're using, we may not need the caching mechanism. Nonetheless, using the cache always when measuring also reduces the number of duplicate entries we produce where only the first entry has actually been resolved. This was developed as part of #509
bassosimone
added a commit
that referenced
this issue
Apr 22, 2020
There is no cache aging. If a resolution is successful, then we do cache the result. This is meant as a mechanism to make measurements faster and with less data points. For this reason it's disabled by default. Consider for example the case where `http://www.example.com` redirects you to `https://www.example.com`. You really don't want to perform the name resolution again in this case. As a side note, depending on the resolver we're using, we may not need the caching mechanism. Nonetheless, using the cache always when measuring also reduces the number of duplicate entries we produce where only the first entry has actually been resolved. This was developed as part of #509
bassosimone
added a commit
that referenced
this issue
Apr 22, 2020
These are useful bits of information when filling a measurement because they allow us to understand what transport is used. Part of #509
bassosimone
added a commit
that referenced
this issue
Apr 22, 2020
These are useful bits of information when filling a measurement because they allow us to understand what transport is used. Part of #509
bassosimone
added a commit
that referenced
this issue
Apr 22, 2020
Bugfix developed as part of #509 While there, implement a unit test
bassosimone
added a commit
that referenced
this issue
Apr 22, 2020
Bugfix developed as part of #509 While there, implement a unit test
This was referenced Apr 22, 2020
Done a bunch of work here and created followup as #543. |
3 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The generic idea is that what ends up in the
netx
folder is the more complex implementation and the simpler implementation will be instead inside ofinternal
. The main objective of this effort is to understand whether we can use the decorator pattern based technique also for collecting measurements. I think so, but it's better to be sure about this by changing Psiphon and evaluating whether this is really an improvement.move dialer, resolver, and httptransport to internalmove oonitemplate, oonidatamodel to netxcan we avoid using the context for counting bytes?If all is good, we will have significantly simplified netx implementation and testability in a few sprints. If there are emerging issues, then it means we need to somehow change the plan again.
The text was updated successfully, but these errors were encountered: