[tor-bugs] #24036 [Metrics]: Create a unified package naming scheme for all metrics code bases

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Oct 27 20:19:39 UTC 2017


#24036: Create a unified package naming scheme for all metrics code bases
-----------------------------+--------------------------
     Reporter:  karsten      |      Owner:  metrics-team
         Type:  enhancement  |     Status:  new
     Priority:  Medium       |  Milestone:
    Component:  Metrics      |    Version:
     Severity:  Normal       |   Keywords:
Actual Points:               |  Parent ID:
       Points:               |   Reviewer:
      Sponsor:               |
-----------------------------+--------------------------
 The discussion behind #24028 made me think whether we could find a unified
 package naming scheme for all metrics code bases.

 I reserve the right to come up with an even smarter plan after today, but
 sharing my thoughts here might allow us to come up with an even smarterer
 plan together.

 ||='''Current code base''' ||='''Current package and classes, starting
 with `org.torproject.`''' ||='''Suggested package, starting with
 `org.torproject.metrics.`''' ||='''Suggested code base, only if
 different''' ||
 || CollecTor || collector (1) || collector || ||
 || CollecTor || collector.bridgedescs (3) || collector.bridgedescs || ||
 || CollecTor || collector.conf (5) || collector.conf || ||
 || CollecTor || collector.cron (3) || collector.cron || ||
 || CollecTor || collector.exitlists (1) || collector.exitlists || ||
 || CollecTor || collector.index (1) || index || metrics-lib (*1) ||
 || CollecTor || collector.onionperf (2) || collector.onionperf || ||
 || CollecTor || collector.persist (12) || collector.persist || ||
 || CollecTor || collector.relaydescs (6) || collector.relaydescs || ||
 || CollecTor || collector.sync (4) || collector.sync || ||
 || ExoneraTor || exonerator.ExoneraTorDatabaseImporter || exonerator || ||
 || ExoneraTor || exonerator.ExoneraTorServlet || web || metrics-web (*2)
 ||
 || ExoneraTor || exonerator.QueryServlet || exonerator || ||
 || ExoneraTor || exonerator.QueryResponse || exonerator || metrics-lib
 (*3) ||
 || metrics-lib || descriptor (28) || descriptor || ||
 || metrics-lib || descriptor.impl (31) || descriptor.impl || ||
 || metrics-lib || descriptor.index (4) || index (*4) || ||
 || metrics-lib || descriptor.internal (1) || util (*5) || ||
 || metrics-web || metrics.advbwdist (1) || stats.advbwdist || ||
 || metrics-web || metrics.clients (1) || stats.clients || ||
 || metrics-web || metrics.collectdescs (1) || stats.collectdescs || ||
 || metrics-web || metrics.connbidirect (1) || stats.connbidirect || ||
 || metrics-web || metrics.hidserv (11) || stats.hidserv || ||
 || metrics-web || ernie.cron (6) || stats.servers (*6) || ||
 || metrics-web || metrics.onionperf (1) || stats.onionperf || ||
 || metrics-web || metrics.webstats (1) || stats.webstats || ||
 || metrics-web || metrics.web (27) || web || ||
 || metrics-web || metrics.web.graphs (7) || web.graphs || ||
 || metrics-web || metrics.web.research (1) || web (*7) || ||
 || Onionoo || onionoo.cron (1) || onionoo.cron || ||
 || Onionoo || onionoo.docs (21) || onionoo.docs || metrics-lib (*8) ||
 || Onionoo || onionoo.server (15) || onionoo.server || ||
 || Onionoo || onionoo.updater (18) || onionoo.updater || ||
 || Onionoo || onionoo.util (1) || util || metrics-lib (*9) ||
 || Onionoo || onionoo.writer (8) || onionoo.writer || ||

 (*1) Right now, only CollecTor produces an index.json file, but with
 #23285 we might extend that to metrics-web producing an index.json file of
 available stats files.

 (*2) This is part of moving all presentation things to metrics-web,
 including ExoneraTor (#23549), and once we do that we'll have to write and
 read the QueryResponse from two different code bases.

 (*3) See (*2).

 (*4) These classes don't depend on the descriptor-parsing part of metrics-
 lib but are generally useful for other metrics code bases.

 (*5) See (*4), though we might rename "internal" to "util" to focus what
 this package is for (utility classes) rather than who it's not for
 (external folks).

 (*6) The old package name is so legacy, let's take the opportunity to pick
 a more useful name now. It's all about servers and bandwidth (provided by
 servers).

 (*7) This servlet class is the last survivor of the "research" package and
 could as well join the other servlets.

 (*8) Moving the docs to metrics-lib would allow metrics-bot and other Java
 Onionoo clients to use Onionoo documents without writing their own parser.

 (*9) We could gather all utility-type classes that are truly independent
 of their respective code bases in metrics-lib.

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


More information about the tor-bugs mailing list