Add stats on QuicConnection path degrading and recovering.
To merge: please use num_path_degrading stats from the connection instead of from multi_port_stats.
PiperOrigin-RevId: 526808051
diff --git a/quiche/quic/core/quic_connection_test.cc b/quiche/quic/core/quic_connection_test.cc
index a274129..0a6c01c 100644
--- a/quiche/quic/core/quic_connection_test.cc
+++ b/quiche/quic/core/quic_connection_test.cc
@@ -7937,6 +7937,8 @@
EXPECT_CALL(visitor_, OnForwardProgressMadeAfterPathDegrading()).Times(1);
frame = InitAckFrame({{QuicPacketNumber(2), QuicPacketNumber(3)}});
ProcessAckPacket(&frame);
+ EXPECT_EQ(1,
+ connection_.GetStats().num_forward_progress_after_path_degrading);
EXPECT_FALSE(connection_.IsPathDegrading());
EXPECT_TRUE(connection_.PathDegradingDetectionInProgress());
}
@@ -13393,7 +13395,7 @@
EXPECT_TRUE(alt_path->validated);
auto stats = connection_.multi_port_stats();
- EXPECT_EQ(1, stats->num_path_degrading);
+ EXPECT_EQ(1, connection_.GetStats().num_path_degrading);
EXPECT_EQ(0, stats->num_multi_port_probe_failures_when_path_degrading);
EXPECT_EQ(kTestRTT, stats->rtt_stats.latest_rtt());
EXPECT_EQ(kTestRTT,
@@ -13426,7 +13428,7 @@
EXPECT_TRUE(QuicConnectionPeer::IsAlternativePath(
&connection_, kNewSelfAddress, connection_.peer_address()));
EXPECT_TRUE(alt_path->validated);
- EXPECT_EQ(1, stats->num_path_degrading);
+ EXPECT_EQ(1, connection_.GetStats().num_path_degrading);
EXPECT_EQ(0, stats->num_multi_port_probe_failures_when_path_degrading);
EXPECT_EQ(kTestRTT, stats->rtt_stats.latest_rtt());
EXPECT_EQ(kTestRTT,
@@ -13454,7 +13456,7 @@
EXPECT_FALSE(connection_.HasPendingPathValidation());
EXPECT_FALSE(QuicConnectionPeer::IsAlternativePath(
&connection_, kNewSelfAddress, connection_.peer_address()));
- EXPECT_EQ(1, stats->num_path_degrading);
+ EXPECT_EQ(1, connection_.GetStats().num_path_degrading);
EXPECT_EQ(1, stats->num_multi_port_probe_failures_when_path_degrading);
EXPECT_EQ(0, stats->num_multi_port_probe_failures_when_path_not_degrading);
}
@@ -13518,7 +13520,7 @@
EXPECT_FALSE(connection_.HasPendingPathValidation());
EXPECT_FALSE(QuicConnectionPeer::IsAlternativePath(
&connection_, kNewSelfAddress, connection_.peer_address()));
- EXPECT_EQ(1, stats->num_path_degrading);
+ EXPECT_EQ(1, connection_.GetStats().num_path_degrading);
EXPECT_EQ(1, stats->num_multi_port_probe_failures_when_path_degrading);
uint64_t connection_id = 1235;
@@ -13551,7 +13553,7 @@
EXPECT_FALSE(connection_.HasPendingPathValidation());
EXPECT_FALSE(QuicConnectionPeer::IsAlternativePath(
&connection_, kNewSelfAddress, connection_.peer_address()));
- EXPECT_EQ(1, stats->num_path_degrading);
+ EXPECT_EQ(1, connection_.GetStats().num_path_degrading);
EXPECT_EQ(i + 2, stats->num_multi_port_probe_failures_when_path_degrading);
}