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 <juberti@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/master@{#33442}
This commit is contained in:
Philipp Hancke 2021-03-05 12:07:05 +01:00 committed by Commit Bot
parent 727d2afc43
commit 8973655f42

View File

@ -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;
}
}
}