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

Allow manually changing trace VantagePoint

rmarx opened this issue · comments

Concrete problem: when transforming pcaps using pcap2qlog, they will always be seen as a client-side trace. As such, if you have two pcaps, one from the client and one from the server, there's currently no real way in qvis to upload them and then have them correctly identified as client and server.

I tried a very naive fix for this (a68255f), but that doesn't work because the second trace still has perpendicular packet_sent and packet_received semantics and so the packets still don't match up.

Ideally, you'd be able to indicate/override the vantagepoint when uploading/linking the pcap, but then that would have to propagate all the way down to qvis-server and then into pcap2qlog, for which at the moment -no- plumbing is present. Dirty hacks such as "look for the string 'server' in the filename/extension" are possible, but suboptimal...

Another option is to transform the 2nd trace to be server-side automatically. We have code for that, but this is in the sequencediagram itself atm and only used when auto-generating new traces from scratch, not really to adjust existing traces (though it can of course be refactored). In this case, we'd have to auto-generate a server-side trace as well and select that (since we don't want to drop the original perspective in case the user mis-selects the trace as the second one etc.)

This is all doable for just 2 traces, but the sequence diagram is really made for N traces (e.g., also allowing a load balancer viewpoint etc.) so long term a better solution would be needed where traces' vantagepoint can be transformed at will (potentially via a separate UI?).