[tor-commits] [onionoo/master] migrated all files and references from org/torproject/onionoo to org/torproject/metrics/onionoo; added package-info.java for all new packages

karsten at torproject.org karsten at torproject.org
Thu Oct 11 12:10:31 UTC 2018


commit 46f0af2b85f7566b55f8d53eda97c0b60cc4fc1f
Author: tordinge <tordinge at aprivatesub.net>
Date:   Mon Oct 1 18:25:32 2018 -0400

    migrated all files and references from org/torproject/onionoo to org/torproject/metrics/onionoo; added package-info.java for all new packages
---
 CHANGELOG.md                                       |  7 +++
 CONTRIB.md                                         |  2 +-
 INSTALL.md                                         |  2 +-
 build.xml                                          | 12 ++---
 .../{ => metrics}/onionoo/cron/Main.java           | 16 +++---
 .../metrics/onionoo/cron/package-info.java         |  7 +++
 .../onionoo/docs/BandwidthDocument.java            |  2 +-
 .../onionoo/docs/BandwidthStatus.java              |  2 +-
 .../onionoo/docs/ClientsDocument.java              |  2 +-
 .../{ => metrics}/onionoo/docs/ClientsHistory.java |  2 +-
 .../{ => metrics}/onionoo/docs/ClientsStatus.java  |  2 +-
 .../{ => metrics}/onionoo/docs/DateTimeHelper.java |  2 +-
 .../onionoo/docs/DetailsDocument.java              |  2 +-
 .../{ => metrics}/onionoo/docs/DetailsStatus.java  |  2 +-
 .../{ => metrics}/onionoo/docs/Document.java       |  2 +-
 .../{ => metrics}/onionoo/docs/DocumentStore.java  |  4 +-
 .../onionoo/docs/DocumentStoreFactory.java         |  2 +-
 .../{ => metrics}/onionoo/docs/GraphHistory.java   |  2 +-
 .../{ => metrics}/onionoo/docs/NodeStatus.java     |  4 +-
 .../onionoo/docs/SummaryDocument.java              |  2 +-
 .../{ => metrics}/onionoo/docs/UpdateStatus.java   |  2 +-
 .../{ => metrics}/onionoo/docs/UptimeDocument.java |  2 +-
 .../{ => metrics}/onionoo/docs/UptimeHistory.java  |  2 +-
 .../{ => metrics}/onionoo/docs/UptimeStatus.java   |  2 +-
 .../onionoo/docs/WeightsDocument.java              |  2 +-
 .../{ => metrics}/onionoo/docs/WeightsStatus.java  |  2 +-
 .../metrics/onionoo/docs/package-info.java         |  8 +++
 .../torproject/metrics/onionoo/package-info.java   |  7 +++
 .../{ => metrics}/onionoo/server/Counter.java      |  2 +-
 .../onionoo/server/HttpServletRequestWrapper.java  |  2 +-
 .../onionoo/server/HttpServletResponseWrapper.java |  2 +-
 .../onionoo/server/IntegerDistribution.java        |  2 +-
 .../onionoo/server/MostFrequentString.java         |  2 +-
 .../{ => metrics}/onionoo/server/NodeIndex.java    |  6 +--
 .../{ => metrics}/onionoo/server/NodeIndexer.java  | 16 +++---
 .../onionoo/server/NodeIndexerFactory.java         |  2 +-
 .../onionoo/server/OrderParameterValues.java       |  2 +-
 .../onionoo/server/PerformanceMetrics.java         |  4 +-
 .../onionoo/server/RequestHandler.java             | 10 ++--
 .../onionoo/server/ResourceServlet.java            |  4 +-
 .../onionoo/server/ResponseBuilder.java            | 22 ++++----
 .../{ => metrics}/onionoo/server/ServerMain.java   |  2 +-
 .../onionoo/server/SummaryDocumentComparator.java  |  4 +-
 .../metrics/onionoo/server/package-info.java       |  8 +++
 .../onionoo/updater/BandwidthStatusUpdater.java    | 10 ++--
 .../onionoo/updater/ClientsStatusUpdater.java      | 16 +++---
 .../onionoo/updater/DescriptorHistory.java         |  2 +-
 .../onionoo/updater/DescriptorListener.java        |  2 +-
 .../onionoo/updater/DescriptorQueue.java           |  2 +-
 .../onionoo/updater/DescriptorSource.java          |  4 +-
 .../onionoo/updater/DescriptorSourceFactory.java   |  2 +-
 .../onionoo/updater/DescriptorType.java            |  2 +-
 .../onionoo/updater/LookupResult.java              |  2 +-
 .../onionoo/updater/LookupService.java             |  4 +-
 .../onionoo/updater/NodeDetailsStatusUpdater.java  | 14 ++---
 .../onionoo/updater/RdnsLookupRequest.java         |  2 +-
 .../onionoo/updater/RdnsLookupWorker.java          |  2 +-
 .../onionoo/updater/ReverseDomainNameResolver.java |  4 +-
 .../onionoo/updater/StatusUpdateRunner.java        |  2 +-
 .../onionoo/updater/StatusUpdater.java             |  2 +-
 .../{ => metrics}/onionoo/updater/TorVersion.java  |  2 +-
 .../onionoo/updater/TorVersionStatus.java          |  2 +-
 .../onionoo/updater/UptimeStatusUpdater.java       | 12 ++---
 .../onionoo/updater/WeightsStatusUpdater.java      | 10 ++--
 .../metrics/onionoo/updater/package-info.java      |  8 +++
 .../onionoo/util/FormattingUtils.java              |  2 +-
 .../metrics/onionoo/util/package-info.java         |  8 +++
 .../onionoo/writer/BandwidthDocumentWriter.java    | 18 +++----
 .../onionoo/writer/ClientsDocumentWriter.java      | 20 ++++----
 .../onionoo/writer/DetailsDocumentWriter.java      | 12 ++---
 .../onionoo/writer/DocumentWriter.java             |  2 +-
 .../onionoo/writer/DocumentWriterRunner.java       |  8 +--
 .../onionoo/writer/GraphHistoryCompiler.java       |  6 +--
 .../onionoo/writer/SummaryDocumentWriter.java      | 14 ++---
 .../onionoo/writer/UptimeDocumentWriter.java       | 22 ++++----
 .../onionoo/writer/WeightsDocumentWriter.java      | 18 +++----
 .../metrics/onionoo/writer/package-info.java       |  8 +++
 src/main/resources/logback.xml                     |  4 +-
 src/main/resources/web.xml                         |  4 +-
 .../onionoo/docs/BandwidthStatusTest.java          |  2 +-
 .../onionoo/docs/DummyDocumentStore.java           |  2 +-
 .../{ => metrics}/onionoo/docs/NodeStatusTest.java |  2 +-
 .../onionoo/docs/SummaryDocumentTest.java          |  2 +-
 .../onionoo/docs/UptimeStatusTest.java             |  2 +-
 .../onionoo/docs/WeightsStatusTest.java            |  2 +-
 .../onionoo/server/PerformanceMetricsTest.java     |  2 +-
 .../onionoo/server/ResourceServletTest.java        | 60 +++++++++++-----------
 .../server/SummaryDocumentComparatorTest.java      |  6 +--
 .../onionoo/updater/DummyBridgeStatus.java         |  2 +-
 .../onionoo/updater/DummyConsensus.java            |  2 +-
 .../onionoo/updater/DummyDescriptorSource.java     |  2 +-
 .../onionoo/updater/DummyStatusEntry.java          |  2 +-
 .../onionoo/updater/LookupServiceTest.java         |  2 +-
 .../updater/NodeDetailsStatusUpdaterTest.java      |  8 +--
 .../onionoo/updater/TorVersionTest.java            |  2 +-
 .../onionoo/updater/UptimeStatusUpdaterTest.java   | 12 ++---
 .../onionoo/util/FormattingUtilsTest.java          |  2 +-
 .../writer/BandwidthDocumentWriterTest.java        | 14 ++---
 .../onionoo/writer/DetailsDocumentWriterTest.java  | 10 ++--
 .../onionoo/writer/GraphHistoryCompilerTest.java   |  6 +--
 .../onionoo/writer/UptimeDocumentWriterTest.java   | 16 +++---
 101 files changed, 335 insertions(+), 272 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index e41f8ba..b013d9e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+# Changes in version 7.?-1.??.? - 2018-1?-??
+
+ * Minor changes
+   - Rename root package org.torproject.onionoo to
+     org.torproject.metrics.onionoo.
+
+
 # Changes in version 7.0-1.18.1 - 2018-09-11
 
  * Medium changes
diff --git a/CONTRIB.md b/CONTRIB.md
index a432069..5102e75 100644
--- a/CONTRIB.md
+++ b/CONTRIB.md
@@ -38,7 +38,7 @@ the overview page.
 It describes what Onionoo is, lists known Onionoo clients, and points to
 available documentation for users and potential contributors.
 The product overview must be easily accessible, which is why it is
-available via `https://onionoo.torproject.org/`.
+available via `https://metrics.torproject.org/onionoo.html`.
 
 The sources of the product overview are available in `web/index.html`.
 
diff --git a/INSTALL.md b/INSTALL.md
index 6980a06..70e7ae0 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -199,7 +199,7 @@ configuration from `onionoo-<version>/src/main/resources/logback.xml` to your
 working directory, edit your copy, and execute the .jar file as follows:
 
 ```java -Xmx4g -DLOGBASE=<your-log-dir> -jar -cp .:onionoo-<version>.jar
-org.torproject.onionoo.cron.Main```
+org.torproject.metrics.onionoo.cron.Main```
 
 Internally, Onionoo uses the Simple Logging Facade for Java (SLF4J) and ships
 with the Logback implementation for SLF4J.  If you prefer a different logging
diff --git a/build.xml b/build.xml
index 22e2e82..18a637a 100644
--- a/build.xml
+++ b/build.xml
@@ -21,7 +21,7 @@
 
   <!-- If 'project-main-class' is not provided, a library jar is created. -->
   <property name="project-main-class"
-            value="org.torproject.onionoo.cron.Main" />
+            value="org.torproject.metrics.onionoo.cron.Main" />
 
   <property name="jarincludes" value="logback.xml" />
   <property name="jarpatternprop" value="library" />
@@ -31,13 +31,13 @@
   <target name="coverage-check">
     <cobertura-check branchrate="0" linerate="0"
                      totallinerate="34" totalbranchrate="30" >
-      <regex pattern="org.torproject.onionoo.server"
+      <regex pattern="org.torproject.metrics.onionoo.server"
              branchrate="67" linerate="77"/>
-      <regex pattern="org.torproject.onionoo.docs"
+      <regex pattern="org.torproject.metrics.onionoo.docs"
              branchrate="19" linerate="29"/>
-      <regex pattern="org.torproject.onionoo.updater"
+      <regex pattern="org.torproject.metrics.onionoo.updater"
              branchrate="17" linerate="18"/>
-      <regex pattern="org.torproject.onionoo.writer"
+      <regex pattern="org.torproject.metrics.onionoo.writer"
              branchrate="22" linerate="20"/>
     </cobertura-check>
   </target>
@@ -109,7 +109,7 @@
         <attribute name="Implementation-Version"
                    value="${release.version}-${git.revision}"/>
         <attribute name="Main-Class"
-                   value="org.torproject.onionoo.server.ServerMain" />
+                   value="org.torproject.metrics.onionoo.server.ServerMain" />
       </manifest>
     </war>
   </target>
diff --git a/src/main/java/org/torproject/onionoo/cron/Main.java b/src/main/java/org/torproject/metrics/onionoo/cron/Main.java
similarity index 93%
rename from src/main/java/org/torproject/onionoo/cron/Main.java
rename to src/main/java/org/torproject/metrics/onionoo/cron/Main.java
index 8e5812d..47666c0 100644
--- a/src/main/java/org/torproject/onionoo/cron/Main.java
+++ b/src/main/java/org/torproject/metrics/onionoo/cron/Main.java
@@ -1,14 +1,14 @@
 /* Copyright 2011--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.cron;
-
-import org.torproject.onionoo.docs.DocumentStore;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.updater.DescriptorSource;
-import org.torproject.onionoo.updater.DescriptorSourceFactory;
-import org.torproject.onionoo.updater.StatusUpdateRunner;
-import org.torproject.onionoo.writer.DocumentWriterRunner;
+package org.torproject.metrics.onionoo.cron;
+
+import org.torproject.metrics.onionoo.docs.DocumentStore;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.updater.DescriptorSource;
+import org.torproject.metrics.onionoo.updater.DescriptorSourceFactory;
+import org.torproject.metrics.onionoo.updater.StatusUpdateRunner;
+import org.torproject.metrics.onionoo.writer.DocumentWriterRunner;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/metrics/onionoo/cron/package-info.java b/src/main/java/org/torproject/metrics/onionoo/cron/package-info.java
new file mode 100644
index 0000000..7e63cc1
--- /dev/null
+++ b/src/main/java/org/torproject/metrics/onionoo/cron/package-info.java
@@ -0,0 +1,7 @@
+/* Copyright 2018 The Tor Project
+ * See LICENSE for licensing information */
+
+/**
+ * Classes related to the background updater process.
+ */
+package org.torproject.metrics.onionoo.cron;
\ No newline at end of file
diff --git a/src/main/java/org/torproject/onionoo/docs/BandwidthDocument.java b/src/main/java/org/torproject/metrics/onionoo/docs/BandwidthDocument.java
similarity index 94%
rename from src/main/java/org/torproject/onionoo/docs/BandwidthDocument.java
rename to src/main/java/org/torproject/metrics/onionoo/docs/BandwidthDocument.java
index 03194a7..fb627eb 100644
--- a/src/main/java/org/torproject/onionoo/docs/BandwidthDocument.java
+++ b/src/main/java/org/torproject/metrics/onionoo/docs/BandwidthDocument.java
@@ -1,7 +1,7 @@
 /* Copyright 2013--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import java.util.Map;
 
diff --git a/src/main/java/org/torproject/onionoo/docs/BandwidthStatus.java b/src/main/java/org/torproject/metrics/onionoo/docs/BandwidthStatus.java
similarity index 99%
rename from src/main/java/org/torproject/onionoo/docs/BandwidthStatus.java
rename to src/main/java/org/torproject/metrics/onionoo/docs/BandwidthStatus.java
index 258e0e4..6466b63 100644
--- a/src/main/java/org/torproject/onionoo/docs/BandwidthStatus.java
+++ b/src/main/java/org/torproject/metrics/onionoo/docs/BandwidthStatus.java
@@ -1,7 +1,7 @@
 /* Copyright 2013--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import org.torproject.descriptor.BandwidthHistory;
 
diff --git a/src/main/java/org/torproject/onionoo/docs/ClientsDocument.java b/src/main/java/org/torproject/metrics/onionoo/docs/ClientsDocument.java
similarity index 92%
rename from src/main/java/org/torproject/onionoo/docs/ClientsDocument.java
rename to src/main/java/org/torproject/metrics/onionoo/docs/ClientsDocument.java
index 6660b68..fffa6ec 100644
--- a/src/main/java/org/torproject/onionoo/docs/ClientsDocument.java
+++ b/src/main/java/org/torproject/metrics/onionoo/docs/ClientsDocument.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import java.util.Map;
 
diff --git a/src/main/java/org/torproject/onionoo/docs/ClientsHistory.java b/src/main/java/org/torproject/metrics/onionoo/docs/ClientsHistory.java
similarity index 99%
rename from src/main/java/org/torproject/onionoo/docs/ClientsHistory.java
rename to src/main/java/org/torproject/metrics/onionoo/docs/ClientsHistory.java
index 1890060..7142417 100644
--- a/src/main/java/org/torproject/onionoo/docs/ClientsHistory.java
+++ b/src/main/java/org/torproject/metrics/onionoo/docs/ClientsHistory.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/onionoo/docs/ClientsStatus.java b/src/main/java/org/torproject/metrics/onionoo/docs/ClientsStatus.java
similarity index 98%
rename from src/main/java/org/torproject/onionoo/docs/ClientsStatus.java
rename to src/main/java/org/torproject/metrics/onionoo/docs/ClientsStatus.java
index 6de115b..d9e6afa 100644
--- a/src/main/java/org/torproject/onionoo/docs/ClientsStatus.java
+++ b/src/main/java/org/torproject/metrics/onionoo/docs/ClientsStatus.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/onionoo/docs/DateTimeHelper.java b/src/main/java/org/torproject/metrics/onionoo/docs/DateTimeHelper.java
similarity index 98%
rename from src/main/java/org/torproject/onionoo/docs/DateTimeHelper.java
rename to src/main/java/org/torproject/metrics/onionoo/docs/DateTimeHelper.java
index 9162edc..aec03ff 100644
--- a/src/main/java/org/torproject/onionoo/docs/DateTimeHelper.java
+++ b/src/main/java/org/torproject/metrics/onionoo/docs/DateTimeHelper.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/onionoo/docs/DetailsDocument.java b/src/main/java/org/torproject/metrics/onionoo/docs/DetailsDocument.java
similarity index 99%
rename from src/main/java/org/torproject/onionoo/docs/DetailsDocument.java
rename to src/main/java/org/torproject/metrics/onionoo/docs/DetailsDocument.java
index 725474f..003ba07 100644
--- a/src/main/java/org/torproject/onionoo/docs/DetailsDocument.java
+++ b/src/main/java/org/torproject/metrics/onionoo/docs/DetailsDocument.java
@@ -1,7 +1,7 @@
 /* Copyright 2013--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import org.apache.commons.lang3.StringEscapeUtils;
 
diff --git a/src/main/java/org/torproject/onionoo/docs/DetailsStatus.java b/src/main/java/org/torproject/metrics/onionoo/docs/DetailsStatus.java
similarity index 99%
rename from src/main/java/org/torproject/onionoo/docs/DetailsStatus.java
rename to src/main/java/org/torproject/metrics/onionoo/docs/DetailsStatus.java
index 31762d3..6b93db9 100644
--- a/src/main/java/org/torproject/onionoo/docs/DetailsStatus.java
+++ b/src/main/java/org/torproject/metrics/onionoo/docs/DetailsStatus.java
@@ -1,7 +1,7 @@
 /* Copyright 2013--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import org.apache.commons.lang3.StringEscapeUtils;
 
diff --git a/src/main/java/org/torproject/onionoo/docs/Document.java b/src/main/java/org/torproject/metrics/onionoo/docs/Document.java
similarity index 97%
rename from src/main/java/org/torproject/onionoo/docs/Document.java
rename to src/main/java/org/torproject/metrics/onionoo/docs/Document.java
index ded0d21..f160175 100644
--- a/src/main/java/org/torproject/onionoo/docs/Document.java
+++ b/src/main/java/org/torproject/metrics/onionoo/docs/Document.java
@@ -1,7 +1,7 @@
 /* Copyright 2013--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
diff --git a/src/main/java/org/torproject/onionoo/docs/DocumentStore.java b/src/main/java/org/torproject/metrics/onionoo/docs/DocumentStore.java
similarity index 99%
rename from src/main/java/org/torproject/onionoo/docs/DocumentStore.java
rename to src/main/java/org/torproject/metrics/onionoo/docs/DocumentStore.java
index 49176f8..778bab9 100644
--- a/src/main/java/org/torproject/onionoo/docs/DocumentStore.java
+++ b/src/main/java/org/torproject/metrics/onionoo/docs/DocumentStore.java
@@ -1,9 +1,9 @@
 /* Copyright 2013--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
-import org.torproject.onionoo.util.FormattingUtils;
+import org.torproject.metrics.onionoo.util.FormattingUtils;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
diff --git a/src/main/java/org/torproject/onionoo/docs/DocumentStoreFactory.java b/src/main/java/org/torproject/metrics/onionoo/docs/DocumentStoreFactory.java
similarity index 94%
rename from src/main/java/org/torproject/onionoo/docs/DocumentStoreFactory.java
rename to src/main/java/org/torproject/metrics/onionoo/docs/DocumentStoreFactory.java
index fd7330a..78a6b08 100644
--- a/src/main/java/org/torproject/onionoo/docs/DocumentStoreFactory.java
+++ b/src/main/java/org/torproject/metrics/onionoo/docs/DocumentStoreFactory.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 public class DocumentStoreFactory {
 
diff --git a/src/main/java/org/torproject/onionoo/docs/GraphHistory.java b/src/main/java/org/torproject/metrics/onionoo/docs/GraphHistory.java
similarity index 97%
rename from src/main/java/org/torproject/onionoo/docs/GraphHistory.java
rename to src/main/java/org/torproject/metrics/onionoo/docs/GraphHistory.java
index b0296e5..7955e7a 100644
--- a/src/main/java/org/torproject/onionoo/docs/GraphHistory.java
+++ b/src/main/java/org/torproject/metrics/onionoo/docs/GraphHistory.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
diff --git a/src/main/java/org/torproject/onionoo/docs/NodeStatus.java b/src/main/java/org/torproject/metrics/onionoo/docs/NodeStatus.java
similarity index 99%
rename from src/main/java/org/torproject/onionoo/docs/NodeStatus.java
rename to src/main/java/org/torproject/metrics/onionoo/docs/NodeStatus.java
index 32965dd..4c8dc68 100644
--- a/src/main/java/org/torproject/onionoo/docs/NodeStatus.java
+++ b/src/main/java/org/torproject/metrics/onionoo/docs/NodeStatus.java
@@ -1,9 +1,9 @@
 /* Copyright 2011--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
-import org.torproject.onionoo.updater.TorVersionStatus;
+import org.torproject.metrics.onionoo.updater.TorVersionStatus;
 
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
diff --git a/src/main/java/org/torproject/onionoo/docs/SummaryDocument.java b/src/main/java/org/torproject/metrics/onionoo/docs/SummaryDocument.java
similarity index 99%
rename from src/main/java/org/torproject/onionoo/docs/SummaryDocument.java
rename to src/main/java/org/torproject/metrics/onionoo/docs/SummaryDocument.java
index 5286f6c..d5dba7c 100644
--- a/src/main/java/org/torproject/onionoo/docs/SummaryDocument.java
+++ b/src/main/java/org/torproject/metrics/onionoo/docs/SummaryDocument.java
@@ -1,7 +1,7 @@
 /* Copyright 2013--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
diff --git a/src/main/java/org/torproject/onionoo/docs/UpdateStatus.java b/src/main/java/org/torproject/metrics/onionoo/docs/UpdateStatus.java
similarity index 95%
rename from src/main/java/org/torproject/onionoo/docs/UpdateStatus.java
rename to src/main/java/org/torproject/metrics/onionoo/docs/UpdateStatus.java
index 11f32f9..ca6c55a 100644
--- a/src/main/java/org/torproject/onionoo/docs/UpdateStatus.java
+++ b/src/main/java/org/torproject/metrics/onionoo/docs/UpdateStatus.java
@@ -1,7 +1,7 @@
 /* Copyright 2013--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/onionoo/docs/UptimeDocument.java b/src/main/java/org/torproject/metrics/onionoo/docs/UptimeDocument.java
similarity index 94%
rename from src/main/java/org/torproject/onionoo/docs/UptimeDocument.java
rename to src/main/java/org/torproject/metrics/onionoo/docs/UptimeDocument.java
index 8986f6d..a305d68 100644
--- a/src/main/java/org/torproject/onionoo/docs/UptimeDocument.java
+++ b/src/main/java/org/torproject/metrics/onionoo/docs/UptimeDocument.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import java.util.Map;
 import java.util.SortedMap;
diff --git a/src/main/java/org/torproject/onionoo/docs/UptimeHistory.java b/src/main/java/org/torproject/metrics/onionoo/docs/UptimeHistory.java
similarity index 98%
rename from src/main/java/org/torproject/onionoo/docs/UptimeHistory.java
rename to src/main/java/org/torproject/metrics/onionoo/docs/UptimeHistory.java
index 8bbb5b7..16b957a 100644
--- a/src/main/java/org/torproject/onionoo/docs/UptimeHistory.java
+++ b/src/main/java/org/torproject/metrics/onionoo/docs/UptimeHistory.java
@@ -1,7 +1,7 @@
 /* Copyright 2016--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/onionoo/docs/UptimeStatus.java b/src/main/java/org/torproject/metrics/onionoo/docs/UptimeStatus.java
similarity index 99%
rename from src/main/java/org/torproject/onionoo/docs/UptimeStatus.java
rename to src/main/java/org/torproject/metrics/onionoo/docs/UptimeStatus.java
index 8fa5960..70e6e8b 100644
--- a/src/main/java/org/torproject/onionoo/docs/UptimeStatus.java
+++ b/src/main/java/org/torproject/metrics/onionoo/docs/UptimeStatus.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/onionoo/docs/WeightsDocument.java b/src/main/java/org/torproject/metrics/onionoo/docs/WeightsDocument.java
similarity index 97%
rename from src/main/java/org/torproject/onionoo/docs/WeightsDocument.java
rename to src/main/java/org/torproject/metrics/onionoo/docs/WeightsDocument.java
index 829baad..19807d6 100644
--- a/src/main/java/org/torproject/onionoo/docs/WeightsDocument.java
+++ b/src/main/java/org/torproject/metrics/onionoo/docs/WeightsDocument.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import java.util.Map;
 
diff --git a/src/main/java/org/torproject/onionoo/docs/WeightsStatus.java b/src/main/java/org/torproject/metrics/onionoo/docs/WeightsStatus.java
similarity index 99%
rename from src/main/java/org/torproject/onionoo/docs/WeightsStatus.java
rename to src/main/java/org/torproject/metrics/onionoo/docs/WeightsStatus.java
index c8b6fde..d0f50b6 100644
--- a/src/main/java/org/torproject/onionoo/docs/WeightsStatus.java
+++ b/src/main/java/org/torproject/metrics/onionoo/docs/WeightsStatus.java
@@ -1,7 +1,7 @@
 /* Copyright 2016--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/metrics/onionoo/docs/package-info.java b/src/main/java/org/torproject/metrics/onionoo/docs/package-info.java
new file mode 100644
index 0000000..75ca580
--- /dev/null
+++ b/src/main/java/org/torproject/metrics/onionoo/docs/package-info.java
@@ -0,0 +1,8 @@
+/* Copyright 2018 The Tor Project
+ * See LICENSE for licensing information */
+
+/**
+ * Documents managed by this service, including internal status files and
+ * pre-written response objects.
+ */
+package org.torproject.metrics.onionoo.docs;
\ No newline at end of file
diff --git a/src/main/java/org/torproject/metrics/onionoo/package-info.java b/src/main/java/org/torproject/metrics/onionoo/package-info.java
new file mode 100644
index 0000000..b13453e
--- /dev/null
+++ b/src/main/java/org/torproject/metrics/onionoo/package-info.java
@@ -0,0 +1,7 @@
+/* Copyright 2018 The Tor Project
+ * See LICENSE for licensing information */
+
+/**
+ * Root package for this service.
+ */
+package org.torproject.metrics.onionoo;
\ No newline at end of file
diff --git a/src/main/java/org/torproject/onionoo/server/Counter.java b/src/main/java/org/torproject/metrics/onionoo/server/Counter.java
similarity index 86%
rename from src/main/java/org/torproject/onionoo/server/Counter.java
rename to src/main/java/org/torproject/metrics/onionoo/server/Counter.java
index 5847bb4..c3b6ffd 100644
--- a/src/main/java/org/torproject/onionoo/server/Counter.java
+++ b/src/main/java/org/torproject/metrics/onionoo/server/Counter.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.server;
+package org.torproject.metrics.onionoo.server;
 
 class Counter {
 
diff --git a/src/main/java/org/torproject/onionoo/server/HttpServletRequestWrapper.java b/src/main/java/org/torproject/metrics/onionoo/server/HttpServletRequestWrapper.java
similarity index 94%
rename from src/main/java/org/torproject/onionoo/server/HttpServletRequestWrapper.java
rename to src/main/java/org/torproject/metrics/onionoo/server/HttpServletRequestWrapper.java
index c8771c8..91b5ea9 100644
--- a/src/main/java/org/torproject/onionoo/server/HttpServletRequestWrapper.java
+++ b/src/main/java/org/torproject/metrics/onionoo/server/HttpServletRequestWrapper.java
@@ -1,7 +1,7 @@
 /* Copyright 2011--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.server;
+package org.torproject.metrics.onionoo.server;
 
 import java.util.Map;
 
diff --git a/src/main/java/org/torproject/onionoo/server/HttpServletResponseWrapper.java b/src/main/java/org/torproject/metrics/onionoo/server/HttpServletResponseWrapper.java
similarity index 95%
rename from src/main/java/org/torproject/onionoo/server/HttpServletResponseWrapper.java
rename to src/main/java/org/torproject/metrics/onionoo/server/HttpServletResponseWrapper.java
index 4734e63..87dc451 100644
--- a/src/main/java/org/torproject/onionoo/server/HttpServletResponseWrapper.java
+++ b/src/main/java/org/torproject/metrics/onionoo/server/HttpServletResponseWrapper.java
@@ -1,7 +1,7 @@
 /* Copyright 2011--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.server;
+package org.torproject.metrics.onionoo.server;
 
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/src/main/java/org/torproject/onionoo/server/IntegerDistribution.java b/src/main/java/org/torproject/metrics/onionoo/server/IntegerDistribution.java
similarity index 96%
rename from src/main/java/org/torproject/onionoo/server/IntegerDistribution.java
rename to src/main/java/org/torproject/metrics/onionoo/server/IntegerDistribution.java
index 6c1f84d..ab38bf9 100644
--- a/src/main/java/org/torproject/onionoo/server/IntegerDistribution.java
+++ b/src/main/java/org/torproject/metrics/onionoo/server/IntegerDistribution.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.server;
+package org.torproject.metrics.onionoo.server;
 
 import java.util.Arrays;
 
diff --git a/src/main/java/org/torproject/onionoo/server/MostFrequentString.java b/src/main/java/org/torproject/metrics/onionoo/server/MostFrequentString.java
similarity index 97%
rename from src/main/java/org/torproject/onionoo/server/MostFrequentString.java
rename to src/main/java/org/torproject/metrics/onionoo/server/MostFrequentString.java
index a6b7cb5..1ee8c45 100644
--- a/src/main/java/org/torproject/onionoo/server/MostFrequentString.java
+++ b/src/main/java/org/torproject/metrics/onionoo/server/MostFrequentString.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.server;
+package org.torproject.metrics.onionoo.server;
 
 import java.util.Collections;
 import java.util.HashMap;
diff --git a/src/main/java/org/torproject/onionoo/server/NodeIndex.java b/src/main/java/org/torproject/metrics/onionoo/server/NodeIndex.java
similarity index 97%
rename from src/main/java/org/torproject/onionoo/server/NodeIndex.java
rename to src/main/java/org/torproject/metrics/onionoo/server/NodeIndex.java
index 0f38cd3..f461c25 100644
--- a/src/main/java/org/torproject/onionoo/server/NodeIndex.java
+++ b/src/main/java/org/torproject/metrics/onionoo/server/NodeIndex.java
@@ -1,10 +1,10 @@
 /* Copyright 2016--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.server;
+package org.torproject.metrics.onionoo.server;
 
-import org.torproject.onionoo.docs.SummaryDocument;
-import org.torproject.onionoo.updater.TorVersion;
+import org.torproject.metrics.onionoo.docs.SummaryDocument;
+import org.torproject.metrics.onionoo.updater.TorVersion;
 
 import java.text.SimpleDateFormat;
 import java.util.Map;
diff --git a/src/main/java/org/torproject/onionoo/server/NodeIndexer.java b/src/main/java/org/torproject/metrics/onionoo/server/NodeIndexer.java
similarity index 97%
rename from src/main/java/org/torproject/onionoo/server/NodeIndexer.java
rename to src/main/java/org/torproject/metrics/onionoo/server/NodeIndexer.java
index 1a13b99..a5128e1 100644
--- a/src/main/java/org/torproject/onionoo/server/NodeIndexer.java
+++ b/src/main/java/org/torproject/metrics/onionoo/server/NodeIndexer.java
@@ -1,16 +1,16 @@
 /* Copyright 2016--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.server;
+package org.torproject.metrics.onionoo.server;
 
-import static org.torproject.onionoo.docs.DateTimeHelper.ONE_DAY;
-import static org.torproject.onionoo.docs.DateTimeHelper.ONE_MINUTE;
+import static org.torproject.metrics.onionoo.docs.DateTimeHelper.ONE_DAY;
+import static org.torproject.metrics.onionoo.docs.DateTimeHelper.ONE_MINUTE;
 
-import org.torproject.onionoo.docs.DocumentStore;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.docs.SummaryDocument;
-import org.torproject.onionoo.docs.UpdateStatus;
-import org.torproject.onionoo.updater.TorVersion;
+import org.torproject.metrics.onionoo.docs.DocumentStore;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.docs.SummaryDocument;
+import org.torproject.metrics.onionoo.docs.UpdateStatus;
+import org.torproject.metrics.onionoo.updater.TorVersion;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/onionoo/server/NodeIndexerFactory.java b/src/main/java/org/torproject/metrics/onionoo/server/NodeIndexerFactory.java
similarity index 94%
rename from src/main/java/org/torproject/onionoo/server/NodeIndexerFactory.java
rename to src/main/java/org/torproject/metrics/onionoo/server/NodeIndexerFactory.java
index cef287a..e0ba666 100644
--- a/src/main/java/org/torproject/onionoo/server/NodeIndexerFactory.java
+++ b/src/main/java/org/torproject/metrics/onionoo/server/NodeIndexerFactory.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.server;
+package org.torproject.metrics.onionoo.server;
 
 public class NodeIndexerFactory {
 
diff --git a/src/main/java/org/torproject/onionoo/server/OrderParameterValues.java b/src/main/java/org/torproject/metrics/onionoo/server/OrderParameterValues.java
similarity index 92%
rename from src/main/java/org/torproject/onionoo/server/OrderParameterValues.java
rename to src/main/java/org/torproject/metrics/onionoo/server/OrderParameterValues.java
index ebfda12..b42a052 100644
--- a/src/main/java/org/torproject/onionoo/server/OrderParameterValues.java
+++ b/src/main/java/org/torproject/metrics/onionoo/server/OrderParameterValues.java
@@ -1,7 +1,7 @@
 /* Copyright 2017--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.server;
+package org.torproject.metrics.onionoo.server;
 
 /** Provides constants for order parameter values. */
 public class OrderParameterValues {
diff --git a/src/main/java/org/torproject/onionoo/server/PerformanceMetrics.java b/src/main/java/org/torproject/metrics/onionoo/server/PerformanceMetrics.java
similarity index 97%
rename from src/main/java/org/torproject/onionoo/server/PerformanceMetrics.java
rename to src/main/java/org/torproject/metrics/onionoo/server/PerformanceMetrics.java
index d0e7002..654b27c 100644
--- a/src/main/java/org/torproject/onionoo/server/PerformanceMetrics.java
+++ b/src/main/java/org/torproject/metrics/onionoo/server/PerformanceMetrics.java
@@ -1,9 +1,9 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.server;
+package org.torproject.metrics.onionoo.server;
 
-import org.torproject.onionoo.docs.DateTimeHelper;
+import org.torproject.metrics.onionoo.docs.DateTimeHelper;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/onionoo/server/RequestHandler.java b/src/main/java/org/torproject/metrics/onionoo/server/RequestHandler.java
similarity index 98%
rename from src/main/java/org/torproject/onionoo/server/RequestHandler.java
rename to src/main/java/org/torproject/metrics/onionoo/server/RequestHandler.java
index e3c94f9..ba4b293 100644
--- a/src/main/java/org/torproject/onionoo/server/RequestHandler.java
+++ b/src/main/java/org/torproject/metrics/onionoo/server/RequestHandler.java
@@ -1,12 +1,12 @@
 /* Copyright 2011--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.server;
+package org.torproject.metrics.onionoo.server;
 
-import org.torproject.onionoo.docs.DocumentStore;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.docs.SummaryDocument;
-import org.torproject.onionoo.updater.TorVersion;
+import org.torproject.metrics.onionoo.docs.DocumentStore;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.docs.SummaryDocument;
+import org.torproject.metrics.onionoo.updater.TorVersion;
 
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git a/src/main/java/org/torproject/onionoo/server/ResourceServlet.java b/src/main/java/org/torproject/metrics/onionoo/server/ResourceServlet.java
similarity index 99%
rename from src/main/java/org/torproject/onionoo/server/ResourceServlet.java
rename to src/main/java/org/torproject/metrics/onionoo/server/ResourceServlet.java
index 92c6635..0fee44b 100644
--- a/src/main/java/org/torproject/onionoo/server/ResourceServlet.java
+++ b/src/main/java/org/torproject/metrics/onionoo/server/ResourceServlet.java
@@ -1,9 +1,9 @@
 /* Copyright 2011--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.server;
+package org.torproject.metrics.onionoo.server;
 
-import org.torproject.onionoo.updater.TorVersion;
+import org.torproject.metrics.onionoo.updater.TorVersion;
 
 import org.apache.commons.lang3.StringUtils;
 
diff --git a/src/main/java/org/torproject/onionoo/server/ResponseBuilder.java b/src/main/java/org/torproject/metrics/onionoo/server/ResponseBuilder.java
similarity index 96%
rename from src/main/java/org/torproject/onionoo/server/ResponseBuilder.java
rename to src/main/java/org/torproject/metrics/onionoo/server/ResponseBuilder.java
index c87504c..fafa20b 100644
--- a/src/main/java/org/torproject/onionoo/server/ResponseBuilder.java
+++ b/src/main/java/org/torproject/metrics/onionoo/server/ResponseBuilder.java
@@ -1,17 +1,17 @@
 /* Copyright 2011--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.server;
-
-import org.torproject.onionoo.docs.BandwidthDocument;
-import org.torproject.onionoo.docs.ClientsDocument;
-import org.torproject.onionoo.docs.DetailsDocument;
-import org.torproject.onionoo.docs.DocumentStore;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.docs.SummaryDocument;
-import org.torproject.onionoo.docs.UptimeDocument;
-import org.torproject.onionoo.docs.WeightsDocument;
-import org.torproject.onionoo.util.FormattingUtils;
+package org.torproject.metrics.onionoo.server;
+
+import org.torproject.metrics.onionoo.docs.BandwidthDocument;
+import org.torproject.metrics.onionoo.docs.ClientsDocument;
+import org.torproject.metrics.onionoo.docs.DetailsDocument;
+import org.torproject.metrics.onionoo.docs.DocumentStore;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.docs.SummaryDocument;
+import org.torproject.metrics.onionoo.docs.UptimeDocument;
+import org.torproject.metrics.onionoo.docs.WeightsDocument;
+import org.torproject.metrics.onionoo.util.FormattingUtils;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
diff --git a/src/main/java/org/torproject/onionoo/server/ServerMain.java b/src/main/java/org/torproject/metrics/onionoo/server/ServerMain.java
similarity index 95%
rename from src/main/java/org/torproject/onionoo/server/ServerMain.java
rename to src/main/java/org/torproject/metrics/onionoo/server/ServerMain.java
index 03a4f18..115d64a 100644
--- a/src/main/java/org/torproject/onionoo/server/ServerMain.java
+++ b/src/main/java/org/torproject/metrics/onionoo/server/ServerMain.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.server;
+package org.torproject.metrics.onionoo.server;
 
 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.util.resource.Resource;
diff --git a/src/main/java/org/torproject/onionoo/server/SummaryDocumentComparator.java b/src/main/java/org/torproject/metrics/onionoo/server/SummaryDocumentComparator.java
similarity index 93%
rename from src/main/java/org/torproject/onionoo/server/SummaryDocumentComparator.java
rename to src/main/java/org/torproject/metrics/onionoo/server/SummaryDocumentComparator.java
index 86d4d32..9512a29 100644
--- a/src/main/java/org/torproject/onionoo/server/SummaryDocumentComparator.java
+++ b/src/main/java/org/torproject/metrics/onionoo/server/SummaryDocumentComparator.java
@@ -1,9 +1,9 @@
 /* Copyright 2017--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.server;
+package org.torproject.metrics.onionoo.server;
 
-import org.torproject.onionoo.docs.SummaryDocument;
+import org.torproject.metrics.onionoo.docs.SummaryDocument;
 
 import java.util.Comparator;
 
diff --git a/src/main/java/org/torproject/metrics/onionoo/server/package-info.java b/src/main/java/org/torproject/metrics/onionoo/server/package-info.java
new file mode 100644
index 0000000..9287320
--- /dev/null
+++ b/src/main/java/org/torproject/metrics/onionoo/server/package-info.java
@@ -0,0 +1,8 @@
+/* Copyright 2018 The Tor Project
+ * See LICENSE for licensing information */
+
+/**
+ * Server classes that process client requests. The web-facing part of this
+ * service.
+ */
+package org.torproject.metrics.onionoo.server;
\ No newline at end of file
diff --git a/src/main/java/org/torproject/onionoo/updater/BandwidthStatusUpdater.java b/src/main/java/org/torproject/metrics/onionoo/updater/BandwidthStatusUpdater.java
similarity index 89%
rename from src/main/java/org/torproject/onionoo/updater/BandwidthStatusUpdater.java
rename to src/main/java/org/torproject/metrics/onionoo/updater/BandwidthStatusUpdater.java
index b5e5ddb..0977f0f 100644
--- a/src/main/java/org/torproject/onionoo/updater/BandwidthStatusUpdater.java
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/BandwidthStatusUpdater.java
@@ -1,14 +1,14 @@
 /* Copyright 2011--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 import org.torproject.descriptor.Descriptor;
 import org.torproject.descriptor.ExtraInfoDescriptor;
-import org.torproject.onionoo.docs.BandwidthStatus;
-import org.torproject.onionoo.docs.DocumentStore;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.docs.NodeStatus;
+import org.torproject.metrics.onionoo.docs.BandwidthStatus;
+import org.torproject.metrics.onionoo.docs.DocumentStore;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.docs.NodeStatus;
 
 public class BandwidthStatusUpdater implements DescriptorListener,
     StatusUpdater {
diff --git a/src/main/java/org/torproject/onionoo/updater/ClientsStatusUpdater.java b/src/main/java/org/torproject/metrics/onionoo/updater/ClientsStatusUpdater.java
similarity index 93%
rename from src/main/java/org/torproject/onionoo/updater/ClientsStatusUpdater.java
rename to src/main/java/org/torproject/metrics/onionoo/updater/ClientsStatusUpdater.java
index e7ccd0b..c9daf92 100644
--- a/src/main/java/org/torproject/onionoo/updater/ClientsStatusUpdater.java
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/ClientsStatusUpdater.java
@@ -1,17 +1,17 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 import org.torproject.descriptor.Descriptor;
 import org.torproject.descriptor.ExtraInfoDescriptor;
-import org.torproject.onionoo.docs.ClientsHistory;
-import org.torproject.onionoo.docs.ClientsStatus;
-import org.torproject.onionoo.docs.DateTimeHelper;
-import org.torproject.onionoo.docs.DocumentStore;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.docs.NodeStatus;
-import org.torproject.onionoo.util.FormattingUtils;
+import org.torproject.metrics.onionoo.docs.ClientsHistory;
+import org.torproject.metrics.onionoo.docs.ClientsStatus;
+import org.torproject.metrics.onionoo.docs.DateTimeHelper;
+import org.torproject.metrics.onionoo.docs.DocumentStore;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.docs.NodeStatus;
+import org.torproject.metrics.onionoo.util.FormattingUtils;
 
 import java.util.Map;
 import java.util.SortedMap;
diff --git a/src/main/java/org/torproject/onionoo/updater/DescriptorHistory.java b/src/main/java/org/torproject/metrics/onionoo/updater/DescriptorHistory.java
similarity index 93%
rename from src/main/java/org/torproject/onionoo/updater/DescriptorHistory.java
rename to src/main/java/org/torproject/metrics/onionoo/updater/DescriptorHistory.java
index 0ab2d3d..1974083 100644
--- a/src/main/java/org/torproject/onionoo/updater/DescriptorHistory.java
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/DescriptorHistory.java
@@ -1,7 +1,7 @@
 /* Copyright 2016--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 public enum DescriptorHistory {
 
diff --git a/src/main/java/org/torproject/onionoo/updater/DescriptorListener.java b/src/main/java/org/torproject/metrics/onionoo/updater/DescriptorListener.java
similarity index 83%
rename from src/main/java/org/torproject/onionoo/updater/DescriptorListener.java
rename to src/main/java/org/torproject/metrics/onionoo/updater/DescriptorListener.java
index 6269772..53dac57 100644
--- a/src/main/java/org/torproject/onionoo/updater/DescriptorListener.java
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/DescriptorListener.java
@@ -1,7 +1,7 @@
 /* Copyright 2016--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 import org.torproject.descriptor.Descriptor;
 
diff --git a/src/main/java/org/torproject/onionoo/updater/DescriptorQueue.java b/src/main/java/org/torproject/metrics/onionoo/updater/DescriptorQueue.java
similarity index 99%
rename from src/main/java/org/torproject/onionoo/updater/DescriptorQueue.java
rename to src/main/java/org/torproject/metrics/onionoo/updater/DescriptorQueue.java
index 76e46a2..6cae37e 100644
--- a/src/main/java/org/torproject/onionoo/updater/DescriptorQueue.java
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/DescriptorQueue.java
@@ -1,7 +1,7 @@
 /* Copyright 2016--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 import org.torproject.descriptor.Descriptor;
 import org.torproject.descriptor.DescriptorReader;
diff --git a/src/main/java/org/torproject/onionoo/updater/DescriptorSource.java b/src/main/java/org/torproject/metrics/onionoo/updater/DescriptorSource.java
similarity index 99%
rename from src/main/java/org/torproject/onionoo/updater/DescriptorSource.java
rename to src/main/java/org/torproject/metrics/onionoo/updater/DescriptorSource.java
index afa27a5..6891667 100644
--- a/src/main/java/org/torproject/onionoo/updater/DescriptorSource.java
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/DescriptorSource.java
@@ -1,11 +1,11 @@
 /* Copyright 2013--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 import org.torproject.descriptor.Descriptor;
 import org.torproject.descriptor.DescriptorCollector;
-import org.torproject.onionoo.util.FormattingUtils;
+import org.torproject.metrics.onionoo.util.FormattingUtils;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/onionoo/updater/DescriptorSourceFactory.java b/src/main/java/org/torproject/metrics/onionoo/updater/DescriptorSourceFactory.java
similarity index 94%
rename from src/main/java/org/torproject/onionoo/updater/DescriptorSourceFactory.java
rename to src/main/java/org/torproject/metrics/onionoo/updater/DescriptorSourceFactory.java
index cf85a15..4bf60ec 100644
--- a/src/main/java/org/torproject/onionoo/updater/DescriptorSourceFactory.java
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/DescriptorSourceFactory.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 public class DescriptorSourceFactory {
 
diff --git a/src/main/java/org/torproject/onionoo/updater/DescriptorType.java b/src/main/java/org/torproject/metrics/onionoo/updater/DescriptorType.java
similarity index 92%
rename from src/main/java/org/torproject/onionoo/updater/DescriptorType.java
rename to src/main/java/org/torproject/metrics/onionoo/updater/DescriptorType.java
index de318c9..58857eb 100644
--- a/src/main/java/org/torproject/onionoo/updater/DescriptorType.java
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/DescriptorType.java
@@ -1,7 +1,7 @@
 /* Copyright 2013--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 public enum DescriptorType {
   RELAY_CONSENSUSES("relay-descriptors/consensuses"),
diff --git a/src/main/java/org/torproject/onionoo/updater/LookupResult.java b/src/main/java/org/torproject/metrics/onionoo/updater/LookupResult.java
similarity index 96%
rename from src/main/java/org/torproject/onionoo/updater/LookupResult.java
rename to src/main/java/org/torproject/metrics/onionoo/updater/LookupResult.java
index 9447c07..d789cbe 100644
--- a/src/main/java/org/torproject/onionoo/updater/LookupResult.java
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/LookupResult.java
@@ -1,7 +1,7 @@
 /* Copyright 2013--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 public class LookupResult {
 
diff --git a/src/main/java/org/torproject/onionoo/updater/LookupService.java b/src/main/java/org/torproject/metrics/onionoo/updater/LookupService.java
similarity index 99%
rename from src/main/java/org/torproject/onionoo/updater/LookupService.java
rename to src/main/java/org/torproject/metrics/onionoo/updater/LookupService.java
index 44c4d84..edcb2bd 100644
--- a/src/main/java/org/torproject/onionoo/updater/LookupService.java
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/LookupService.java
@@ -1,9 +1,9 @@
 /* Copyright 2013--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
-import org.torproject.onionoo.util.FormattingUtils;
+import org.torproject.metrics.onionoo.util.FormattingUtils;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/onionoo/updater/NodeDetailsStatusUpdater.java b/src/main/java/org/torproject/metrics/onionoo/updater/NodeDetailsStatusUpdater.java
similarity index 99%
rename from src/main/java/org/torproject/onionoo/updater/NodeDetailsStatusUpdater.java
rename to src/main/java/org/torproject/metrics/onionoo/updater/NodeDetailsStatusUpdater.java
index 9bb4ab7..e5a3f48 100644
--- a/src/main/java/org/torproject/onionoo/updater/NodeDetailsStatusUpdater.java
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/NodeDetailsStatusUpdater.java
@@ -1,7 +1,7 @@
 /* Copyright 2011--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 import org.torproject.descriptor.BridgeNetworkStatus;
 import org.torproject.descriptor.Descriptor;
@@ -10,12 +10,12 @@ import org.torproject.descriptor.ExtraInfoDescriptor;
 import org.torproject.descriptor.NetworkStatusEntry;
 import org.torproject.descriptor.RelayNetworkStatusConsensus;
 import org.torproject.descriptor.ServerDescriptor;
-import org.torproject.onionoo.docs.DateTimeHelper;
-import org.torproject.onionoo.docs.DetailsStatus;
-import org.torproject.onionoo.docs.DocumentStore;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.docs.NodeStatus;
-import org.torproject.onionoo.util.FormattingUtils;
+import org.torproject.metrics.onionoo.docs.DateTimeHelper;
+import org.torproject.metrics.onionoo.docs.DetailsStatus;
+import org.torproject.metrics.onionoo.docs.DocumentStore;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.docs.NodeStatus;
+import org.torproject.metrics.onionoo.util.FormattingUtils;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/onionoo/updater/RdnsLookupRequest.java b/src/main/java/org/torproject/metrics/onionoo/updater/RdnsLookupRequest.java
similarity index 98%
rename from src/main/java/org/torproject/onionoo/updater/RdnsLookupRequest.java
rename to src/main/java/org/torproject/metrics/onionoo/updater/RdnsLookupRequest.java
index 9f3c6cf..2f598a4 100644
--- a/src/main/java/org/torproject/onionoo/updater/RdnsLookupRequest.java
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/RdnsLookupRequest.java
@@ -1,7 +1,7 @@
 /* Copyright 2013--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 import java.util.Hashtable;
 import java.util.Set;
diff --git a/src/main/java/org/torproject/onionoo/updater/RdnsLookupWorker.java b/src/main/java/org/torproject/metrics/onionoo/updater/RdnsLookupWorker.java
similarity index 98%
rename from src/main/java/org/torproject/onionoo/updater/RdnsLookupWorker.java
rename to src/main/java/org/torproject/metrics/onionoo/updater/RdnsLookupWorker.java
index b5523a1..ab5360e 100644
--- a/src/main/java/org/torproject/onionoo/updater/RdnsLookupWorker.java
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/RdnsLookupWorker.java
@@ -1,7 +1,7 @@
 /* Copyright 2013--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 import java.util.SortedSet;
 
diff --git a/src/main/java/org/torproject/onionoo/updater/ReverseDomainNameResolver.java b/src/main/java/org/torproject/metrics/onionoo/updater/ReverseDomainNameResolver.java
similarity index 97%
rename from src/main/java/org/torproject/onionoo/updater/ReverseDomainNameResolver.java
rename to src/main/java/org/torproject/metrics/onionoo/updater/ReverseDomainNameResolver.java
index 6d48135..74fbeae 100644
--- a/src/main/java/org/torproject/onionoo/updater/ReverseDomainNameResolver.java
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/ReverseDomainNameResolver.java
@@ -1,9 +1,9 @@
 /* Copyright 2013--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
-import org.torproject.onionoo.util.FormattingUtils;
+import org.torproject.metrics.onionoo.util.FormattingUtils;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/src/main/java/org/torproject/onionoo/updater/StatusUpdateRunner.java b/src/main/java/org/torproject/metrics/onionoo/updater/StatusUpdateRunner.java
similarity index 97%
rename from src/main/java/org/torproject/onionoo/updater/StatusUpdateRunner.java
rename to src/main/java/org/torproject/metrics/onionoo/updater/StatusUpdateRunner.java
index d7eddfe..7193a7a 100644
--- a/src/main/java/org/torproject/onionoo/updater/StatusUpdateRunner.java
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/StatusUpdateRunner.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/onionoo/updater/StatusUpdater.java b/src/main/java/org/torproject/metrics/onionoo/updater/StatusUpdater.java
similarity index 78%
rename from src/main/java/org/torproject/onionoo/updater/StatusUpdater.java
rename to src/main/java/org/torproject/metrics/onionoo/updater/StatusUpdater.java
index 9f6328a..7adb59e 100644
--- a/src/main/java/org/torproject/onionoo/updater/StatusUpdater.java
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/StatusUpdater.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 public interface StatusUpdater {
 
diff --git a/src/main/java/org/torproject/onionoo/updater/TorVersion.java b/src/main/java/org/torproject/metrics/onionoo/updater/TorVersion.java
similarity index 99%
rename from src/main/java/org/torproject/onionoo/updater/TorVersion.java
rename to src/main/java/org/torproject/metrics/onionoo/updater/TorVersion.java
index 3fb0ef0..fc25811 100644
--- a/src/main/java/org/torproject/onionoo/updater/TorVersion.java
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/TorVersion.java
@@ -1,7 +1,7 @@
 /* Copyright 2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 import java.util.ArrayList;
 import java.util.HashMap;
diff --git a/src/main/java/org/torproject/onionoo/updater/TorVersionStatus.java b/src/main/java/org/torproject/metrics/onionoo/updater/TorVersionStatus.java
similarity index 95%
rename from src/main/java/org/torproject/onionoo/updater/TorVersionStatus.java
rename to src/main/java/org/torproject/metrics/onionoo/updater/TorVersionStatus.java
index 5825064..da2187d 100644
--- a/src/main/java/org/torproject/onionoo/updater/TorVersionStatus.java
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/TorVersionStatus.java
@@ -1,7 +1,7 @@
 /* Copyright 2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/src/main/java/org/torproject/onionoo/updater/UptimeStatusUpdater.java b/src/main/java/org/torproject/metrics/onionoo/updater/UptimeStatusUpdater.java
similarity index 95%
rename from src/main/java/org/torproject/onionoo/updater/UptimeStatusUpdater.java
rename to src/main/java/org/torproject/metrics/onionoo/updater/UptimeStatusUpdater.java
index 58cd2fb..584d24d 100644
--- a/src/main/java/org/torproject/onionoo/updater/UptimeStatusUpdater.java
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/UptimeStatusUpdater.java
@@ -1,17 +1,17 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 import org.torproject.descriptor.BridgeNetworkStatus;
 import org.torproject.descriptor.Descriptor;
 import org.torproject.descriptor.NetworkStatusEntry;
 import org.torproject.descriptor.RelayNetworkStatusConsensus;
-import org.torproject.onionoo.docs.DateTimeHelper;
-import org.torproject.onionoo.docs.DocumentStore;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.docs.UptimeStatus;
-import org.torproject.onionoo.util.FormattingUtils;
+import org.torproject.metrics.onionoo.docs.DateTimeHelper;
+import org.torproject.metrics.onionoo.docs.DocumentStore;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.docs.UptimeStatus;
+import org.torproject.metrics.onionoo.util.FormattingUtils;
 
 import java.util.BitSet;
 import java.util.HashMap;
diff --git a/src/main/java/org/torproject/onionoo/updater/WeightsStatusUpdater.java b/src/main/java/org/torproject/metrics/onionoo/updater/WeightsStatusUpdater.java
similarity index 96%
rename from src/main/java/org/torproject/onionoo/updater/WeightsStatusUpdater.java
rename to src/main/java/org/torproject/metrics/onionoo/updater/WeightsStatusUpdater.java
index 886f2f8..9253ba6 100644
--- a/src/main/java/org/torproject/onionoo/updater/WeightsStatusUpdater.java
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/WeightsStatusUpdater.java
@@ -1,15 +1,15 @@
 /* Copyright 2012--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 import org.torproject.descriptor.Descriptor;
 import org.torproject.descriptor.NetworkStatusEntry;
 import org.torproject.descriptor.RelayNetworkStatusConsensus;
-import org.torproject.onionoo.docs.DocumentStore;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.docs.NodeStatus;
-import org.torproject.onionoo.docs.WeightsStatus;
+import org.torproject.metrics.onionoo.docs.DocumentStore;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.docs.NodeStatus;
+import org.torproject.metrics.onionoo.docs.WeightsStatus;
 
 import java.util.Arrays;
 import java.util.Map;
diff --git a/src/main/java/org/torproject/metrics/onionoo/updater/package-info.java b/src/main/java/org/torproject/metrics/onionoo/updater/package-info.java
new file mode 100644
index 0000000..f630fa1
--- /dev/null
+++ b/src/main/java/org/torproject/metrics/onionoo/updater/package-info.java
@@ -0,0 +1,8 @@
+/* Copyright 2018 The Tor Project
+ * See LICENSE for licensing information */
+
+/**
+ * Classes related to the updater feature, which periodically updates internal
+ * files related to status and metrics.
+ */
+package org.torproject.metrics.onionoo.updater;
\ No newline at end of file
diff --git a/src/main/java/org/torproject/onionoo/util/FormattingUtils.java b/src/main/java/org/torproject/metrics/onionoo/util/FormattingUtils.java
similarity index 97%
rename from src/main/java/org/torproject/onionoo/util/FormattingUtils.java
rename to src/main/java/org/torproject/metrics/onionoo/util/FormattingUtils.java
index 5307384..7cc721c 100644
--- a/src/main/java/org/torproject/onionoo/util/FormattingUtils.java
+++ b/src/main/java/org/torproject/metrics/onionoo/util/FormattingUtils.java
@@ -1,7 +1,7 @@
 /* Copyright 2013--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.util;
+package org.torproject.metrics.onionoo.util;
 
 import static org.apache.commons.lang3.StringEscapeUtils.unescapeJava;
 
diff --git a/src/main/java/org/torproject/metrics/onionoo/util/package-info.java b/src/main/java/org/torproject/metrics/onionoo/util/package-info.java
new file mode 100644
index 0000000..5deaab2
--- /dev/null
+++ b/src/main/java/org/torproject/metrics/onionoo/util/package-info.java
@@ -0,0 +1,8 @@
+/* Copyright 2018 The Tor Project
+ * See LICENSE for licensing information */
+
+/**
+ * Generic utilities for aiding other classes. Feature-specific utility classes
+ * should be placed in feature-specific packages.
+ */
+package org.torproject.metrics.onionoo.util;
\ No newline at end of file
diff --git a/src/main/java/org/torproject/onionoo/writer/BandwidthDocumentWriter.java b/src/main/java/org/torproject/metrics/onionoo/writer/BandwidthDocumentWriter.java
similarity index 87%
rename from src/main/java/org/torproject/onionoo/writer/BandwidthDocumentWriter.java
rename to src/main/java/org/torproject/metrics/onionoo/writer/BandwidthDocumentWriter.java
index 46072bc..d82a55b 100644
--- a/src/main/java/org/torproject/onionoo/writer/BandwidthDocumentWriter.java
+++ b/src/main/java/org/torproject/metrics/onionoo/writer/BandwidthDocumentWriter.java
@@ -1,15 +1,15 @@
 /* Copyright 2011--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.writer;
-
-import org.torproject.onionoo.docs.BandwidthDocument;
-import org.torproject.onionoo.docs.BandwidthStatus;
-import org.torproject.onionoo.docs.DateTimeHelper;
-import org.torproject.onionoo.docs.DocumentStore;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.docs.GraphHistory;
-import org.torproject.onionoo.docs.UpdateStatus;
+package org.torproject.metrics.onionoo.writer;
+
+import org.torproject.metrics.onionoo.docs.BandwidthDocument;
+import org.torproject.metrics.onionoo.docs.BandwidthStatus;
+import org.torproject.metrics.onionoo.docs.DateTimeHelper;
+import org.torproject.metrics.onionoo.docs.DocumentStore;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.docs.GraphHistory;
+import org.torproject.metrics.onionoo.docs.UpdateStatus;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/onionoo/writer/ClientsDocumentWriter.java b/src/main/java/org/torproject/metrics/onionoo/writer/ClientsDocumentWriter.java
similarity index 87%
rename from src/main/java/org/torproject/onionoo/writer/ClientsDocumentWriter.java
rename to src/main/java/org/torproject/metrics/onionoo/writer/ClientsDocumentWriter.java
index fcd03d6..b1406ac 100644
--- a/src/main/java/org/torproject/onionoo/writer/ClientsDocumentWriter.java
+++ b/src/main/java/org/torproject/metrics/onionoo/writer/ClientsDocumentWriter.java
@@ -1,16 +1,16 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.writer;
-
-import org.torproject.onionoo.docs.ClientsDocument;
-import org.torproject.onionoo.docs.ClientsHistory;
-import org.torproject.onionoo.docs.ClientsStatus;
-import org.torproject.onionoo.docs.DateTimeHelper;
-import org.torproject.onionoo.docs.DocumentStore;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.docs.UpdateStatus;
-import org.torproject.onionoo.util.FormattingUtils;
+package org.torproject.metrics.onionoo.writer;
+
+import org.torproject.metrics.onionoo.docs.ClientsDocument;
+import org.torproject.metrics.onionoo.docs.ClientsHistory;
+import org.torproject.metrics.onionoo.docs.ClientsStatus;
+import org.torproject.metrics.onionoo.docs.DateTimeHelper;
+import org.torproject.metrics.onionoo.docs.DocumentStore;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.docs.UpdateStatus;
+import org.torproject.metrics.onionoo.util.FormattingUtils;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/onionoo/writer/DetailsDocumentWriter.java b/src/main/java/org/torproject/metrics/onionoo/writer/DetailsDocumentWriter.java
similarity index 96%
rename from src/main/java/org/torproject/onionoo/writer/DetailsDocumentWriter.java
rename to src/main/java/org/torproject/metrics/onionoo/writer/DetailsDocumentWriter.java
index d33ae4d..0be2b21 100644
--- a/src/main/java/org/torproject/onionoo/writer/DetailsDocumentWriter.java
+++ b/src/main/java/org/torproject/metrics/onionoo/writer/DetailsDocumentWriter.java
@@ -1,13 +1,13 @@
 /* Copyright 2016--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.writer;
+package org.torproject.metrics.onionoo.writer;
 
-import org.torproject.onionoo.docs.DetailsDocument;
-import org.torproject.onionoo.docs.DetailsStatus;
-import org.torproject.onionoo.docs.DocumentStore;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.docs.UpdateStatus;
+import org.torproject.metrics.onionoo.docs.DetailsDocument;
+import org.torproject.metrics.onionoo.docs.DetailsStatus;
+import org.torproject.metrics.onionoo.docs.DocumentStore;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.docs.UpdateStatus;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/onionoo/writer/DocumentWriter.java b/src/main/java/org/torproject/metrics/onionoo/writer/DocumentWriter.java
similarity index 81%
rename from src/main/java/org/torproject/onionoo/writer/DocumentWriter.java
rename to src/main/java/org/torproject/metrics/onionoo/writer/DocumentWriter.java
index bf90d3e..2c288f1 100644
--- a/src/main/java/org/torproject/onionoo/writer/DocumentWriter.java
+++ b/src/main/java/org/torproject/metrics/onionoo/writer/DocumentWriter.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.writer;
+package org.torproject.metrics.onionoo.writer;
 
 public interface DocumentWriter {
 
diff --git a/src/main/java/org/torproject/onionoo/writer/DocumentWriterRunner.java b/src/main/java/org/torproject/metrics/onionoo/writer/DocumentWriterRunner.java
similarity index 90%
rename from src/main/java/org/torproject/onionoo/writer/DocumentWriterRunner.java
rename to src/main/java/org/torproject/metrics/onionoo/writer/DocumentWriterRunner.java
index d69c129..96f8bdf 100644
--- a/src/main/java/org/torproject/onionoo/writer/DocumentWriterRunner.java
+++ b/src/main/java/org/torproject/metrics/onionoo/writer/DocumentWriterRunner.java
@@ -1,11 +1,11 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.writer;
+package org.torproject.metrics.onionoo.writer;
 
-import org.torproject.onionoo.docs.DocumentStore;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.docs.NodeStatus;
+import org.torproject.metrics.onionoo.docs.DocumentStore;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.docs.NodeStatus;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/onionoo/writer/GraphHistoryCompiler.java b/src/main/java/org/torproject/metrics/onionoo/writer/GraphHistoryCompiler.java
similarity index 98%
rename from src/main/java/org/torproject/onionoo/writer/GraphHistoryCompiler.java
rename to src/main/java/org/torproject/metrics/onionoo/writer/GraphHistoryCompiler.java
index 853ab32..3fbf46c 100644
--- a/src/main/java/org/torproject/onionoo/writer/GraphHistoryCompiler.java
+++ b/src/main/java/org/torproject/metrics/onionoo/writer/GraphHistoryCompiler.java
@@ -1,10 +1,10 @@
 /* Copyright 2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.writer;
+package org.torproject.metrics.onionoo.writer;
 
-import org.torproject.onionoo.docs.DateTimeHelper;
-import org.torproject.onionoo.docs.GraphHistory;
+import org.torproject.metrics.onionoo.docs.DateTimeHelper;
+import org.torproject.metrics.onionoo.docs.GraphHistory;
 
 import java.time.LocalDateTime;
 import java.time.Period;
diff --git a/src/main/java/org/torproject/onionoo/writer/SummaryDocumentWriter.java b/src/main/java/org/torproject/metrics/onionoo/writer/SummaryDocumentWriter.java
similarity index 91%
rename from src/main/java/org/torproject/onionoo/writer/SummaryDocumentWriter.java
rename to src/main/java/org/torproject/metrics/onionoo/writer/SummaryDocumentWriter.java
index 3fb8312..4b20ba8 100644
--- a/src/main/java/org/torproject/onionoo/writer/SummaryDocumentWriter.java
+++ b/src/main/java/org/torproject/metrics/onionoo/writer/SummaryDocumentWriter.java
@@ -1,14 +1,14 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.writer;
+package org.torproject.metrics.onionoo.writer;
 
-import org.torproject.onionoo.docs.DateTimeHelper;
-import org.torproject.onionoo.docs.DocumentStore;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.docs.NodeStatus;
-import org.torproject.onionoo.docs.SummaryDocument;
-import org.torproject.onionoo.util.FormattingUtils;
+import org.torproject.metrics.onionoo.docs.DateTimeHelper;
+import org.torproject.metrics.onionoo.docs.DocumentStore;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.docs.NodeStatus;
+import org.torproject.metrics.onionoo.docs.SummaryDocument;
+import org.torproject.metrics.onionoo.util.FormattingUtils;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/onionoo/writer/UptimeDocumentWriter.java b/src/main/java/org/torproject/metrics/onionoo/writer/UptimeDocumentWriter.java
similarity index 94%
rename from src/main/java/org/torproject/onionoo/writer/UptimeDocumentWriter.java
rename to src/main/java/org/torproject/metrics/onionoo/writer/UptimeDocumentWriter.java
index d08f147..fc9b08a 100644
--- a/src/main/java/org/torproject/onionoo/writer/UptimeDocumentWriter.java
+++ b/src/main/java/org/torproject/metrics/onionoo/writer/UptimeDocumentWriter.java
@@ -1,17 +1,17 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.writer;
-
-import org.torproject.onionoo.docs.DateTimeHelper;
-import org.torproject.onionoo.docs.DocumentStore;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.docs.GraphHistory;
-import org.torproject.onionoo.docs.UpdateStatus;
-import org.torproject.onionoo.docs.UptimeDocument;
-import org.torproject.onionoo.docs.UptimeHistory;
-import org.torproject.onionoo.docs.UptimeStatus;
-import org.torproject.onionoo.util.FormattingUtils;
+package org.torproject.metrics.onionoo.writer;
+
+import org.torproject.metrics.onionoo.docs.DateTimeHelper;
+import org.torproject.metrics.onionoo.docs.DocumentStore;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.docs.GraphHistory;
+import org.torproject.metrics.onionoo.docs.UpdateStatus;
+import org.torproject.metrics.onionoo.docs.UptimeDocument;
+import org.torproject.metrics.onionoo.docs.UptimeHistory;
+import org.torproject.metrics.onionoo.docs.UptimeStatus;
+import org.torproject.metrics.onionoo.util.FormattingUtils;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/onionoo/writer/WeightsDocumentWriter.java b/src/main/java/org/torproject/metrics/onionoo/writer/WeightsDocumentWriter.java
similarity index 89%
rename from src/main/java/org/torproject/onionoo/writer/WeightsDocumentWriter.java
rename to src/main/java/org/torproject/metrics/onionoo/writer/WeightsDocumentWriter.java
index 0984367..d5bf95d 100644
--- a/src/main/java/org/torproject/onionoo/writer/WeightsDocumentWriter.java
+++ b/src/main/java/org/torproject/metrics/onionoo/writer/WeightsDocumentWriter.java
@@ -1,15 +1,15 @@
 /* Copyright 2012--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.writer;
-
-import org.torproject.onionoo.docs.DateTimeHelper;
-import org.torproject.onionoo.docs.DocumentStore;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.docs.GraphHistory;
-import org.torproject.onionoo.docs.UpdateStatus;
-import org.torproject.onionoo.docs.WeightsDocument;
-import org.torproject.onionoo.docs.WeightsStatus;
+package org.torproject.metrics.onionoo.writer;
+
+import org.torproject.metrics.onionoo.docs.DateTimeHelper;
+import org.torproject.metrics.onionoo.docs.DocumentStore;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.docs.GraphHistory;
+import org.torproject.metrics.onionoo.docs.UpdateStatus;
+import org.torproject.metrics.onionoo.docs.WeightsDocument;
+import org.torproject.metrics.onionoo.docs.WeightsStatus;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/torproject/metrics/onionoo/writer/package-info.java b/src/main/java/org/torproject/metrics/onionoo/writer/package-info.java
new file mode 100644
index 0000000..ed5ec44
--- /dev/null
+++ b/src/main/java/org/torproject/metrics/onionoo/writer/package-info.java
@@ -0,0 +1,8 @@
+/* Copyright 2018 The Tor Project
+ * See LICENSE for licensing information */
+
+/**
+ * Classes responsible for pre-building documents that can later be sent in
+ * response to client requests.
+ */
+package org.torproject.metrics.onionoo.writer;
\ No newline at end of file
diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml
index 19ae9f7..d61be28 100644
--- a/src/main/resources/logback.xml
+++ b/src/main/resources/logback.xml
@@ -62,11 +62,11 @@
 
   <logger name="org.eclipse" level="INFO" />
 
-  <logger name="org.torproject.onionoo.cron.Main" >
+  <logger name="org.torproject.metrics.onionoo.cron.Main" >
     <appender-ref ref="FILESTATISTICS" />
   </logger>
 
-  <logger name="org.torproject.onionoo.server.PerformanceMetrics" >
+  <logger name="org.torproject.metrics.onionoo.server.PerformanceMetrics" >
     <appender-ref ref="FILESTATISTICS" />
   </logger>
 
diff --git a/src/main/resources/web.xml b/src/main/resources/web.xml
index da1431b..fda0c90 100644
--- a/src/main/resources/web.xml
+++ b/src/main/resources/web.xml
@@ -9,7 +9,7 @@
   <servlet>
     <servlet-name>Resource</servlet-name>
     <servlet-class>
-      org.torproject.onionoo.server.ResourceServlet
+      org.torproject.metrics.onionoo.server.ResourceServlet
     </servlet-class>
     <init-param>
       <param-name>maintenance</param-name>
@@ -43,7 +43,7 @@
 
   <listener>
     <listener-class>
-      org.torproject.onionoo.server.NodeIndexer
+      org.torproject.metrics.onionoo.server.NodeIndexer
     </listener-class>
   </listener>
 
diff --git a/src/test/java/org/torproject/onionoo/docs/BandwidthStatusTest.java b/src/test/java/org/torproject/metrics/onionoo/docs/BandwidthStatusTest.java
similarity index 99%
rename from src/test/java/org/torproject/onionoo/docs/BandwidthStatusTest.java
rename to src/test/java/org/torproject/metrics/onionoo/docs/BandwidthStatusTest.java
index 34e8654..635fc8b 100644
--- a/src/test/java/org/torproject/onionoo/docs/BandwidthStatusTest.java
+++ b/src/test/java/org/torproject/metrics/onionoo/docs/BandwidthStatusTest.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
diff --git a/src/test/java/org/torproject/onionoo/docs/DummyDocumentStore.java b/src/test/java/org/torproject/metrics/onionoo/docs/DummyDocumentStore.java
similarity index 98%
rename from src/test/java/org/torproject/onionoo/docs/DummyDocumentStore.java
rename to src/test/java/org/torproject/metrics/onionoo/docs/DummyDocumentStore.java
index a8f51ae..42ef483 100644
--- a/src/test/java/org/torproject/onionoo/docs/DummyDocumentStore.java
+++ b/src/test/java/org/torproject/metrics/onionoo/docs/DummyDocumentStore.java
@@ -1,7 +1,7 @@
 /* Copyright 2015--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/src/test/java/org/torproject/onionoo/docs/NodeStatusTest.java b/src/test/java/org/torproject/metrics/onionoo/docs/NodeStatusTest.java
similarity index 99%
rename from src/test/java/org/torproject/onionoo/docs/NodeStatusTest.java
rename to src/test/java/org/torproject/metrics/onionoo/docs/NodeStatusTest.java
index 2b90ece..4e98a53 100644
--- a/src/test/java/org/torproject/onionoo/docs/NodeStatusTest.java
+++ b/src/test/java/org/torproject/metrics/onionoo/docs/NodeStatusTest.java
@@ -1,7 +1,7 @@
 /* Copyright 2015--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
diff --git a/src/test/java/org/torproject/onionoo/docs/SummaryDocumentTest.java b/src/test/java/org/torproject/metrics/onionoo/docs/SummaryDocumentTest.java
similarity index 98%
rename from src/test/java/org/torproject/onionoo/docs/SummaryDocumentTest.java
rename to src/test/java/org/torproject/metrics/onionoo/docs/SummaryDocumentTest.java
index be183e3..ee2d4e7 100644
--- a/src/test/java/org/torproject/onionoo/docs/SummaryDocumentTest.java
+++ b/src/test/java/org/torproject/metrics/onionoo/docs/SummaryDocumentTest.java
@@ -1,7 +1,7 @@
 /* Copyright 2015--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertTrue;
diff --git a/src/test/java/org/torproject/onionoo/docs/UptimeStatusTest.java b/src/test/java/org/torproject/metrics/onionoo/docs/UptimeStatusTest.java
similarity index 99%
rename from src/test/java/org/torproject/onionoo/docs/UptimeStatusTest.java
rename to src/test/java/org/torproject/metrics/onionoo/docs/UptimeStatusTest.java
index 31a7ef9..e55b295 100644
--- a/src/test/java/org/torproject/onionoo/docs/UptimeStatusTest.java
+++ b/src/test/java/org/torproject/metrics/onionoo/docs/UptimeStatusTest.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
diff --git a/src/test/java/org/torproject/onionoo/docs/WeightsStatusTest.java b/src/test/java/org/torproject/metrics/onionoo/docs/WeightsStatusTest.java
similarity index 99%
rename from src/test/java/org/torproject/onionoo/docs/WeightsStatusTest.java
rename to src/test/java/org/torproject/metrics/onionoo/docs/WeightsStatusTest.java
index e28f989..8f2155c 100644
--- a/src/test/java/org/torproject/onionoo/docs/WeightsStatusTest.java
+++ b/src/test/java/org/torproject/metrics/onionoo/docs/WeightsStatusTest.java
@@ -1,7 +1,7 @@
 /* Copyright 2016--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.docs;
+package org.torproject.metrics.onionoo.docs;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
diff --git a/src/test/java/org/torproject/onionoo/server/PerformanceMetricsTest.java b/src/test/java/org/torproject/metrics/onionoo/server/PerformanceMetricsTest.java
similarity index 99%
rename from src/test/java/org/torproject/onionoo/server/PerformanceMetricsTest.java
rename to src/test/java/org/torproject/metrics/onionoo/server/PerformanceMetricsTest.java
index e3d60ef..b1593df 100644
--- a/src/test/java/org/torproject/onionoo/server/PerformanceMetricsTest.java
+++ b/src/test/java/org/torproject/metrics/onionoo/server/PerformanceMetricsTest.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.server;
+package org.torproject.metrics.onionoo.server;
 
 import static org.junit.Assert.assertEquals;
 
diff --git a/src/test/java/org/torproject/onionoo/server/ResourceServletTest.java b/src/test/java/org/torproject/metrics/onionoo/server/ResourceServletTest.java
similarity index 96%
rename from src/test/java/org/torproject/onionoo/server/ResourceServletTest.java
rename to src/test/java/org/torproject/metrics/onionoo/server/ResourceServletTest.java
index 5ed4d11..7c3c52e 100644
--- a/src/test/java/org/torproject/onionoo/server/ResourceServletTest.java
+++ b/src/test/java/org/torproject/metrics/onionoo/server/ResourceServletTest.java
@@ -1,17 +1,17 @@
 /* Copyright 2013--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.server;
+package org.torproject.metrics.onionoo.server;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
 
-import org.torproject.onionoo.docs.DateTimeHelper;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.docs.DummyDocumentStore;
-import org.torproject.onionoo.docs.UpdateStatus;
+import org.torproject.metrics.onionoo.docs.DateTimeHelper;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.docs.DummyDocumentStore;
+import org.torproject.metrics.onionoo.docs.UpdateStatus;
 
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -38,8 +38,9 @@ public class ResourceServletTest {
 
   private static ObjectMapper objectMapper = new ObjectMapper();
 
-  private SortedMap<String, org.torproject.onionoo.docs.SummaryDocument> relays;
-  private SortedMap<String, org.torproject.onionoo.docs.SummaryDocument>
+  private SortedMap<String, org.torproject.metrics.onionoo.docs.SummaryDocument>
+      relays;
+  private SortedMap<String, org.torproject.metrics.onionoo.docs.SummaryDocument>
       bridges;
 
   private static long TEST_TIME = DateTimeHelper.parse("2013-04-24 12:22:22");
@@ -131,8 +132,8 @@ public class ResourceServletTest {
   @Before
   public void createSampleRelaysAndBridges() {
     this.relays = new TreeMap<>();
-    org.torproject.onionoo.docs.SummaryDocument relayTorkaZ =
-        new org.torproject.onionoo.docs.SummaryDocument(true, "TorkaZ",
+    org.torproject.metrics.onionoo.docs.SummaryDocument relayTorkaZ =
+        new org.torproject.metrics.onionoo.docs.SummaryDocument(true, "TorkaZ",
         "000C5F55BD4814B917CC474BD537F1A3B33CCE2A", Arrays.asList(
             "62.216.201.221", "62.216.201.222",
             "62.216.201.223"), DateTimeHelper.parse("2013-04-19 05:00:00"),
@@ -152,10 +153,10 @@ public class ResourceServletTest {
         null, true);
     this.relays.put("000C5F55BD4814B917CC474BD537F1A3B33CCE2A",
         relayTorkaZ);
-    org.torproject.onionoo.docs.SummaryDocument relayFerrari458 =
-        new org.torproject.onionoo.docs.SummaryDocument(true, "Ferrari458",
-        "001C13B3A55A71B977CA65EC85539D79C653A3FC", Arrays.asList(
-            "68.38.171.200", "[2001:4f8:3:2e::51]"),
+    org.torproject.metrics.onionoo.docs.SummaryDocument relayFerrari458 =
+        new org.torproject.metrics.onionoo.docs.SummaryDocument(true,
+            "Ferrari458", "001C13B3A55A71B977CA65EC85539D79C653A3FC",
+            Arrays.asList("68.38.171.200", "[2001:4f8:3:2e::51]"),
         DateTimeHelper.parse("2013-04-24 12:00:00"), true,
         new TreeSet<>(Arrays.asList("Fast", "Named",
             "Running", "V2Dir", "Valid")), 1140L, "us",
@@ -171,10 +172,10 @@ public class ResourceServletTest {
         null, null);
     this.relays.put("001C13B3A55A71B977CA65EC85539D79C653A3FC",
         relayFerrari458);
-    org.torproject.onionoo.docs.SummaryDocument relayTimMayTribute =
-        new org.torproject.onionoo.docs.SummaryDocument(true, "TimMayTribute",
-        "0025C136C1F3A9EEFE2AE3F918F03BFA21B5070B", Arrays.asList(
-            "89.69.68.246"),
+    org.torproject.metrics.onionoo.docs.SummaryDocument relayTimMayTribute =
+        new org.torproject.metrics.onionoo.docs.SummaryDocument(true,
+            "TimMayTribute", "0025C136C1F3A9EEFE2AE3F918F03BFA21B5070B",
+            Arrays.asList("89.69.68.246"),
         DateTimeHelper.parse("2013-04-22 20:00:00"), false,
         new TreeSet<>(Arrays.asList("Fast",
             "Running", "Unnamed", "V2Dir", "Valid")), 63L, "a1",
@@ -187,8 +188,9 @@ public class ResourceServletTest {
     this.relays.put("0025C136C1F3A9EEFE2AE3F918F03BFA21B5070B",
         relayTimMayTribute);
     this.bridges = new TreeMap<>();
-    org.torproject.onionoo.docs.SummaryDocument bridgeec2bridgercc7f31fe =
-        new org.torproject.onionoo.docs.SummaryDocument(false,
+    org.torproject.metrics.onionoo.docs.SummaryDocument
+        bridgeec2bridgercc7f31fe =
+        new org.torproject.metrics.onionoo.docs.SummaryDocument(false,
         "ec2bridgercc7f31fe", "0000831B236DFF73D409AD17B40E2A728A53994F",
         Arrays.asList("10.199.7.176"),
         DateTimeHelper.parse("2013-04-21 18:07:03"), false,
@@ -197,18 +199,18 @@ public class ResourceServletTest {
         null, null, "0.2.2.39", null, null, null, true);
     this.bridges.put("0000831B236DFF73D409AD17B40E2A728A53994F",
         bridgeec2bridgercc7f31fe);
-    org.torproject.onionoo.docs.SummaryDocument bridgeUnnamed =
-        new org.torproject.onionoo.docs.SummaryDocument(false, "Unnamed",
-        "0002D9BDBBC230BD9C78FF502A16E0033EF87E0C", Arrays.asList(
-            "10.0.52.84"),
+    org.torproject.metrics.onionoo.docs.SummaryDocument bridgeUnnamed =
+        new org.torproject.metrics.onionoo.docs.SummaryDocument(false,
+            "Unnamed", "0002D9BDBBC230BD9C78FF502A16E0033EF87E0C",
+            Arrays.asList("10.0.52.84"),
         DateTimeHelper.parse("2013-04-20 17:37:04"), false,
         new TreeSet<>(Arrays.asList("Valid")), -1L,
         null, DateTimeHelper.parse("2013-04-14 07:07:05"), null, null, null,
         null, null, null, null, null, null, null);
     this.bridges.put("0002D9BDBBC230BD9C78FF502A16E0033EF87E0C",
         bridgeUnnamed);
-    org.torproject.onionoo.docs.SummaryDocument bridgegummy =
-        new org.torproject.onionoo.docs.SummaryDocument(false, "gummy",
+    org.torproject.metrics.onionoo.docs.SummaryDocument bridgegummy =
+        new org.torproject.metrics.onionoo.docs.SummaryDocument(false, "gummy",
         "1FEDE50ED8DBA1DD9F9165F78C8131E4A44AB756", Arrays.asList(
             "10.63.169.98"),
         DateTimeHelper.parse("2013-04-24 01:07:04"), true,
@@ -236,12 +238,12 @@ public class ResourceServletTest {
     UpdateStatus updateStatus = new UpdateStatus();
     updateStatus.setUpdatedMillis(TEST_TIME);
     documentStore.addDocument(updateStatus, null);
-    for (Map.Entry<String, org.torproject.onionoo.docs.SummaryDocument> e :
-        this.relays.entrySet()) {
+    for (Map.Entry<String, org.torproject.metrics.onionoo.docs.SummaryDocument>
+             e : this.relays.entrySet()) {
       documentStore.addDocument(e.getValue(), e.getKey());
     }
-    for (Map.Entry<String, org.torproject.onionoo.docs.SummaryDocument> e :
-        this.bridges.entrySet()) {
+    for (Map.Entry<String, org.torproject.metrics.onionoo.docs.SummaryDocument>
+             e : this.bridges.entrySet()) {
       documentStore.addDocument(e.getValue(), e.getKey());
     }
     DocumentStoreFactory.setDocumentStore(documentStore);
diff --git a/src/test/java/org/torproject/onionoo/server/SummaryDocumentComparatorTest.java b/src/test/java/org/torproject/metrics/onionoo/server/SummaryDocumentComparatorTest.java
similarity index 95%
rename from src/test/java/org/torproject/onionoo/server/SummaryDocumentComparatorTest.java
rename to src/test/java/org/torproject/metrics/onionoo/server/SummaryDocumentComparatorTest.java
index 92922f0..26aec68 100644
--- a/src/test/java/org/torproject/onionoo/server/SummaryDocumentComparatorTest.java
+++ b/src/test/java/org/torproject/metrics/onionoo/server/SummaryDocumentComparatorTest.java
@@ -1,12 +1,12 @@
 /* Copyright 2017--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.server;
+package org.torproject.metrics.onionoo.server;
 
 import static org.junit.Assert.assertEquals;
 
-import org.torproject.onionoo.docs.DateTimeHelper;
-import org.torproject.onionoo.docs.SummaryDocument;
+import org.torproject.metrics.onionoo.docs.DateTimeHelper;
+import org.torproject.metrics.onionoo.docs.SummaryDocument;
 
 import org.hamcrest.Matchers;
 import org.junit.Rule;
diff --git a/src/test/java/org/torproject/onionoo/updater/DummyBridgeStatus.java b/src/test/java/org/torproject/metrics/onionoo/updater/DummyBridgeStatus.java
similarity index 97%
rename from src/test/java/org/torproject/onionoo/updater/DummyBridgeStatus.java
rename to src/test/java/org/torproject/metrics/onionoo/updater/DummyBridgeStatus.java
index f16a713..20ec86b 100644
--- a/src/test/java/org/torproject/onionoo/updater/DummyBridgeStatus.java
+++ b/src/test/java/org/torproject/metrics/onionoo/updater/DummyBridgeStatus.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 import org.torproject.descriptor.BridgeNetworkStatus;
 import org.torproject.descriptor.NetworkStatusEntry;
diff --git a/src/test/java/org/torproject/onionoo/updater/DummyConsensus.java b/src/test/java/org/torproject/metrics/onionoo/updater/DummyConsensus.java
similarity index 98%
rename from src/test/java/org/torproject/onionoo/updater/DummyConsensus.java
rename to src/test/java/org/torproject/metrics/onionoo/updater/DummyConsensus.java
index 245226b..0ce0825 100644
--- a/src/test/java/org/torproject/onionoo/updater/DummyConsensus.java
+++ b/src/test/java/org/torproject/metrics/onionoo/updater/DummyConsensus.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 import org.torproject.descriptor.DirSourceEntry;
 import org.torproject.descriptor.DirectorySignature;
diff --git a/src/test/java/org/torproject/onionoo/updater/DummyDescriptorSource.java b/src/test/java/org/torproject/metrics/onionoo/updater/DummyDescriptorSource.java
similarity index 98%
rename from src/test/java/org/torproject/onionoo/updater/DummyDescriptorSource.java
rename to src/test/java/org/torproject/metrics/onionoo/updater/DummyDescriptorSource.java
index e31585d..5cd075c 100644
--- a/src/test/java/org/torproject/onionoo/updater/DummyDescriptorSource.java
+++ b/src/test/java/org/torproject/metrics/onionoo/updater/DummyDescriptorSource.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 import org.torproject.descriptor.Descriptor;
 
diff --git a/src/test/java/org/torproject/onionoo/updater/DummyStatusEntry.java b/src/test/java/org/torproject/metrics/onionoo/updater/DummyStatusEntry.java
similarity index 97%
rename from src/test/java/org/torproject/onionoo/updater/DummyStatusEntry.java
rename to src/test/java/org/torproject/metrics/onionoo/updater/DummyStatusEntry.java
index 38b8a3e..376cff1 100644
--- a/src/test/java/org/torproject/onionoo/updater/DummyStatusEntry.java
+++ b/src/test/java/org/torproject/metrics/onionoo/updater/DummyStatusEntry.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 import org.torproject.descriptor.NetworkStatusEntry;
 
diff --git a/src/test/java/org/torproject/onionoo/updater/LookupServiceTest.java b/src/test/java/org/torproject/metrics/onionoo/updater/LookupServiceTest.java
similarity index 99%
rename from src/test/java/org/torproject/onionoo/updater/LookupServiceTest.java
rename to src/test/java/org/torproject/metrics/onionoo/updater/LookupServiceTest.java
index 743fe1d..90a840c 100644
--- a/src/test/java/org/torproject/onionoo/updater/LookupServiceTest.java
+++ b/src/test/java/org/torproject/metrics/onionoo/updater/LookupServiceTest.java
@@ -1,7 +1,7 @@
 /* Copyright 2013--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
diff --git a/src/test/java/org/torproject/onionoo/updater/NodeDetailsStatusUpdaterTest.java b/src/test/java/org/torproject/metrics/onionoo/updater/NodeDetailsStatusUpdaterTest.java
similarity index 96%
rename from src/test/java/org/torproject/onionoo/updater/NodeDetailsStatusUpdaterTest.java
rename to src/test/java/org/torproject/metrics/onionoo/updater/NodeDetailsStatusUpdaterTest.java
index 068c724..9b4a2dd 100644
--- a/src/test/java/org/torproject/onionoo/updater/NodeDetailsStatusUpdaterTest.java
+++ b/src/test/java/org/torproject/metrics/onionoo/updater/NodeDetailsStatusUpdaterTest.java
@@ -1,7 +1,7 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -12,9 +12,9 @@ import org.torproject.descriptor.Descriptor;
 import org.torproject.descriptor.DescriptorParser;
 import org.torproject.descriptor.DescriptorSourceFactory;
 import org.torproject.descriptor.ServerDescriptor;
-import org.torproject.onionoo.docs.DetailsStatus;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.docs.DummyDocumentStore;
+import org.torproject.metrics.onionoo.docs.DetailsStatus;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.docs.DummyDocumentStore;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/src/test/java/org/torproject/onionoo/updater/TorVersionTest.java b/src/test/java/org/torproject/metrics/onionoo/updater/TorVersionTest.java
similarity index 99%
rename from src/test/java/org/torproject/onionoo/updater/TorVersionTest.java
rename to src/test/java/org/torproject/metrics/onionoo/updater/TorVersionTest.java
index e6f4e64..b70925b 100644
--- a/src/test/java/org/torproject/onionoo/updater/TorVersionTest.java
+++ b/src/test/java/org/torproject/metrics/onionoo/updater/TorVersionTest.java
@@ -1,7 +1,7 @@
 /* Copyright 2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
diff --git a/src/test/java/org/torproject/onionoo/updater/UptimeStatusUpdaterTest.java b/src/test/java/org/torproject/metrics/onionoo/updater/UptimeStatusUpdaterTest.java
similarity index 95%
rename from src/test/java/org/torproject/onionoo/updater/UptimeStatusUpdaterTest.java
rename to src/test/java/org/torproject/metrics/onionoo/updater/UptimeStatusUpdaterTest.java
index df6dd66..bd6bb61 100644
--- a/src/test/java/org/torproject/onionoo/updater/UptimeStatusUpdaterTest.java
+++ b/src/test/java/org/torproject/metrics/onionoo/updater/UptimeStatusUpdaterTest.java
@@ -1,17 +1,17 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.updater;
+package org.torproject.metrics.onionoo.updater;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import org.torproject.onionoo.docs.DateTimeHelper;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.docs.DummyDocumentStore;
-import org.torproject.onionoo.docs.UptimeHistory;
-import org.torproject.onionoo.docs.UptimeStatus;
+import org.torproject.metrics.onionoo.docs.DateTimeHelper;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.docs.DummyDocumentStore;
+import org.torproject.metrics.onionoo.docs.UptimeHistory;
+import org.torproject.metrics.onionoo.docs.UptimeStatus;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/src/test/java/org/torproject/onionoo/util/FormattingUtilsTest.java b/src/test/java/org/torproject/metrics/onionoo/util/FormattingUtilsTest.java
similarity index 95%
rename from src/test/java/org/torproject/onionoo/util/FormattingUtilsTest.java
rename to src/test/java/org/torproject/metrics/onionoo/util/FormattingUtilsTest.java
index 24e96c4..653f2e8 100644
--- a/src/test/java/org/torproject/onionoo/util/FormattingUtilsTest.java
+++ b/src/test/java/org/torproject/metrics/onionoo/util/FormattingUtilsTest.java
@@ -1,4 +1,4 @@
-package org.torproject.onionoo.util;
+package org.torproject.metrics.onionoo.util;
 
 import static org.junit.Assert.assertEquals;
 
diff --git a/src/test/java/org/torproject/onionoo/writer/BandwidthDocumentWriterTest.java b/src/test/java/org/torproject/metrics/onionoo/writer/BandwidthDocumentWriterTest.java
similarity index 88%
rename from src/test/java/org/torproject/onionoo/writer/BandwidthDocumentWriterTest.java
rename to src/test/java/org/torproject/metrics/onionoo/writer/BandwidthDocumentWriterTest.java
index 947eba9..ab2a108 100644
--- a/src/test/java/org/torproject/onionoo/writer/BandwidthDocumentWriterTest.java
+++ b/src/test/java/org/torproject/metrics/onionoo/writer/BandwidthDocumentWriterTest.java
@@ -1,17 +1,17 @@
 /* Copyright 2017--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.writer;
+package org.torproject.metrics.onionoo.writer;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
-import org.torproject.onionoo.docs.BandwidthDocument;
-import org.torproject.onionoo.docs.BandwidthStatus;
-import org.torproject.onionoo.docs.DateTimeHelper;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.docs.DummyDocumentStore;
-import org.torproject.onionoo.docs.GraphHistory;
+import org.torproject.metrics.onionoo.docs.BandwidthDocument;
+import org.torproject.metrics.onionoo.docs.BandwidthStatus;
+import org.torproject.metrics.onionoo.docs.DateTimeHelper;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.docs.DummyDocumentStore;
+import org.torproject.metrics.onionoo.docs.GraphHistory;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/src/test/java/org/torproject/onionoo/writer/DetailsDocumentWriterTest.java b/src/test/java/org/torproject/metrics/onionoo/writer/DetailsDocumentWriterTest.java
similarity index 92%
rename from src/test/java/org/torproject/onionoo/writer/DetailsDocumentWriterTest.java
rename to src/test/java/org/torproject/metrics/onionoo/writer/DetailsDocumentWriterTest.java
index d96af71..593aed4 100644
--- a/src/test/java/org/torproject/onionoo/writer/DetailsDocumentWriterTest.java
+++ b/src/test/java/org/torproject/metrics/onionoo/writer/DetailsDocumentWriterTest.java
@@ -1,13 +1,13 @@
-package org.torproject.onionoo.writer;
+package org.torproject.metrics.onionoo.writer;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
-import org.torproject.onionoo.docs.DetailsDocument;
-import org.torproject.onionoo.docs.DetailsStatus;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.docs.DummyDocumentStore;
+import org.torproject.metrics.onionoo.docs.DetailsDocument;
+import org.torproject.metrics.onionoo.docs.DetailsStatus;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.docs.DummyDocumentStore;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/src/test/java/org/torproject/onionoo/writer/GraphHistoryCompilerTest.java b/src/test/java/org/torproject/metrics/onionoo/writer/GraphHistoryCompilerTest.java
similarity index 97%
rename from src/test/java/org/torproject/onionoo/writer/GraphHistoryCompilerTest.java
rename to src/test/java/org/torproject/metrics/onionoo/writer/GraphHistoryCompilerTest.java
index de5aa2f..f82231f 100644
--- a/src/test/java/org/torproject/onionoo/writer/GraphHistoryCompilerTest.java
+++ b/src/test/java/org/torproject/metrics/onionoo/writer/GraphHistoryCompilerTest.java
@@ -1,13 +1,13 @@
 /* Copyright 2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.writer;
+package org.torproject.metrics.onionoo.writer;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-import org.torproject.onionoo.docs.DateTimeHelper;
-import org.torproject.onionoo.docs.GraphHistory;
+import org.torproject.metrics.onionoo.docs.DateTimeHelper;
+import org.torproject.metrics.onionoo.docs.GraphHistory;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 
diff --git a/src/test/java/org/torproject/onionoo/writer/UptimeDocumentWriterTest.java b/src/test/java/org/torproject/metrics/onionoo/writer/UptimeDocumentWriterTest.java
similarity index 96%
rename from src/test/java/org/torproject/onionoo/writer/UptimeDocumentWriterTest.java
rename to src/test/java/org/torproject/metrics/onionoo/writer/UptimeDocumentWriterTest.java
index 795db56..2516b14 100644
--- a/src/test/java/org/torproject/onionoo/writer/UptimeDocumentWriterTest.java
+++ b/src/test/java/org/torproject/metrics/onionoo/writer/UptimeDocumentWriterTest.java
@@ -1,18 +1,18 @@
 /* Copyright 2014--2018 The Tor Project
  * See LICENSE for licensing information */
 
-package org.torproject.onionoo.writer;
+package org.torproject.metrics.onionoo.writer;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
-import org.torproject.onionoo.docs.DateTimeHelper;
-import org.torproject.onionoo.docs.DocumentStoreFactory;
-import org.torproject.onionoo.docs.DummyDocumentStore;
-import org.torproject.onionoo.docs.GraphHistory;
-import org.torproject.onionoo.docs.UptimeDocument;
-import org.torproject.onionoo.docs.UptimeStatus;
-import org.torproject.onionoo.updater.DescriptorSourceFactory;
+import org.torproject.metrics.onionoo.docs.DateTimeHelper;
+import org.torproject.metrics.onionoo.docs.DocumentStoreFactory;
+import org.torproject.metrics.onionoo.docs.DummyDocumentStore;
+import org.torproject.metrics.onionoo.docs.GraphHistory;
+import org.torproject.metrics.onionoo.docs.UptimeDocument;
+import org.torproject.metrics.onionoo.docs.UptimeStatus;
+import org.torproject.metrics.onionoo.updater.DescriptorSourceFactory;
 
 import org.junit.Before;
 import org.junit.Test;





More information about the tor-commits mailing list