quiclog / qvis

QUIC and HTTP/3 visualization tools

Home Page:https://qvis.edm.uhasselt.be

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

improve the RTT diagram

marten-seemann opened this issue · comments

I'm debugging a potential RTT measurement problem, and these 2 features would be very helpful:

  1. Make the RTT diagram zoomable, similar to the congestion view. Especially helpful would be if I cut zoom in on a certain y-range (I have some RTT measurements > 10s, and now all the other lines look like they're at 0).
  2. Mark each measurement with dot or an x. Sometimes the RTT stays constant because subsequent measurements are very similar, sometimes because no measurement is performed (for example, when a peer is only receiving data).

Those seem like sensible suggestions!

I am a bit uncertain about what the best UX would be for point 1 though... if I allow zooming directly on the RTT subgraph, I'd have to auto-zoom the top one along, which is a bit annoying given the current setup (which is why we didn't do that in the first place).

Would it help if the y-axis of the 0-RTT would auto-scale to between approx. the minimum and maximum -in that given time period- when you zoom the top congestion-graph? Or do you somehow want to have both 10s and 50ms measurements visualized at the same time (which would involve scrollbars in the graph, which is a major headache).

Finally, do you maybe have an example trace I could use to validate potential solutions?

Temporary workaround:

cat <file>.qlog | grep smoothed_rtt | jq -r "[.time, .data.smoothed_rtt, .data.latest_rtt] | @csv" > values.txt

Then values.txt can be plotted using gnuplot. Just saying, NDJSON is powerful!

I am a bit uncertain about what the best UX would be for point 1 though... if I allow zooming directly on the RTT subgraph, I'd have to auto-zoom the top one along, which is a bit annoying given the current setup (which is why we didn't do that in the first place).

I thought that the congestion graph would adjust to the same time slice, but if that's too much hassle, I guess it would be ok to do the x-range zooming via the congestion graph.

Would it help if the y-axis of the 0-RTT would auto-scale to between approx. the minimum and maximum -in that given time period- when you zoom the top congestion-graph?

That would be a big improvement already!

Finally, do you maybe have an example trace I could use to validate potential solutions?

Will send you as a private message.

A first attempt at a fix should now be online at qvis.quictools.info.
You have to manually enable RTT zooming using the button on the top (it's off by default).
I'm also drawing small circles now for each measurement.

Let me know what you think!

Great! This is exactly what I was asking for. Thank you for implementing this so quickly!