probe
probe copied to clipboard
engine: trace ?ALPN, {src,dst}Endpoint for HTTP requests
This issue is about extending the OONI Engine to collect (1) the ALPN where it makes sense (i.e., h3 or h2 or https) and (2) the source and destination endpoints associated with HTTP requests.
While it is possible to collect this information ~easily with step-by-step, I am not super sold about relying on step by step for collecting this information. My reasoning is that we would like the engine to enable the collection of complete observations regardless of the strategy with which we write tests. By doing that, we would be able to collect meaningful data (or snippets of data) from any operation performed using netxlite
including all DoH resolutions performed by OONI (regardless of whether these resolutions are performed using step-by-step or not).
So, my aim here is to write a prototype of how this could work. I tried to tackle this problem before and honestly the result has always been a bit clumsy or not so easy to manage, but perhaps this time I have a better understanding of what's needed.
I will timebox myself and update this issue once I have written down a basic PoC.
FWIW, we collect this information when using step-by-step now. However, we cannot collect it when using tracing, which causes issues such as https://github.com/ooni/probe/issues/2246.
I'm going to remove this issue from sprint planning. It's not a priority right now. It would still be cool to have, because of the underlying DNS-over-HTTPS implications, but we'll need to reconsider at a later time.