cloudflare / cloudflare/quiche

Event observer interface that can be used to inject foundations telemetry and other debuggability hooks into quiche

Open
#2,273 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
11.8k
Forks
1.1k
Avg merge
21h 9m
Merged PRs (30d)
6

Description

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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.