aws / s2n-quic

An implementation of the IETF QUIC protocol
https://crates.io/crates/s2n-quic
Apache License 2.0
1.11k stars 115 forks source link

events: Implement a qlog Event Subscriber #1199

Open WesleyRosenblum opened 2 years ago

WesleyRosenblum commented 2 years ago

Problem:

qlog is a standardized logging format that allows easy sharing of data and the creation of reusable visualization and debugging tools. The schema (still in draft form) is specified in https://github.com/quicwg/qlog. s2n-quic does not currently output in this format.

Solution:

Implement an Event Subscriber that outputs in the qlog format, by implementing the event::Subscriber trait and matching up the available events to their qlog equivalents.

camshaft commented 2 years ago

Since the qlog spec is currently in draft, this should be a separate crate from the main s2n-quic as I don't want to break applications when things change. Probably something like s2n-quic-qlog.