-
Notifications
You must be signed in to change notification settings - Fork 586
Labels
feature requestA request for new functionalityA request for new functionality
Milestone
Description
Describe the feature you'd like supported
Currently we expose a number of (timing) statistics on a stream that is really useful for a sender side, but it doesn't help much for the receiver side:
typedef struct QUIC_STREAM_STATISTICS {
uint64_t ConnBlockedBySchedulingUs;
uint64_t ConnBlockedByPacingUs;
uint64_t ConnBlockedByAmplificationProtUs;
uint64_t ConnBlockedByCongestionControlUs;
uint64_t ConnBlockedByFlowControlUs;
uint64_t StreamBlockedByIdFlowControlUs;
uint64_t StreamBlockedByFlowControlUs;
uint64_t StreamBlockedByAppUs;
} QUIC_STREAM_STATISTICS;
It would be great if we could standardize a solution where the peer could give us its timing values too. This would allow a single side (i.e. the server) to get better understanding of where time is getting spent.
Proposed solution
- Define a new QUIC extension to send peer timing statistics on shutdown of the send path of each stream by writing an IETF draft for it.
- Implement the draft in MsQuic.
- Expose a new API for the app to query the peer stream statistics.
Additional context
No response
Metadata
Metadata
Assignees
Labels
feature requestA request for new functionalityA request for new functionality
Type
Projects
Status
Planned
Milestone
Relationships
Development
Select code repository
Activity