intern project idea: a chutney or shadow framework for testing bootstrap speed/success
Sometimes when I start my tor client and it's been a while, it takes 2 or 3 minutes to bootstrap. It seems to be getting stuck on the "asking for a consensus" phase, maybe because the guards listed in my state file are gone, or maybe because only one of them is gone but my Tor doesn't handle it well. I'm not sure.
It would be neat for somebody to set up a chutney or shadow configuration that sets up various bootstrapping scenarios and then observes time-to-bootstrap for each. For examples, setting up scenarios where our configured guards are all down, or all down but one, or we're firewalled such that our tcp attempts don't get an immediate failure, or our guards are up but they don't have their dir info yet or they have dir info but it's old, or some of our guards are overloaded so they serve dir info very slowly.
We could use this approach to find regressions, and also to discover corner cases where we have more bootstrapping delays than we ought to.
I call it an intern project idea because it's bite-sized and reasonably self-contained.