Index: content/renderer/media/rtc_peer_connection_handler.cc |
diff --git a/content/renderer/media/rtc_peer_connection_handler.cc b/content/renderer/media/rtc_peer_connection_handler.cc |
index c5c68e4d7418ba6b9d591e72cfbb5fd56e2e8657..70755bd6f42d78f085fda61a2fa41d84ea611a8a 100644 |
--- a/content/renderer/media/rtc_peer_connection_handler.cc |
+++ b/content/renderer/media/rtc_peer_connection_handler.cc |
@@ -390,7 +390,9 @@ RTCPeerConnectionHandler::RTCPeerConnectionHandler( |
dependency_factory_(dependency_factory), |
frame_(NULL), |
peer_connection_tracker_(NULL), |
- num_data_channels_created_(0) { |
+ num_data_channels_created_(0), |
+ num_local_candidates_ipv4_(0), |
+ num_local_candidates_ipv6_(0) { |
g_peer_connection_handlers.Get().insert(this); |
} |
@@ -894,6 +896,12 @@ void RTCPeerConnectionHandler::OnIceGatheringChange( |
// to signal end of candidates. |
blink::WebRTCICECandidate null_candidate; |
client_->didGenerateICECandidate(null_candidate); |
+ |
+ UMA_HISTOGRAM_COUNTS_100("WebRTC.PeerConnection.IPv4LocalCandidates", |
+ num_local_candidates_ipv4_); |
+ |
+ UMA_HISTOGRAM_COUNTS_100("WebRTC.PeerConnection.IPv6LocalCandidates", |
+ num_local_candidates_ipv6_); |
} |
blink::WebRTCPeerConnectionHandlerClient::ICEGatheringState state = |
@@ -968,6 +976,14 @@ void RTCPeerConnectionHandler::OnIceCandidate( |
peer_connection_tracker_->TrackAddIceCandidate( |
this, web_candidate, PeerConnectionTracker::SOURCE_LOCAL, true); |
+ if (candidate->candidate().address().family() == AF_INET) { |
+ num_local_candidates_ipv4_++; |
+ } else if (candidate->candidate().address().family() == AF_INET6) { |
+ num_local_candidates_ipv6_++; |
+ } else { |
+ NOTREACHED(); |
+ } |
+ |
client_->didGenerateICECandidate(web_candidate); |
} |