quiche icon indicating copy to clipboard operation
quiche copied to clipboard

feat: add connection flow control and stream to stats

Open gregor-cf opened this issue 1 month ago • 2 comments

These stats would be really helpful for debugging issues we're seeing in prod.

gregor-cf avatar Nov 07 '25 16:11 gregor-cf

This seems like it is conflating two different use cases, one for general monitoring/observability of however a connection was used, another for helping applications make runtime choices.

A good rule of thumb here might be that any number that only increases goes in stats, everything else can be a direct getter

LPardue avatar Nov 07 '25 17:11 LPardue

This seems like it is conflating two different use cases, one for general monitoring/observability of however a connection was used, another for helping applications make runtime choices.

A good rule of thumb here might be that any number that only increases goes in stats, everything else can be a direct getter

Is your concern with just the flow control windows in quiche::Stats? Instead of putting the window in the stats, I could also use tx_data, max_tx_data, rx_data, max_rx_data separately, then we'd have monotonically increasing values again. Alternatively, I could also remove the flow control windows from quiche::Stats but leave them in tokio_quiche's QuicheConnectionStats / AsSocketStats.

(FWIW, we already have the congestion window in quiche::PathStats (and also in AsSocketStats).

I need these stats in AsSocketStats (in some form), since we have plumbing in oxy and friends to query these stats, but don't have any plumbing to directly query the quiche connection itself.

gregor-cf avatar Nov 07 '25 19:11 gregor-cf