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,