quiclog / qvis

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

Bug in live version #25

Open SaigeGithub opened 4 years ago

SaigeGithub commented 4 years ago

Describe the bug Error: could not process packet type: ENCRYPTION_ZERO_RTT Error uploading the netlog file To Reproduce

Screenshots FileManagerContainer:uploadFile : Error: could not process packet type: ENCRYPTION_ZERO_RTT at netlogtoqlog.ts:434 at Function.convert (netlogtoqlog.ts:425) at FileReader.n.onload (FileManagerContainer.vue?15b5:281) n.onload @ FileManagerContainer.vue?15b5:297 load (async) uploadFile @ FileManagerContainer.vue?15b5:265

Additional context If you are having problems loading a file, please attach it to this issue or email it to us at robin.marx@uhasselt.be

Note that qvis is currently only tested and maintained for the latest stable versions of Google Chrome.

rmarx commented 4 years ago

Hello Saige,

Thank you for reporting the issue. Netlog support is still very experimental at this point, so it's good to get some feedback on the things we missed.

I've added a commit that should fix things for you, if not please let me know. It will take some time to go live on the qvis website, as it is hosted externally and I'm having trouble logging in on the server atm... should be usable sometime in the next 12 hours though.

In the future, if you report further errors, it would help to attach an example (netlog) file to the issue, so I can easily verify if the fix resolved the issue. Thanks again!

CC @triplewy

Robin

SaigeGithub commented 4 years ago

Hi Robin, sorry that I did not attach the file I wasn't sure how. I've just tried the uploading the netlog and it worked! thank you so much! I have a further question, I don't know how to generate a qlog file. https://github.com/quiclog/qlog Do I run the command "npm install @quictools/qlog-schema" and then "import * as qlog from '@quictools/qlog-schema'", to generate qlog file? Thanks again. Saige

rmarx commented 4 years ago

Hello Saige,

Glad to hear the fix worked for you. If github doesn't allow you to upload the file directly in the future, maybe you can try zipping it? You can also always just email it to me directly at robin.marx@uhasselt.be

With regards to your second question... I'm not sure I understand what you mean. The quictools/qlog-schema project is just that: a TypeScript definition of the schema. It helps to parse/interpret the qlog files in a TypeScript project (e.g., qvis) and would indeed help if you're writing qlog files from a TypeScript QUIC implementation, but it doesn't generate full qlog files by itself... There is also a similar project for the Rust language: https://crates.io/crates/qlog

To get qlogs, there are several QUIC implementations that support the format. The easiest to use are probably https://github.com/aiortc/aioquic, https://github.com/lucas-clemente/quic-go and https://github.com/cloudflare/quiche. the curl project also has qlog output support, but requires a bit more effort to compile with HTTP/3 support. You would set them up and execute a QUIC request with them and then you'd get qlog output.

If you're just looking for some example qlogs to play around with, there are some public testing servers that give access to the qlogs for all connections they accept: https://quic.aiortc.org/logs, https://test.privateoctopus.com/qlog/, https://mew.org/log/. Alternatively, most test results on this page have qlogs available as well: https://interop.seemann.io/

If you can let me know more about your use case I can probably help more.

With best regards, Robin