Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Peer Stream Statistics Extension #4606

Open
nibanks opened this issue Oct 9, 2024 · 0 comments
Open

Peer Stream Statistics Extension #4606

nibanks opened this issue Oct 9, 2024 · 0 comments
Labels
feature request A request for new functionality
Milestone

Comments

@nibanks
Copy link
Member

nibanks commented Oct 9, 2024

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.

Additional context

No response

@nibanks nibanks added the feature request A request for new functionality label Oct 9, 2024
@nibanks nibanks added this to the Future milestone Oct 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request A request for new functionality
Projects
None yet
Development

No branches or pull requests

1 participant