From 8973655f42c90ea82efbe0046c889232ad29e545 Mon Sep 17 00:00:00 2001 From: Philipp Hancke Date: Fri, 5 Mar 2021 12:07:05 +0100 Subject: [PATCH] measure ice candidate poolsize setting for different bundle policys The ICE candidate pool size defined in https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-icecandidatepoolsize is an optimization and it may be desirable to restrict the maximum amount of the pre-gathered components or limit the usage to the max-bundle policy. BUG=webrtc:12383 Change-Id: I24a6434fb55b4d7f4471078785712996182f394a Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/209701 Reviewed-by: Justin Uberti Reviewed-by: Harald Alvestrand Commit-Queue: Philipp Hancke Cr-Commit-Position: refs/heads/master@{#33442} --- pc/peer_connection.cc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/pc/peer_connection.cc b/pc/peer_connection.cc index 1766bf5163..e3a4b27560 100644 --- a/pc/peer_connection.cc +++ b/pc/peer_connection.cc @@ -1817,6 +1817,29 @@ void PeerConnection::SetConnectionState( } RTC_HISTOGRAM_ENUMERATION("WebRTC.PeerConnection.BundlePolicy", policy, kBundlePolicyUsageMax); + + // Record configured ice candidate pool size depending on the + // BUNDLE policy. See + // https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-icecandidatepoolsize + // The ICE candidate pool size is an optimization and it may be desirable + // to restrict the maximum size of the pre-gathered candidates. + switch (configuration_.bundle_policy) { + case kBundlePolicyBalanced: + RTC_HISTOGRAM_COUNTS_LINEAR( + "WebRTC.PeerConnection.CandidatePoolUsage.Balanced", + configuration_.ice_candidate_pool_size, 0, 255, 256); + break; + case kBundlePolicyMaxBundle: + RTC_HISTOGRAM_COUNTS_LINEAR( + "WebRTC.PeerConnection.CandidatePoolUsage.MaxBundle", + configuration_.ice_candidate_pool_size, 0, 255, 256); + break; + case kBundlePolicyMaxCompat: + RTC_HISTOGRAM_COUNTS_LINEAR( + "WebRTC.PeerConnection.CandidatePoolUsage.MaxCompat", + configuration_.ice_candidate_pool_size, 0, 255, 256); + break; + } } }