[tor-commits] [torflow/master] describe STREAM_BW processing and output fields
mikeperry at torproject.org
mikeperry at torproject.org
Tue Oct 25 23:49:56 UTC 2011
commit bc4e2b4b4cd563d14618cedd78af6db192a5c94f
Author: aagbsn <aagbsn at extc.org>
Date: Fri Oct 21 21:17:16 2011 -0700
describe STREAM_BW processing and output fields
---
bwauth-spec.txt | 37 +++++++++++++++++++++----------------
1 files changed, 21 insertions(+), 16 deletions(-)
diff --git a/bwauth-spec.txt b/bwauth-spec.txt
index 75ab5c0..9c4dc75 100644
--- a/bwauth-spec.txt
+++ b/bwauth-spec.txt
@@ -202,12 +202,12 @@
Unfinished downloads are aborted after 30 minutes.
- For each download, the bandwidth scanners collect the following data:
-#
-# TODO Most of this happens in TorCtl-land that I'm even less familiar
-# with than with Torflow-land. Mike, can you give me some pointers what
-# code parts to look at in order to understand which Tor controller events
-# are processed where and what we learn from them? -KL
+ For each download, the bandwidth scanners process STREAM_BW events with
+ a StreamListener (SQLSupport.py). The throughput for each stream is
+ defined as the ratio of total read bytes over the time delta between the
+ stream start timestamp and the newest STREAM_BW event received timestamp:
+
+ (stream read bytes / (event received timestamp - stream start timestamp)
1.6. Writing measurement results
@@ -218,12 +218,6 @@
timestamp of completing the slice, and the measurement results for the
measured relays.
- Only relays with at least 1 successful measurement, non-negative
- filtered stream bandwidth, and non-negative stream bandwidth are
- included in the output file.
-#
-# What's the difference between stream and filtered stream? -KL
-
The filename of an output file is derived from the lower and upper
slice percentiles and the measurement completion time. The format is
@@ -259,10 +253,21 @@
self-advertised bandwidth contained in relay descriptors; and network
status bandwidth is the average relay bandwidth contained in network
status consensuses.
-#
-# Which nickname is chosen here if a relay changes its nickname between
-# two measurements? Does it matter? -KL
-#
+
+ The strm_bw field is the average (mean) of all the streams for the relay
+ identified by the fingerprint field.
+
+ The filt_bw field is computed similarly, but only the streams equal to
+ or greater than the strm_bw are counted in order to filter very slow
+ streams.
+
+ The nickname field is entirely informational and may change between
+ measurements.
+
+ Only relays with at least 1 successful measurement, non-negative
+ filtered stream bandwidth, and non-negative stream bandwidth are
+ included in the output file.
+
# Starting to count slices at 0 whenever we start at the lower end of our
# percentile range seems error-prone. What if the number of slices
# changes while we're only half through with all slices? Isn't there a
More information about the tor-commits
mailing list