Tor emits stream and circuit bandwidth events about once per second. However delays in the control port and controller libraries makes the event time not reliable enough for accurate bandwidth measurements.
It would be useful for making bandwidth authorities if both the STREAM_BW and CIRC_BW events included timestamps in the event.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
I wonder if it might make sense to add a flag that made all events get timestamps. Or would that be useless overgeneralization? Also I wonder if a fraction-of-seconds field would be helpful.
I don't think it would be so straightforward to add timestamps to all the events. Some events are using keyword fields, and others use positional fields.
By fraction-of-seconds field to you mean having the microseconds from the timestamp listed in a separate field? Would that be much more helpful than just parsing the timestamp in the controller library you are using?
I have added event 1ms precision timestamps on a TCP control port client. Cross-checking against circuit events that include a TIME_CREATED field gives a perfect match.
So it seems the control protocol has low latency and clients already have the option of getting sufficiently accurate timestamps.
cypherpunks: Thanks for checking that out. So a client with low load can get events quickly.
However I'm working on some asynchronous programming using Python Twisted. I think there are less guarantees of the program immediately getting and processing the event when it is emitted when using asynchronous style.