Add code counts for detailed reasons of stream creation failure. PiperOrigin-RevId: 494815408
diff --git a/quiche/quic/core/http/quic_spdy_client_session.cc b/quiche/quic/core/http/quic_spdy_client_session.cc index 12bb511..99b25c2 100644 --- a/quiche/quic/core/http/quic_spdy_client_session.cc +++ b/quiche/quic/core/http/quic_spdy_client_session.cc
@@ -48,11 +48,14 @@ bool QuicSpdyClientSession::ShouldCreateOutgoingBidirectionalStream() { if (!crypto_stream_->encryption_established()) { QUIC_DLOG(INFO) << "Encryption not active so no outgoing stream created."; + QUIC_CODE_COUNT( + quic_client_fails_to_create_stream_encryption_not_established); return false; } if (goaway_received() && respect_goaway_) { QUIC_DLOG(INFO) << "Failed to create a new outgoing stream. " << "Already received goaway."; + QUIC_CODE_COUNT(quic_client_fails_to_create_stream_goaway_received); return false; } return CanOpenNextOutgoingBidirectionalStream();
diff --git a/quiche/quic/core/quic_session.cc b/quiche/quic/core/quic_session.cc index a84f756..e71f67f 100644 --- a/quiche/quic/core/quic_session.cc +++ b/quiche/quic/core/quic_session.cc
@@ -1855,6 +1855,8 @@ bool QuicSession::CanOpenNextOutgoingBidirectionalStream() { if (liveness_testing_in_progress_) { QUICHE_DCHECK_EQ(Perspective::IS_CLIENT, perspective()); + QUIC_CODE_COUNT( + quic_client_fails_to_create_stream_liveness_testing_in_progress); return false; } if (!VersionHasIetfQuicFrames(transport_version())) { @@ -1863,6 +1865,8 @@ } } else { if (!ietf_streamid_manager_.CanOpenNextOutgoingBidirectionalStream()) { + QUIC_CODE_COUNT( + quic_fails_to_create_stream_close_too_many_streams_created); if (is_configured_) { // Send STREAM_BLOCKED after config negotiated. control_frame_manager_.WriteOrBufferStreamsBlocked( @@ -1877,6 +1881,7 @@ // Now is relatively close to the idle timeout having the risk that requests // could be discarded at the server. liveness_testing_in_progress_ = true; + QUIC_CODE_COUNT(quic_client_fails_to_create_stream_close_to_idle_timeout); return false; } return true;