commit 28d5eada13f1f8b2bb509e280afba01da5770ad3 Author: Iain R. Learmonth irl@fsfe.org Date: Thu Mar 1 13:45:44 2018 +0000
Adds text about Metrics ecosystem to about page (See: #23169) --- src/main/resources/graphviz/ecosystem.gv | 56 ++++++++++++++++++++++ src/main/resources/web/images/ecosystem.png | Bin 0 -> 73561 bytes src/main/resources/web/jsps/about.jsp | 69 ++++++++++++++++++++++++---- 3 files changed, 115 insertions(+), 10 deletions(-)
diff --git a/src/main/resources/graphviz/ecosystem.gv b/src/main/resources/graphviz/ecosystem.gv new file mode 100644 index 0000000..c5cdd5c --- /dev/null +++ b/src/main/resources/graphviz/ecosystem.gv @@ -0,0 +1,56 @@ +digraph ecosystem { + node [fontname="Source Sans Pro"]; + subgraph cluster_network { + label="Public Tor Network"; + fontname="Source Sans Pro Semi-Bold"; + node [color="#59316b",fillcolor="#e1d3e8",style="filled"]; + relays [label="Relays"]; + bridges [label="Bridges"]; + dirauths [label="Directory Authorities"]; + bridgeauth [label="Bridge Authority"]; + } + subgraph cluster_metrics { + label="Tor Metrics"; + fontname="Source Sans Pro Semi-Bold"; + labelloc=b; + subgraph resdev { + node [color="#6b5831",style="filled",fillcolor="#ede9e1"]; + collector [label="CollecTor"]; + onionoo [label="Onionoo"]; + subgraph lib { + node [shape=box,margin="0.11,0.11",height=0,width=0,fontsize=8]; + lib1 [label="metrics-lib"]; + lib2 [label="metrics-lib"]; + lib3 [label="metrics-lib"]; + } + } + subgraph user { + node [color="#436b31",style="filled",fillcolor="#d4e5cc"]; + statistics [label="Tor Metrics Graphs"]; + exonerator [label="Exonerator"]; + rs [label="Relay Search"]; + bot [label="metrics-bot"]; + consensushealth [label="Consensus Health"]; + } + } + relays -> dirauths; + bridges -> bridgeauth; + dirauths -> collector; + dirauths -> consensushealth; + bridgeauth -> collector; + collector -> lib1; + lib1 -> statistics; + collector -> lib2; + lib2 -> onionoo; + collector -> lib3; + lib3 -> exonerator; + onionoo -> rs; + onionoo -> bot; + legend [rank=sink,fontsize=10,shape=none,label= + <<table cellspacing="0" cellborder="1"> + <tr><td>Legend</td></tr> + <tr><td bgcolor="#e1d3e8" color="#59316b">Public Tor Network Servers</td></tr> + <tr><td bgcolor="#ede9e1" color="#6b5831">Tools for Researchers and Developers</td></tr> + <tr><td bgcolor="#d4e5cc" color="#436b31">Tools for End-Users</td></tr> + </table>>]; +} diff --git a/src/main/resources/web/images/ecosystem.png b/src/main/resources/web/images/ecosystem.png new file mode 100644 index 0000000..3b80ed1 Binary files /dev/null and b/src/main/resources/web/images/ecosystem.png differ diff --git a/src/main/resources/web/jsps/about.jsp b/src/main/resources/web/jsps/about.jsp index 7a4d303..bc14b08 100644 --- a/src/main/resources/web/jsps/about.jsp +++ b/src/main/resources/web/jsps/about.jsp @@ -14,20 +14,71 @@
<div class="container"> <h1>About <a href="#about" name="about" class="anchor">#</a></h1> - <p>You're curious who has put together all this information, and you're thinking about contributing? Here we tell you a bit about the Tor metrics team and give you some pointers for joining our team.</p> - </div> + <p>Tor Metrics archives historical data about the Tor ecosystem, collects + data from the public Tor network and related services, and assists in + developing novel approaches to safe, privacy preserving data + collection.</p>
- <div class="container"> <h2>Philosophy <a href="#philosophy" name="philosophy" class="anchor">#</a></h2> - <p>We only use public, non-sensitive data for metrics. Each metric goes through a rigorous review and discussion process before appearing here. We never publish statistics—or aggregate statistics—of sensitive data, such as unencrypted contents of traffic.</p> - </div> + <p>We only use public, non-sensitive data for metrics. Each metric goes + through a rigorous review and discussion process before appearing here. + We never publish statistics—or aggregate statistics—of + sensitive data, such as unencrypted contents of traffic.</p> + + <h2>Ecosystem <a href="#ecosystem" name="ecosystem" class="anchor">#</a></h2> + <p>Tor relays and bridges collect aggregated statistics about their usage + including bandwidth and connecting clients per country. Source + aggregation is used to protect the privacy of connecting + users—discarding IP addresses and only reporting country + information from a local database mapping IP address ranges to countries. + These statistics are sent periodically to the directory authorities.</p> + <p><a href="/collector.html">CollecTor</a> + downloads the latest server descriptors, extra info descriptors + containing the aggregated statistics, and consensus documents from the + directory authorities and archives them. This archive is public and the + <a href="/metrics-lib.html">metrics-lib</a> + Java library can be used to parse the contents of the archive to perform + analysis of the data.</p> + <p>In order to provide easy access to visualizations of the historical + data archived, the Tor Metrics website contains a number of customizable + plots to show <a + href="/userstats-relay-country.html">user</a>, + <a href="/bandwidth.html">traffic</a>, <a + href="/relayflags.html">relay</a>, <a + href="/bridges-ipv6.html">bridge</a>, and + <a href="/webstats-tb.html">application + download</a> statistics over a requested time period and filtered to a + particular country.</p> + <p>In order to provide easy access to current information about the + public Tor network, <a + href="/onionoo.html">Onionoo</a> implements + a protocol to serve JSON documents over HTTP that can be consumed by + applications that would like to display information about relays along + with historical bandwidth, uptime, and consensus weight information.</p> + <p>An example of one such application is <a + href="/rs.html">Relay Search</a> which is + used by relay operators, those monitoring the health of the network, and + developers of software using the Tor network. Another example of such an + application is <a href="https://people.torproject.org/~irl/metrics-bot" + target="_blank">metrics-bot</a> which posts regular snapshots to <a + href="https://twitter.com/TorAtlas" target="_blank">Twitter</a> and <a + href="https://botsin.space/@metricsbot" target="_blank">Mastodon</a> + including country statistics and a world map plotting known relays.</p> + <p>The diagram below shows how data is collected, archived, analyzed, and + presented to users through services operated by Tor Metrics. The majority + of our services use metrics-lib to parse the descriptors that have been + collected by CollecTor as their source of raw data about the public Tor + network.</p> + <figure> + <img alt="Data flows from the public Tor network to the end user tools + Tor Metrics Graphs and Exonerator via CollecTor, and Relay Search and + metrics-bot via CollecTor and Onionoo." src="/images/ecosystem.png" + class="thumbnail img-responsive center-block"> + </figure>
- <div class="container"> <h2>Contributing <a href="#contributing" name="contributing" class="anchor">#</a></h2> <p>Collecting and processing new data won't likely happen without your help! If you really want to see something measured here, we would be happy to work with you. Learn more about contributing on our <a href="https://trac.torproject.org/projects/tor/wiki/org/teams/MetricsTeam" target="_blank">team wiki page</a>.</p> - </div>
- <div class="container"> <h2>Contact <a href="#contact" name="contact" class="anchor">#</a></h2> <p>If you have any questions or suggestions, contact us at <a href="mailto:metrics-team@lists.torproject.org">metrics-team@lists.torproject.org</a>, which is a <a href="https://lists.torproject.org/cgi-bin/mailman/listinfo/metrics-team" target="_blank">public mailing list</a>.</p>
@@ -35,9 +86,7 @@ <pre>The Tor Project, Inc. 217 1st Ave South #4903 Seattle, WA 98194 USA</pre> - </div>
- <div class="container"> <h2>Testimonials <a href="#testimonials" name="testimonials" class="anchor">#</a></h2> <blockquote> <p class="mb-0">