Debugging QUIC and HTTP/3 with qlog and qvis - ANRW2020Abstract:
The QUIC and HTTP/3 protocols are powerful but complex and difficult to debug and analyse. Our previous work proposed the qlog format for structured endpoint logging to aid in taming this complexity. This follow-up study evaluates the real-world implementations, uses and deployments of qlog and our associated qvis tooling in academia and industry. Our survey among 28 QUIC experts shows high community involvement, while Facebook confirms qlog can handle Internet scale. Lessons learned from researching 16 QUIC + HTTP/3 and five TCP + TLS + HTTP/2 implementations demonstrate that qlog and qvis are essential tools for performing root-cause analysis when debugging modern Web protocols.Content:
- qlog: specifications, original paper @ EPIQ 2018
- qvis: live version, github repository
- P-QUIC and MP-QUIC: website, github repository
- Custom aioquic version used to obtain most QUIC results: source code
- Extended discussion on binary qlog alternatives: github issue
Live qvis demos of resultsClick on a "live demo" link to directly load the example qlog in qvis.
Note: most of the files are quite large and can take a while to load. Another option is to download those yourself and then manually upload them to qvis.
Note 2: not all these files are .qlog files. The TCP traces are .json exports from wireshark with all its overhead intact and are transformed into qlog by qvis itself after uploading. We don't currently support loading those files via a URL, but you can download them and upload them manually to qvis.
Figure 4: Sequence diagram
- The qvis sequence diagram is not yet capable of dealing with Multipath qlog traces. You can however experiment with the sequence diagram by loading the demo files at qvis and selecting the "DEMO_double_vantagepoint.qlog" file in the Sequence tab.
Survey resultsQuestionnaire: Google form
Full results (privacy-sensitive data removed): download .xlsx, download .tsv
Facebook interview transcript: (not yet complete)
(click on an image to enlarge)