[tor-dev] First draft of Requirements and Software Design for a Better Tor Performance Measurement Tool

Karsten Loesing karsten at torproject.org
Wed Oct 30 19:10:57 UTC 2013

On 9/6/13 3:58 PM, Karsten Loesing wrote:
> I just finished a first draft of a tech report sketching out the
> requirements and a software design for a new Torperf implementation.

Sathya, Kevin, and I improved this tech report draft a lot and finally
published it today:


>From the introduction:

Four years ago, we presented a simple tool to measure performance of the
Tor network.  This tool, called Torperf, requests static files of three
different sizes over the Tor network and logs timestamps of various
request substeps.  These data turned out to be quite useful to observe
user-perceived network performance over time.  However, static file
downloads are not the typical use case of a user browsing the web using
Tor, so absolute numbers are not very meaningful.  Also, Torperf
consists of a bunch of shell scripts which makes it neither very
user-friendly to set up and run, nor extensible to cover new use cases.

For reference, we made an earlier approach 1.5 years later that
suggested redesigning the Python parts in Torperf, but that redesign
never happened.

In this report we outline requirements and a software design for a
rewrite of Torperf.  We loosely start with non-functional requirements,
so aspects like user-friendliness or extensibility, because these
requirements drive the rewrite more than the immediate need for new
features.  After that, we discuss actual functional requirements, so
experiments that we want to perform to measure things in the Tor network
on a regular and automated basis.  Finally we suggest a software design
that fulfills all these requirements.

The fact that we now have a published design document doesn't mean that
all design work is done.  But having a tech report makes it easier to
reference our design ideas in future discussions.  New ideas should
probably go into a second tech report draft or design document of some
kind.  The goal here is not to produce paper but to be explicit about
design decisions.

Thanks, Sathya, Kevin, and the other people for providing valuable
feedback on the Torperf rewrite!

All the best,

More information about the tor-dev mailing list