[tor-bugs] #16020 [Onionoo]: new field: measured flag

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Jul 7 08:35:16 UTC 2015


#16020: new field: measured flag
-----------------------------+-----------------
     Reporter:  cypherpunks  |      Owner:
         Type:  enhancement  |     Status:  new
     Priority:  normal       |  Milestone:
    Component:  Onionoo      |    Version:
   Resolution:               |   Keywords:
Actual Points:               |  Parent ID:
       Points:               |
-----------------------------+-----------------

Comment (by karsten):

 Adding a measured flag to details documents shouldn't be difficult.
 Though the primary purpose would be for operators to find out easily why
 their relay is not used, not for developers to graph the fraction of
 unmeasured relays (using CollecTor's data directly is indeed the better
 way for that).

 A few remarks on the possible specification of such a field:
  - This field shouldn't be combined with the existing `"consensus_weight"`
 field by setting that to -1 if a relay is unmeasured, because that would
 override the (unmeasured) bandwidth value contained in the consensus.
 This change to the current field semantics would also constitute a major
 protocol change, requiring client developers to update their clients.
  - Turning this field into a `"last_measured"` field is harder to
 implement and would require re-parsing descriptor archives.  I'd rather
 want to avoid that.
  - Including all bwauth measurements would certainly be handy, but that
 would require parsing votes which we don't do right now.  Onionoo is
 already choking on parsing all the descriptors published every hour, and
 votes are not exactly tiny.  I'd say don't expect this to happen anytime
 soon.  But I agree that it would be really useful to have.

 I'm sketching out the implementation off the top of my head, in case
 somebody else wants to try hacking on this:
  - Extend NodeDetailsStatusUpdater to include whether a relay was measured
 in the relay's NodeStatus and to later include that in the relay's
 DetailsStatus.  Look out for NodeStatus.getConsensusWeight() and
 NodeStatus.setConsensusWeight() to get the idea.
  - Extend DetailsDocumentWriter to include this information in the relay's
 DetailsDocument.  Similarly, look out for
 DetailsStatus.getConsensusWeight() for an example.
  - Include new `"measured"` field in the ResponseBuilder hack in
 writeDetailsLines() to support the `fields` parameter.
  - Raise protocol version to 2.5 or whatever the next minor version is.
 Do this in `build.xml` and ResponseBuilder and `web/protocol.html`.
 Describe new field in `web/protocol.html`.

 I probably won't get to it this week, but I'll try next week if nobody
 else has coded this until then.  It shouldn't be hard.  Happy to review
 (partial) patches.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/16020#comment:7>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list