From e448dd53554b4ecd3dd62a46a08b25044bc2e210 Mon Sep 17 00:00:00 2001 From: hbos Date: Mon, 12 Dec 2016 01:22:53 -0800 Subject: [PATCH] RTCIceCandidatePairStats.consentRequestsSent set by RTCStatsCollector and requestsSent is updated. Before: requestsSent = total ping requests Now requestsSent = pings sent before first response consentRequestsSent = pings after first response Spec: https://w3c.github.io/webrtc-stats/#dom-rtcicecandidatepairstats-consentrequestssent BUG=chromium:633550 Review-Url: https://codereview.webrtc.org/2558293002 Cr-Commit-Position: refs/heads/master@{#15541} --- webrtc/api/rtcstats_integrationtest.cc | 2 +- webrtc/api/rtcstatscollector.cc | 9 +++++++-- webrtc/api/rtcstatscollector_unittest.cc | 6 ++++-- webrtc/api/stats/rtcstats_objects.h | 1 - 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/webrtc/api/rtcstats_integrationtest.cc b/webrtc/api/rtcstats_integrationtest.cc index 4c5730470e..923997cb45 100644 --- a/webrtc/api/rtcstats_integrationtest.cc +++ b/webrtc/api/rtcstats_integrationtest.cc @@ -345,7 +345,7 @@ class RTCStatsReportVerifier { verifier.TestMemberIsUndefined(candidate_pair.retransmissions_received); verifier.TestMemberIsUndefined(candidate_pair.retransmissions_sent); verifier.TestMemberIsUndefined(candidate_pair.consent_requests_received); - verifier.TestMemberIsUndefined(candidate_pair.consent_requests_sent); + verifier.TestMemberIsDefined(candidate_pair.consent_requests_sent); verifier.TestMemberIsUndefined(candidate_pair.consent_responses_received); verifier.TestMemberIsUndefined(candidate_pair.consent_responses_sent); return verifier.ExpectAllMembersSuccessfullyTested(); diff --git a/webrtc/api/rtcstatscollector.cc b/webrtc/api/rtcstatscollector.cc index a7c4cfc577..9998d9aafe 100644 --- a/webrtc/api/rtcstatscollector.cc +++ b/webrtc/api/rtcstatscollector.cc @@ -638,12 +638,17 @@ void RTCStatsCollector::ProduceIceCandidateAndPairStats_s( static_cast(info.rtt) / rtc::kNumMillisecsPerSec; candidate_pair_stats->requests_received = static_cast(info.recv_ping_requests); - candidate_pair_stats->requests_sent = - static_cast(info.sent_ping_requests_total); + candidate_pair_stats->requests_sent = static_cast( + info.sent_ping_requests_before_first_response); candidate_pair_stats->responses_received = static_cast(info.recv_ping_responses); candidate_pair_stats->responses_sent = static_cast(info.sent_ping_responses); + RTC_DCHECK_GE(info.sent_ping_requests_total, + info.sent_ping_requests_before_first_response); + candidate_pair_stats->consent_requests_sent = static_cast( + info.sent_ping_requests_total - + info.sent_ping_requests_before_first_response); report->AddStats(std::move(candidate_pair_stats)); } diff --git a/webrtc/api/rtcstatscollector_unittest.cc b/webrtc/api/rtcstatscollector_unittest.cc index 2d2059b93e..b973044c94 100644 --- a/webrtc/api/rtcstatscollector_unittest.cc +++ b/webrtc/api/rtcstatscollector_unittest.cc @@ -1006,7 +1006,8 @@ TEST_F(RTCStatsCollectorTest, CollectRTCIceCandidatePairStats) { connection_info.recv_total_bytes = 1234; connection_info.rtt = 1337; connection_info.recv_ping_requests = 2020; - connection_info.sent_ping_requests_total = 1010; + connection_info.sent_ping_requests_total = 2020; + connection_info.sent_ping_requests_before_first_response = 2000; connection_info.recv_ping_responses = 4321; connection_info.sent_ping_responses = 1000; @@ -1041,9 +1042,10 @@ TEST_F(RTCStatsCollectorTest, CollectRTCIceCandidatePairStats) { expected_pair.bytes_received = 1234; expected_pair.current_rtt = 1.337; expected_pair.requests_received = 2020; - expected_pair.requests_sent = 1010; + expected_pair.requests_sent = 2000; expected_pair.responses_received = 4321; expected_pair.responses_sent = 1000; + expected_pair.consent_requests_sent = (2020 - 2000); EXPECT_TRUE(report->Get(expected_pair.id())); EXPECT_EQ( diff --git a/webrtc/api/stats/rtcstats_objects.h b/webrtc/api/stats/rtcstats_objects.h index 21b8d68e14..04797e9b2b 100644 --- a/webrtc/api/stats/rtcstats_objects.h +++ b/webrtc/api/stats/rtcstats_objects.h @@ -152,7 +152,6 @@ class RTCIceCandidatePairStats final : public RTCStats { RTCStatsMember retransmissions_sent; // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/633550 RTCStatsMember consent_requests_received; - // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/633550 RTCStatsMember consent_requests_sent; // TODO(hbos): Not collected by |RTCStatsCollector|. crbug.com/633550 RTCStatsMember consent_responses_received;