1. 20 Apr, 2021 4 commits
  2. 19 Apr, 2021 2 commits
  3. 14 Apr, 2021 4 commits
  4. 08 Apr, 2021 3 commits
    • Ana Custura's avatar
      Add filter for circuits where CBT is not computed · 128cce7d
      Ana Custura authored
      Add a new argument to the filter function, '--exclude-cbt',
      that can be used to mark circuits as filtered based on
      the cbt_set field. The filter is useful for visualizing
      results for measurements that use guards, where the analysis
      file still includes circuits built before CBT was computed.
    • Ana Custura's avatar
    • Ana Custura's avatar
      Add logic to record whether CBT was computed for a circuit · a82cec56
      Ana Custura authored
      A new field, cbt_set, is added for every circuit; this is set to
      false at the beginning of a measurement, and gets set to True
      after a BUILDTIMEOUT_SET COMPUTED event. Each
      BUILDTIMEOUT_SET RESET event resets the field to False.
      Any measurements that specify `--drop-guards` will use this
      field to exclude circuits built when CBT was not computed
      from the daily analysis by default.
      Analysis files for these measurements are also tagged by default with
      the 'exclude_cbt' filter, which is then used by the visualize command to
      only visualize results that used non-excluded circuits.
  5. 31 Mar, 2021 3 commits
  6. 28 Mar, 2021 2 commits
  7. 15 Mar, 2021 2 commits
  8. 13 Dec, 2020 5 commits
  9. 24 Nov, 2020 1 commit
    • Karsten Loesing's avatar
      Avoid tracebacks when visualizing measurements. · fe6ff087
      Karsten Loesing authored
      Attempting to visualize analysis files containing only unsuccessful
      measurements results in various tracebacks.
      With this patch we check more carefully whether a data frame is empty
      before adding a plot.
      Another related change is that we always include
      "time_to_{first,last}_byte" and "mbps" columns in the CSV output,
      regardless of whether there are there are any non-null values in the
      data. See also #40004 for a previous related change.
      And we check whether a Tor stream identifier exists before retrieving
      a Tor stream.
      Finally, we only include TTFB/TTLB if the usecs value is non-zero.
      Fixes #44012.
  10. 16 Sep, 2020 5 commits
  11. 10 Sep, 2020 5 commits
  12. 01 Sep, 2020 3 commits
    • Karsten Loesing's avatar
      Bump version to 0.7. · c8275b25
      Karsten Loesing authored
    • Karsten Loesing's avatar
    • Karsten Loesing's avatar
      Tweak --drop-guards switch. · 9d76ca4b
      Karsten Loesing authored
      This commit tweaks the recently added --drop-guards switch as follows:
       - Guards are dropped right at startup and then every N hours.
         Otherwise we might not receive the first round of GUARD NEW/UP
         events. It's unclear why we don't receive those events, but finding
         out might be time-consuming whereas dropping guards at startup is
         basically free.
       - Right after guards are dropped, circuit build timeouts are dropped,
         too, if supported by the Tor version. If the Tor version does not
         support this, there's going to be a warning, and the control log
         will simply not contain BUILDTIMEOUT_SET events.
      Still part of the reopened tpo/metrics/onionperf#33399.
  13. 31 Aug, 2020 1 commit
    • Karsten Loesing's avatar
      Change filter mode to filter Tor circuits. · 9d0c8056
      Karsten Loesing authored
      This new filter mode removes Tor circuits that don't match the
      provided fingerprints and leaves TGen transfers/streams untouched. At
      the same time the visualize mode only includes TGen transfers/streams
      with an existing mapping between TGen transfers/streams and Tor
      This patch changes the default behavior of the visualize mode. The
      original behavior of visualizing TGen transfers/streams *without* an
      existing mapping to Tor streams/circuits can be selected with the
      --outer-join switch, even though that's rather an edge use case.
      Another minor change is that the filtered analysis files is not
      written with sort_keys=True anymore, which would have produced a newly
      sorted file with keys in alphabetic order rather than the original
      insert order. The result is an actually useful diff.