Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

change STREAM and DATAGRAM frame definition to allow logging of frame payload #342

Open
marten-seemann opened this issue Nov 14, 2023 · 1 comment

Comments

@marten-seemann
Copy link
Collaborator

Currently the raw field includes the wire representation of the frame. This doesn't seem useful, and would mean that a qlog consumer would need to implement a frame parser. Instead, we should only log the payload.

This could be done by changing the raw field to payload.

@rmarx
Copy link
Contributor

rmarx commented Mar 4, 2024

So, I don't agree with this. The reason it includes the frame/packet headers currently is because we (intentionally) lose some information present in the binary form by representing the data in qlog/JSON. Users should have a way to get to the original data for low-level debugging if needed. An argument -might- be made for splitting it into a separate headers and payload (and then also trailers?) field, but not omitting headers.

Your proposal imo also only circumvents 1 layer of parsing at a time (e.g., not logging QUIC STREAM frames still requires implementing an H3/QPACK parser, not logging QUIC Packer Headers still required QUIC frame parser, etc.).

I would suggest closing this without action.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants