I have been recently trying to get insight into the following events seen by QUIC connections:
- DATA_BLOCKED
- STREAM_DATA_BLOCKED
- RESET_STREAM
- STOP_SENDING
As ways to understand proxy behaviors. I see some foundations telemetry and QuicAuditStats use in tokio-quiche, but neither of those is available in the quiche library. Ideally we'ld like to get notifications when quiche decides it will generate those 4 frame types as a way to increment prometheus metrics immediately and build up information in the connection object so we can generate a final report at the end of the connection.
The need for different work depending on the application makes me think that we need an observability trait of some kind that the application can feed into quiche in order to be notified when some event of interest happens. First use cases of this trait could be the prometheus metric and end of connection logging cases mentioned above, but the true success would be if we could use this trait to implement more complicated behaviors like qlog trace generation and some kinds of debug logging.