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

feat: implement tracing without composition #30

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

Commits on Aug 18, 2022

  1. feat: implement tracing without composition

    Tracing with composition is tricky for OONI because we sometimes have
    a DoH resolution (so two HTTP round trips) before a real HTTP round trip
    when we're using a DoH resolver.
    
    In such a case, tracing with composition complicates attributing the
    correct connection to the request that's using it. This happens because
    the whole chain of operations is using the same context.Context, so we
    end up attaching three traces to the context (one per round trip).
    
    Conversely, if traces do not compose, each round trip gets its own
    Trace and we should be able to bind connections and requests.
    
    Because ooni/oohttp is experimental and will always be experimental, I
    don't feel bad about adding this API for experimentation and for our
    own sake. The original API is still there, so it all feels ~fine.
    
    I will revert this commit if the experiment fails 😬.
    
    Reference issue: ooni/probe#2220
    bassosimone committed Aug 18, 2022
    Configuration menu
    Copy the full SHA
    01e4ffc View commit details
    Browse the repository at this point in the history