quiclog / qvis

QUIC and HTTP/3 visualization tools
https://qvis.edm.uhasselt.be
MIT License
174 stars 25 forks source link

Visualize pacing_rate #58

Open kixelated opened 2 years ago

kixelated commented 2 years ago

I use the congestion tab quite often for investigating QoS issues. It works great for Reno/CUBIC, but it's less useful after implementing BBR. The congestion window still exists, but BBR primarily limits the send rate via a pacer.

It would be nice if we could visualize the optional pacing_rate in recovery:metrics_updated. This is measured in bits/sec so it wouldn't fit with the other graphs. It would also be nice to add a new field called bandwidth_estimate to that event, graphing it alongside the pacing_rate.

rmarx commented 2 years ago

Hey @kixelated, that seems like a fair request :)

A few questions of mine:

  1. It's in bits/sec so indeed wouldn't fit directly with the current y-axes, but I assume you would still like it plotted on the "top" graph, along with cwnd/loss etc.? e.g., as a separate line with its own y-axis/scaling? Or would it make more sense to have a "third" graph, in between the two current ones for example?
  2. What would the units of the bandwidth_estimate field ideally be in your opinion?
  3. Could you maybe provide 1 or more example qlog files with "realistic" behaviour for those parameters? So I can make sure e.g., the auto-scaling of the y-axis works well for normal values. For this, feel free to add the bandwidth_estimate field to the event yourself, using the units from question 2 :)

Since I know the FB people have also been using qlog for BBR, maybe they have some input here as well, so I can do as much as possible in 1 go? @mjoras @lnicco?

joergdeutschmann-i7 commented 1 year ago

Related #13