Add 2 counters for number of successful multi-port probes. PiperOrigin-RevId: 606365200
diff --git a/quiche/quic/core/quic_connection.cc b/quiche/quic/core/quic_connection.cc index cfcce7c..99d8891 100644 --- a/quiche/quic/core/quic_connection.cc +++ b/quiche/quic/core/quic_connection.cc
@@ -6704,6 +6704,10 @@ context->peer_address(), client_connection_id, server_connection_id, stateless_reset_token); } + if (multi_port_stats_ != nullptr && + reason == PathValidationReason::kMultiPort) { + multi_port_stats_->num_client_probing_attempts++; + } path_validator_.StartPathValidation(std::move(context), std::move(result_delegate), reason); if (perspective_ == Perspective::IS_CLIENT && @@ -7131,6 +7135,7 @@ multi_port_probing_alarm_->Set(clock_->ApproximateNow() + multi_port_probing_interval_); if (multi_port_stats_ != nullptr) { + multi_port_stats_->num_successful_probes++; auto now = clock_->Now(); auto time_delta = now - start_time; multi_port_stats_->rtt_stats.UpdateRtt(time_delta, QuicTime::Delta::Zero(), @@ -7153,6 +7158,9 @@ multi_port_probing_alarm_->IsSet()) { return; } + if (multi_port_stats_ != nullptr) { + multi_port_stats_->num_client_probing_attempts++; + } auto multi_port_validation_result_delegate = std::make_unique<MultiPortPathValidationResultDelegate>(this); path_validator_.StartPathValidation(
diff --git a/quiche/quic/core/quic_connection.h b/quiche/quic/core/quic_connection.h index 7604cbb..5a770be 100644 --- a/quiche/quic/core/quic_connection.h +++ b/quiche/quic/core/quic_connection.h
@@ -521,6 +521,10 @@ size_t num_multi_port_probe_failures_when_path_degrading = 0; // number of total multi-port path creations in a connection size_t num_multi_port_paths_created = 0; + // number of client probing attempts. + size_t num_client_probing_attempts = 0; + // number of successful probes. + size_t num_successful_probes = 0; }; // Sets connection parameters from the supplied |config|.
diff --git a/quiche/quic/core/quic_connection_test.cc b/quiche/quic/core/quic_connection_test.cc index ac61c60..8cd373b 100644 --- a/quiche/quic/core/quic_connection_test.cc +++ b/quiche/quic/core/quic_connection_test.cc
@@ -13145,6 +13145,8 @@ EXPECT_TRUE(alt_path->validated); auto stats = connection_.multi_port_stats(); EXPECT_EQ(1, connection_.GetStats().num_path_degrading); + EXPECT_EQ(1, stats->num_successful_probes); + EXPECT_EQ(1, stats->num_client_probing_attempts); EXPECT_EQ(0, stats->num_multi_port_probe_failures_when_path_degrading); EXPECT_EQ(kTestRTT, stats->rtt_stats.latest_rtt()); EXPECT_EQ(kTestRTT,