Metrics Team


Welcome to the Metrics Team page. The Metrics Team is a group of Tor people who care about measuring and analyzing things in the public Tor network. There are currently three other teams in Tor: the Network Team writes the software to keep the Tor network running, the Applications Team produces usable applications for end users, and the Community Team focuses on the non-technical aspects of growing a healthy Tor community. But if you're interested in measurements and analyses, the Metrics Team is what you're looking for. Welcome!


The Metrics Team currently consists of between half a dozen and a dozen developers, depending on how and when you count. We're not listing names here to keep the team open to everyone. You're on the team if you're participating in discussions and development, and you're not part of the team anymore if you decide you want to move on (which we hope won't happen).


Our synchronous medium of communication is IRC meetings that happen every Thursday at 14:30 UTC in #tor-dev on OFTC.

If you want to reach someone from the team between these meetings to ask a development-related question, just go to #tor-dev and mention the magic word "metrics", and somebody from the team might either be around or appear later and get back to you.

Our asynchronous medium of communication is the metrics-team@ mailing list. This list is public in the sense that anyone can subscribe and read archives. But it's moderated on first post, meaning that your first post will be reviewed to make sure it's not spam and on topic and all further posts will go directly to the list. Feel free to subscribe and just listen if you want, and feel free to post if you have a question that you think is on topic.


The Metrics Team is not selling any products, don't worry.

Product is a codebase of software maintained by the Team. Not all products of the Metrics Team are mentioned in this section (for a more complete list see roadmap draft). Instead, we list some long-term products here that are or will be released in way that a third party can decide to run a mirror of this type of service.

Here some links to these products' pages (in alphabetical order):

  • CollecTor the friendly data collecting service. A wiki subsection for CollecTor mirror operators mirror operating wiki.
  • ExoneraTor helps to find out whether that address was used as a Tor relay.
  • Metrics the primary place to learn interesting facts about the Tor network.
  • metrics-lib a Java library that fetches and parses Tor descriptors.
  • Onionoo is a web-based protocol to learn about currently running Tor relays and bridges. A wiki subsection for Onionoo mirror operators mirror operating wiki

Releases and Milestones


December 20, 2017 Onionoo 5.0-1.9.0, cf. announcement downloads
November 28, 2017 Onionoo 4.4-1.8.0, cf. announcement downloads
November 20, 2017 Onionoo 4.3-1.7.1, cf. announcement, preparing major version jump downloads
October 27, 2017 Joint release of milestones CollecTor 1.4.1, Onionoo 4.2-1.6.1, cf. announcement downloads
October 10, 2017 Joint release of milestones CollecTor 1.4.0, metrics-lib 2.1.1, Onionoo 4.2-1.6.0, cf. announcement downloads
September 15, 2017 Joint release of milestones CollecTor 1.3.0, metrics-lib 2.1.0, Onionoo 4.1-1.5.0, cf. announcement downloads
August 31, 2017 milestone Onionoo 4.1-1.4.0 and 4.1-1.4.1 announcement download Onionoo 4.1-1.4.1
August 18, 2017 announcement download CollecTor 1.2.1
August 8, 2017 milestone Onionoo 4.0-1.3.0 download Onionoo 4.0-1.3.0
July 13, 2017 milestone CollecTor 1.2.0 download CollecTor 1.2.0

older Metrics releases

Planned Milestones

CollecTor 1.5.0 CollecTor 2.0.0
metrics-lib 2.2.0 metrics-lib 3.0.0
ExoneraTor 1.0.0 ExoneraTor 2.0.0
MetricsWeb 1.0.0 MetricsWeb 2.0.0
Onionoo 2.0.0 Onionoo 2.1.0


An FAQ by and about the Metrics Team. If something you want to know is not answered yet, check back in a few days. Or address your question directly to us via the communication channels listed in the previous section.

The 32C3 State of the Onion talk covered work of the Metrics Team by giving example of how bad relays are detected, investigated, and excluded from the Tor network. The entire talk is worth watching, but if you're short on time, be sure to watch minutes 20 to 28.

More documentation

Censorship Watch

MetricsTimeline lists incidents that might help in interpreting metrics graphs.

Here's a table with tickets related to censorship incidents:

Ticket Summary Status Priority Severity Reporter Modified
#20348 Allot Communications blocking of vanilla Tor, obfs4, and meek in Kazakhstan, starting 2016-06 reopened Medium Normal dcf 9 months ago

Roadmap from October 2017 to September 2018

The metrics team put together a roadmap for 2017/18 in Berlin, September 2017 and later refined it at the Tor meeting in Montreal in October 2017. The following contains a very short version of goals for the time until September 2018 and will be updated over time:

Short-term goals (Q4/2017)

  • Update all code to use Java 8 features (M; 30% done)
  • Switch ExoneraTor and metrics-web from Tomcat to embedded Jetty, and harmonize directory structures (M; 100% done)
  • Deploy better notification system for operational issues (M; 30% done)
  • Make sure that each service has at least two operators (M; 20% done)
  • Add web server logs as new data source (M; 90% done)
  • Provide metrics timeline events as both a table on Tor Metrics pages and as an RSS/Atom feed that is also syndicated via Twitter to increase community engagement (M; 60% done)
  • Make Atlas part of the Tor Metrics website (M; 90% done)
  • Make Compass part of Atlas in order to provide aggregated search results and details pages on Atlas and to finally shut down Compass (M; 100% done)
  • Resolve ExoneraTor database slowness (M; 25% done)
  • Add OONI graphs to Tor Metrics based on pre-aggregated data from vanilla Tor test and bridge reachability test (M; 25% done)
  • Add IPv6 relay graphs to Tor Metrics based on existing descriptor contents (M; 100% done)
  • Rename Tor Metrics components to make them easier to understand for people outside of the team (M; 45% done)

Medium-term goals (until Q3/2018)

  • Document aggregated statistics files better (Sponsor 13) (L; 30% done)
  • Put external research data on the website, including Rob's phantomtrain OnionPerf data and Yixin's BGP monitoring data (M; 15% done)
  • Re-process bridge descriptor tarballs to retain “contact” lines in server descriptors and “fingerprint” lines in statuses (M; 25% done)
  • Support PrivCount development and integrate its data as successor to statistics reported by relays and bridges (L; 35% done)
  • Help the Core Tor and Tor Browser teams with ongoing measurements (M; 40% done)
  • Document the Tor Metrics system/pipeline, including explicitly writing down our requirements (Sponsor 13) (L; 0% done)

Burndown Chart

Objectives and Key Results for the Metrics Team in Q2 2017

  • 1 Finish external deliverables (1/6 * (3/3 + 1/1 + 1/1 + 0/1 + 0/1 + 1/1))
    • 1.1 Complete replacing the 3 existing Torperf instances gathering current Tor network performance measurements with OnionPerf instances. (Sponsor X 5.1. OnionPerf) (3: deployed op-hk, op-nl, and op-us)
    • 1.2 Develop and deploy at least 1 more user model in addition to the current model. (Sponsor X 5.2. OnionPerf) (1: deployed onion service measurements model)
    • 1.3 Complete and publish 1 technical report on reducing the amount of sensitive, potentially personally identifying data stored in memory of Tor relays and bridges or reported to the directory authorities. (Sponsor X 4.1 Tor daemon) (1: published report)
    • 1.4. Reduce the amount of sensitive, potentially personally identifying data stored in memory of Tor relays and bridges by implementing new directory-request statistics based on requests by country, transport, and IP version and removing existing directory-request statistics based on unique IP addresses by country, transport, or IP version (Sponsor X 4.2. Tor daemon) (0: deferred because of simulation results)
    • 1.5. Obfuscate data that gets reported by Tor relays and bridges to the directory authorities by implementing noise for new directory-request statistics based on requests by country, transport, and IP version. (Sponsor X 4.3. Tor daemon) (0: deferred because of simulation results)
    • 1.6. Make a wider audience aware of the Tor descriptor parsing library metrics-lib/DescripTor and ideally increasing release tarball downloads by 50% by writing a blog post about it that explains how to use it. (Sponsor X 2.1. metrics-lib/DescripTor) (1: wrote blog post)
  • 2 Raise new funds to keep a head count of 2 developers after Sponsor X (1/2 * (1/1 + 1/1))
    • 2.1 Support next stages of current proposal if applicable. (1: done)
    • 2.2 Support other proposals if the current proposal doesn't work out. (1: not required)
  • 3 Reduce product backlog (1/4 * (0/1 + 5/5 + 4/5 + 0/5))
    • 3.1 Rewrite the webstats service as CollecTor module. (0: not done yet)
    • 3.2 Resolve 5 enhancement tickets opened by March 15 in components CollecTor, Metrics website, metrics-lib, and Onionoo. (5: resolved even 9 enhancements, but only the first 5 count here)
    • 3.3 Resolve 5 defect tickets opened by March 15 in components CollecTor, Metrics website, metrics-lib, and Onionoo. (4: resolved 4 defects)
    • 3.4 Resolve 5 tickets in needs_review opened by March 15 in components CollecTor, Metrics website, metrics-lib, and Onionoo. (0: resolved 3 defects in needs_review, but they're also counted above)
  • 4 Share operation of services (1/3 * (1/1 + 0/1 + 0/1))
    • 4.1 Share operation of CollecTor service among more than one person (currently run by karsten, mirror run by iwakeh). (1: done)
    • 4.2 Share operation of Onionoo service among more than one person (currently run by karsten, mirror run by karsten). (0: not done yet)
    • 4.3 Share operation of Metrics website among more than one person (currently run by karsten). (0: not done yet)
  • Evaluation: 1/4 * ((1/6 * (3/3 + 1/1 + 1/1 + 0/1 + 0/1 + 1/1)) + (1/2 * (1/1 + 1/1)) + (1/4 * (0/1 + 5/5 + 4/5 + 0/5)) + (1/3 * (1/1 + 0/1 + 0/1))) = 0.6125

Open Tickets

The following table lists all open tickets, from recently modified to not touched in years, of products that are maintained by Metrics Team people or otherwise related. Not all of these products are actively maintained, so be sure to reach out to the team before starting to hack on any of these and also take a look at the Volunteer's Guide. Also note that not all metrics-related tools use Tor's Trac as their bug tracker, so you might also want to ask for bug trackers of other metrics tools.

Results (1 - 20 of 245)

1 2 3 4 5 6 7 8 9 10 11
Ticket Summary Component Status Owner Priority Severity Created Modified Reporter
#25288 Atlas is now called Relay Search and it has a new URL Metrics/Consensus Health needs_review irl Medium Normal 5 weeks ago 27 hours ago irl
#24862 Add per-relay descriptor timestamps to the consensus health detailed page Metrics/Consensus Health needs_information tom Medium Normal 2 months ago 2 days ago teor
#25589 Add test to ensure that output of ATOM feed is valid XML Metrics/Website new metrics-team Low Normal 2 days ago 2 days ago irl
#25588 Allow people to dynamically load single relay info on the consensus-health index page Metrics/Consensus Health new tom Medium Normal 2 days ago 2 days ago tom
#25283 Decide when we can turn off Metrics/Relay Search new metrics-team Medium Normal 5 weeks ago 2 days ago irl
#25571 Add an iCalendar feed of metrics events Metrics/Website new metrics-team Low Normal 3 days ago 3 days ago irl
#25570 Allow autodiscovery of the news atom feed Metrics/Website new metrics-team Medium Normal 3 days ago 3 days ago irl
#18342 Provide more accurate reverse DNS results Metrics/Onionoo accepted irl Medium Normal 2 years ago 3 days ago cypherpunks
#24256 Add a new "outdated" field to distinguish between outdated and too new tor versions Metrics/Onionoo needs_review karsten Medium Normal 4 months ago 4 days ago arma
#25444 Add jaxb dependency explicitly for java 9 Metrics/Library new metrics-team Low Normal 2 weeks ago 4 days ago iwakeh
#25264 Decide what graph to display when there's no data to graph Metrics/Website assigned iwakeh Low Normal 5 weeks ago 4 days ago karsten
#20234 Add CollecTor's file-structure protocol Metrics/Website new iwakeh Low Normal 18 months ago 4 days ago karsten
#22594 Escape characters in contact lines break hourly updater Metrics/Onionoo accepted iwakeh High Normal 9 months ago 4 days ago karsten
#25459 Compare total consensus weights across bandwidth authorities Metrics/Analysis accepted karsten Medium Normal 2 weeks ago 5 days ago teor
#25542 Find an alternative to MaxMind's GeoLite2 City database Metrics/Ideas new metrics-team Medium Normal 5 days ago 5 days ago karsten
#6369 Gather empirical data on AES/RSA operations performed by typical relays or bridges Metrics/Analysis assigned metrics-team Medium Normal 6 years ago 6 days ago karsten
#25537 Integrate Tor BSD Diversity Project's statistics into Tor Metrics Metrics/Ideas new metrics-team Medium Normal 6 days ago 6 days ago irl
#25533 Relay properties page: Link all properties and flags in page Metrics/Relay Search new metrics-team Medium Minor 7 days ago 7 days ago anadahz
#25523 Add support for webstats tarballs Metrics/Library accepted iwakeh Medium Normal 8 days ago 8 days ago karsten
#25332 Change the exit_addresses field to not exclude current OR addresses anymore Metrics/Onionoo new metrics-team Medium Normal 4 weeks ago 9 days ago karsten
1 2 3 4 5 6 7 8 9 10 11

Last modified 3 weeks ago Last modified on Mar 1, 2018, 3:25:27 PM

Attachments (4)

Download all attachments as: .zip