[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [metrics-web/master] Add bridge pool assignments to metrics website.
commit 117a75e2ccc2f4a7215619367a8ab154e47788d1
Author: Karsten Loesing <karsten.loesing@xxxxxxx>
Date: Mon Mar 14 12:25:48 2011 +0100
Add bridge pool assignments to metrics website.
---
.../torproject/ernie/web/ResearchDataServlet.java | 19 +++++++++++++++++
web/WEB-INF/data.jsp | 22 ++++++++++++++++++++
web/WEB-INF/index.jsp | 15 +++++--------
3 files changed, 47 insertions(+), 9 deletions(-)
diff --git a/src/org/torproject/ernie/web/ResearchDataServlet.java b/src/org/torproject/ernie/web/ResearchDataServlet.java
index 2d45c0f..ca6bf7b 100644
--- a/src/org/torproject/ernie/web/ResearchDataServlet.java
+++ b/src/org/torproject/ernie/web/ResearchDataServlet.java
@@ -75,6 +75,8 @@ public class ResearchDataServlet extends HttpServlet {
SortedMap<String, Map<String, String[]>> torperfData =
new TreeMap<String, Map<String, String[]>>();
SortedMap<Date, String[]> exitLists = new TreeMap<Date, String[]>();
+ SortedMap<Date, String[]> bridgePoolAssignments =
+ new TreeMap<Date, String[]>();
/* Prepare rewriting Torperf sources. */
Map<String, String> torperfSources = new HashMap<String, String>();
@@ -207,6 +209,22 @@ public class ResearchDataServlet extends HttpServlet {
exitLists.put(month, new String[2]);
}
exitLists.get(month)[0] = url;
+
+ /* URL contains bridge pool assignments. */
+ } else if (filename.startsWith("bridge-pool-assignments-20")) {
+ String yearMonth = filename.substring(filename.indexOf("20"));
+ yearMonth = yearMonth.substring(0, 7);
+ Date month = null;
+ try {
+ month = monthFormat.parse(yearMonth);
+ } catch (ParseException e) {
+ /* Ignore this URL. */
+ continue;
+ }
+ if (!bridgePoolAssignments.containsKey(month)) {
+ bridgePoolAssignments.put(month, new String[2]);
+ }
+ bridgePoolAssignments.get(month)[0] = url;
}
}
@@ -217,6 +235,7 @@ public class ResearchDataServlet extends HttpServlet {
request.setAttribute("relayStatistics", relayStatistics);
request.setAttribute("torperfData", torperfData);
request.setAttribute("exitLists", exitLists);
+ request.setAttribute("bridgePoolAssignments", bridgePoolAssignments);
request.getRequestDispatcher("WEB-INF/data.jsp").forward(request,
response);
}
diff --git a/web/WEB-INF/data.jsp b/web/WEB-INF/data.jsp
index 86028c2..30d42f6 100644
--- a/web/WEB-INF/data.jsp
+++ b/web/WEB-INF/data.jsp
@@ -1,5 +1,6 @@
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+<fmt:setLocale value="en_US"/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
@@ -26,6 +27,7 @@
<ul>
<li><a href="#relaydesc">Relay descriptor archives</a></li>
<li><a href="#bridgedesc">Bridge descriptor archives</a></li>
+ <li><a href="#bridgeassignments">Bridge pool assignments</a></li>
<li><a href="#stats">Statistics produced by relays</a></li>
<li><a href="#performance">Performance data</a></li>
<li><a href="#exitlist">Exit lists</a></li>
@@ -124,6 +126,26 @@
</table>
<p></p>
<br>
+ <a name="bridgeassignments"></a>
+ <h3>Bridge pool assignments</h3>
+ <br>
+ <p>BridgeDB periodically dumps the list of running bridges with
+ information about the rings, subrings, and file buckets to which
+ they are assigned to a local file. We are archiving sanitized
+ versions of these files here to analyze how the pool assignment
+ affects a bridge's usage.</p>
+ <table width="100%" border="0" cellpadding="5" cellspacing="0" summary="">
+ <c:forEach var="item" items="${bridgePoolAssignments}" >
+ <fmt:formatDate var="longDate" pattern="MMMM yyyy"
+ value="${item.key}"/>
+ <tr>
+ <td>
+ <a href="${item.value[0]}">${longDate}</a>
+ </td>
+ </tr>
+ </c:forEach>
+ </table>
+ <br>
<a name="stats"></a>
<h3>Statistics produced by relays</h3>
<br>
diff --git a/web/WEB-INF/index.jsp b/web/WEB-INF/index.jsp
index f82a7b3..0da160b 100644
--- a/web/WEB-INF/index.jsp
+++ b/web/WEB-INF/index.jsp
@@ -32,6 +32,11 @@
<br>
<h3>News</h3>
<ul>
+ <li>March 14, 2011:
+ <a href="data.html#bridgeassignments">Sanitized bridge pool
+ assignments</a> containing lists of running bridges with
+ information about the rings, subrings, and file buckets to which
+ they are assigned are now available.</li>
<li>January 27, 2011: New <a href="performance.html">Torperf</a>
graphs combining the download times of all sources and showing
the fraction of timeouts and failures are now available.</li>
@@ -45,15 +50,7 @@
<li>November 30, 2010: Tech report on
<a href="papers/countingusers-2010-11-30.pdf">Privacy-preserving
Ways to Estimate the Number of Tor Users</a> is available for
- download on the <a href="papers.html">Papers</a> page.
- <li>October 7, 2010: Custom graphs are now available for all
- <a href="graphs.html">graphs</a>. Based on work by Kevin
- Berry.</li>
- <li>September 9, 2010: Custom
- graphs on network size, relay platforms, versions, and
- observed bandwidth available. Implemented by Kevin Berry.</li>
- <li>September 2, 2010: New <a href="relay-search.html">relay
- search</a> feature available.</li>
+ download on the <a href="papers.html">Papers</a> page.</li>
</ul>
</div>
</div>
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits