[tor-bugs] #4943 [Metrics Website]: Make network graphs with X / consensus weight?

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Mon Jan 23 07:28:50 UTC 2012


#4943: Make network graphs with X / consensus weight?
-----------------------------+----------------------------------------------
 Reporter:  Sebastian        |          Owner:  karsten
     Type:  enhancement      |         Status:  new    
 Priority:  normal           |      Milestone:         
Component:  Metrics Website  |        Version:         
 Keywords:                   |         Parent:         
   Points:                   |   Actualpoints:         
-----------------------------+----------------------------------------------

Comment(by karsten):

 Agreed, such graphs would be useful.

 I'm counting four graphs with number of relays on the y axis: "Relays by
 country", "Relays with ... flags", "Relays by version," and "Relays by
 platform."  (The first graph on network.html, "Relays and bridges in the
 network," cannot be changed to consensus weights, because we don't have
 that information for bridges.)  Are there more?

 I could imagine adding an option to the website what to put on the y axis.
 That would be similar to the Granularity option for the "Relays with ...
 flags" graph.

 Here are the necessary steps:

  1. Extend the database tables containing aggregate data to contain the
 consensus weights of relays with a given version, relay flag, etc.  In
 particular, we'd want to sum up consensus weights from all consensuses of
 a given day and divide by the number of consensuses.  The database tables
 are network_size, relay_countries, relay_platforms, and relay_versions.

  2. Extend the refresh_* functions to calculate the new consensus weight
 data.  The functions are refresh_network_size(), etc.

  3. Populate the extended tables with data.  It's probably easiest to
 delete the whole table contents and run the refresh_* scripts for all data
 in the database.  Or we could generate only the consensus weight data.
 This may take really long and should be done in a transaction.  We
 shouldn't have to stop the database import for this.

  4. Extend the website to accept a new graph parameter and pass it on to
 R.

  5. Extend the R code to make a different graph for consensus weights than
 for relay numbers.

  6. Add new CSV files containing consensus weights data.  That means
 extending the R code and telling the website that there are new CSV files.

 None of these changes are complex, though they need to be tested before
 deploying them on the metrics machine.  How about you look into steps 1
 and 2 above?  I'm happy to do step 3 together with you, and I can do 4 to
 6.

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


More information about the tor-bugs mailing list