[metrics-bugs] #29370 [Metrics/Onionperf]: Measure mode with arbitrary tgen traffic models

Tor Bug Tracker & Wiki blackhole at torproject.org
Thu Jun 4 13:01:50 UTC 2020


#29370: Measure mode with arbitrary tgen traffic models
---------------------------------------+------------------------------
 Reporter:  irl                        |          Owner:  metrics-team
     Type:  enhancement                |         Status:  reopened
 Priority:  Low                        |      Milestone:
Component:  Metrics/Onionperf          |        Version:
 Severity:  Normal                     |     Resolution:
 Keywords:  metrics-team-roadmap-2020  |  Actual Points:  0.1
Parent ID:  #33321                     |         Points:  1
 Reviewer:                             |        Sponsor:  Sponsor59
---------------------------------------+------------------------------

Comment (by robgjansen):

 Replying to [comment:10 karsten]:

 > Thinking about different traffic models, what if we wanted to measure
 something like an `HTTP POST` rather than the `HTTP GET`? I'd assume that
 we'd have to provide a different TGen ''server'' model file as well, but I
 don't know for sure.

 I think this only requires changes to the client side model, i.e., you
 would increase the `sendsize` and reduce the `receivesize` values.

 > If that's still possible with replacing just the TGen client model,
 there's probably another model that requires a custom TGen server model
 which we just didn't think of yet.

 I designed TGen so that the server config is minimal: log level, how often
 to print a heartbeat message, and the port it should listen on. (See the
 [https://github.com/shadow/tgen/blob/master/doc/TGen-Options.md#start-
 options start options table].) Otherwise it just responds to commands send
 from the client.

 More complicated models than we have been discussing are possible, though,
 through the use of Markov models. Creating Markov models for TGen is even
 more complicated than creating TGen config files, but also really really
 powerful. I did my best to [https://github.com/shadow/tgen/blob/master/doc
 /TGen-Markov-Models.md document how to create the Markov models], but I'm
 hoping that we won't need them for OnionPerf. (I use them to generate
 traffic flows in Shadow that are based on actual traffic flows that we
 measured at Tor relays.)

 > All in all, it's more than just ''the'' TGen model. We'd have to write a
 fair amount of code in order to implement a useful ping model in
 OnionPerf.

 Agreed.

 > The internally generated model also has the advantage that it's easier
 to use. All it takes to start a measurement is a (potentially quite long)
 command with several parameters. But it doesn't require a (still
 potentially long) command plus one or two files. Describing the experiment
 would then be a matter of listing all software versions and the OnionPerf
 command used to start measurements.
 >
 > My suggestions are that we:
 [snip]

 Agreed with all of this too! I think that as much as we can, we should
 make OnionPerf a self-contained tool that is primarily useful for
 generating and visualizing Tor metrics data. But, we could document that
 other models are possible but unsupported. If some researchers want to use
 OnionPerf to help them answer some research problems, they could fairly
 easily adapt OnionPerf to their specific needs.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/29370#comment:11>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the metrics-bugs mailing list