Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
Trac
Trac
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Operations
    • Operations
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Create a new issue
  • Issue Boards

GitLab is used only for code review, issue tracking and project management. Canonical locations for source code are still https://gitweb.torproject.org/ https://git.torproject.org/ and git-rw.torproject.org.

  • Legacy
  • TracTrac
  • Issues
  • #24036

Closed (moved)
Open
Opened Oct 27, 2017 by Karsten Loesing@karsten

Create a unified package naming scheme for all metrics code bases

The discussion behind #24028 (moved) 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 (moved) 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 (moved)), 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.

To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: legacy/trac#24036