.. _analysis: Analysis (Mar 2018) ==================== Existing software ----------------- 1. ``torflow``: :ref:`torflow` 2. ``bwscanner``: :ref:`bwscanner` 3. ``peerflow``: [PeerflowPaper]_ 4. bridge bw scanner: [BridgeBwScanner]_ 5. ``OnionPerf`` [OnionperfCode]_ Possible approaches -------------------- Based on the discussions in [mlBwProgressDec1]_ and [BwAuthRome]_: a. Develop ``peerflow`` and deploy it in place of ``torflow`` b. Finalize ``bwscanner`` and deploy in place of ``torflow`` c. Adapt the bridge bw scanner that is currently being developed d. Adapt ``OnionPerf`` e. Path ``torflow`` f. Something simple from scratch Evaluation: a. ``Peerflow`` can be developed in parallel, it does not implement the simple algorithm needed in a short term b. ``bwscanner`` can be fixed and finished but seems hard to mantain c. The bridge scanner is considered not suitable for converting into a bandwith scanner d. ``OnionPerf`` uses Stem, it would be better to use Stem directly because OnionPerf implements other stuff not needed for the bandwith scanner e. Patching ``torflow`` is not considered acceptable because is hard to run and maintain f. Something simple from scratch can be implemented reusing ``bwscanner`` and ``txtorcon`` new features