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

Expose per-response telemetry for number of bytes sent from server to client. #38919

Open
avparuch opened this issue Dec 9, 2021 · 5 comments
Labels
area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions

Comments

@avparuch
Copy link
Contributor

avparuch commented Dec 9, 2021

IIS exposes telemetry about number of bytes sent from server to client on a per-request basis. Please see "Server bytes sent" in https://docs.microsoft.com/en-us/windows/win32/http/iis-logging. This is a request to enable similar telemetry for HTTP.sys server and Kestrel. This is useful for egress bandwidth calculations/investigations for large-scale services.

@TanayParikh TanayParikh added the ✔️ Resolution: Duplicate Resolved as a duplicate of another issue label Dec 9, 2021
@ghost ghost added the Status: Resolved label Dec 9, 2021
@TanayParikh TanayParikh removed ✔️ Resolution: Duplicate Resolved as a duplicate of another issue Status: Resolved labels Dec 9, 2021
@TanayParikh TanayParikh reopened this Dec 9, 2021
@Tratcher
Copy link
Member

Tratcher commented Dec 9, 2021

Related to, but distinct from #38918, the request and response scenarios are pretty different to implement and consume.

@Tratcher
Copy link
Member

Tratcher commented Dec 9, 2021

We need to check if this number includes headers, body, etc..

Reporting it to the app in a feature is tricky because it will change over the lifetime of a response, and in some cases the response isn't sent at all until the pipeline unwinds.

@ghost
Copy link

ghost commented Dec 13, 2021

Thanks for contacting us.

We're moving this issue to the .NET 7 Planning milestone for future evaluation / consideration. We would like to keep this around to collect more feedback, which can help us with prioritizing this work. We will re-evaluate this issue, during our next planning meeting(s).
If we later determine, that the issue has no community involvement, or it's very rare and low-impact issue, we will close it - so that the team can focus on more important and high impact issues.
To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.

@ghost
Copy link

ghost commented Sep 13, 2022

Thanks for contacting us.

We're moving this issue to the .NET 8 Planning milestone for future evaluation / consideration. We would like to keep this around to collect more feedback, which can help us with prioritizing this work. We will re-evaluate this issue, during our next planning meeting(s).
If we later determine, that the issue has no community involvement, or it's very rare and low-impact issue, we will close it - so that the team can focus on more important and high impact issues.
To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.

@Tratcher
Copy link
Member

Tratcher commented Nov 9, 2022

Proposal from another customer: #44953

IHttpRequestSizeFeature
{
long RequestLineSize { get; }
long HeaderSize { get; }
long? BodySize { get; } // find appropriate optimization based on buffering/content-length?
long TotalRequestSize { get; }
}

IHttpResponseSizeFeature
{
// similar to above
}

@wtgodbe wtgodbe removed their assignment Nov 28, 2022
@Tratcher Tratcher changed the title Expose per-request telemetry for number of bytes sent from server to client. Expose per-response telemetry for number of bytes sent from server to client. Apr 21, 2023
@amcasey amcasey added area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions and removed area-runtime labels Aug 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions
Projects
None yet
Development

No branches or pull requests

5 participants