[H/3] Distributed Tracing / Telemetry #104783
Labels
area-System.Net.Http
enhancement
Product code improvement that does NOT require public API changes/additions
Milestone
Right now, we emit very short telemetry / activity "wait for connection" for every H/3 request, even if the request is immediately handled by the connection and doesn't wait. Follow
queueStartingTimestamp
in:runtime/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/ConnectionPool/HttpConnectionPool.Http3.cs
Line 87 in 9b09bcf
We shouldn't emit those events (if the connection can handle the request immediately). We do have
_availableRequestStreamsCount
in H3 connection which we could use:runtime/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http3Connection.cs
Line 56 in 9b09bcf
Also, right now the code differs from H/2 pool because of the internal waiting in S.N.Quic
OpenOutboundStreamAsync
.runtime/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/ConnectionPool/HttpConnectionPool.Http3.cs
Line 91 in 9b09bcf
vs
runtime/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/ConnectionPool/HttpConnectionPool.cs
Line 459 in 9b09bcf
So if we can bring the code closer to H/2 with this change, it would be an added bonus.
Original discussion: #103922 (comment)
The text was updated successfully, but these errors were encountered: