Debugging QUIC and HTTP/3 with qlog and qvis - ANRW2020
Abstract: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:- Paper
- 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 results
Click 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 1: Multiplexing
- Example (1) (top): live demo, download file (15 MB)
- Example (2) (middle): live demo, download file (36 MB)
- Example (3) (bottom): live demo, download file (14 MB)
-
-
Figure 2: Packetization
- Example (a): download file (42 MB zipped)
- Example (b): download file (4.7 MB)
- Example (c): live demo, download file (1.7 MB)
- Example (d): live demo, download file (8.7 MB)
- Example (e): live demo, download file (13.7 MB)
-
-
Figure 3: Congestion control
- With pacing: live demo, download file (21 MB)
- Without pacing: live demo, download file (21 MB)
-
-
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 results
Questionnaire: Google formFull results (privacy-sensitive data removed): download .xlsx, download .tsv
Facebook interview transcript: (not yet complete)
(click on an image to enlarge)