Modify ↓
Opened 8 years ago
Last modified 8 years ago
#1 new enhancement
Feature request: Use reported to train/attack instead of userspace_rtt
Reported by: | andresriancho | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | train | Version: | |
Keywords: | Cc: |
Description
Feature request: Use reported to train/attack instead of userspace_rtt
. In some cases the reported
field is more accurate. I'm working on a case where the remote web server adds a X-Runtime
header in the response with the time it took to resolve the HTTP request, which doesn't have "internet jitter"; and I would love to use that for all the process instead of the userspace_rtt
I can do that by hacking the sampler, but maybe it should be documented/supported, etc.
Attachments (0)
Note: See
TracTickets for help on using
tickets.
Yes, this is an outstanding feature that is needed. The current state of things is this: the
reported
field is properly recorded in the database, along with the packet timing information. When the test and training bootstraps are run, the low-level database queries also retrieve this information and make it available in a normalized way to the caller. However, that's where support forreported
times stops right now. (Note thatuserspace_rtt
is not used; only thepacket_rtt
field is currently used, which is derived from direct packet analysis. Theuserspace_rtt
data is normally pretty awful in quality.) Here is what is needed to finish this:lib/nanownlib/train.py
) to allow the caller to specify which RTT measurements are used.bin/train
script to leverage the data set identified during packet analysis and pass the appropriate parameter down to the training algorithms.In the short term, if you have a specific app you are testing and you want to use the reported data, you could hack the libraries by making the following changes:
Be sure to apply this everywhere in the code. It's ugly, yes, but if you're on a short time line it is your best option for now. The good thing is, if you already collected a bunch of reported times, you can still use that data and simply re-run the train/test processes.