Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(262)

Unified Diff: webrtc/modules/pacing/alr_detector.cc

Issue 2994623002: Add an experiment for stricter pacing and ALR probing. (Closed)
Patch Set: Comments addressed. Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/modules/pacing/alr_detector.h ('k') | webrtc/video/video_send_stream.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/modules/pacing/alr_detector.cc
diff --git a/webrtc/modules/pacing/alr_detector.cc b/webrtc/modules/pacing/alr_detector.cc
index 93752cf751395d99db60e146ef87f4b0558e4dcb..dcb0627fb821bf54b26807d9e5a77d91fecc4b57 100644
--- a/webrtc/modules/pacing/alr_detector.cc
+++ b/webrtc/modules/pacing/alr_detector.cc
@@ -22,14 +22,24 @@ namespace webrtc {
const char* AlrDetector::kScreenshareProbingBweExperimentName =
"WebRTC-ProbingScreenshareBwe";
+const char* AlrDetector::kStrictPacingAndProbingExperimentName =
+ "WebRTC-StrictPacingAndProbing";
AlrDetector::AlrDetector()
: bandwidth_usage_percent_(kDefaultAlrBandwidthUsagePercent),
alr_start_budget_level_percent_(kDefaultAlrStartBudgetLevelPercent),
alr_stop_budget_level_percent_(kDefaultAlrStopBudgetLevelPercent),
alr_budget_(0, true) {
+ RTC_CHECK(
+ field_trial::FindFullName(kStrictPacingAndProbingExperimentName)
+ .empty() ||
+ field_trial::FindFullName(kScreenshareProbingBweExperimentName).empty());
rtc::Optional<AlrExperimentSettings> experiment_settings =
- ParseAlrSettingsFromFieldTrial();
+ ParseAlrSettingsFromFieldTrial(kScreenshareProbingBweExperimentName);
+ if (!experiment_settings) {
+ experiment_settings =
+ ParseAlrSettingsFromFieldTrial(kStrictPacingAndProbingExperimentName);
+ }
if (experiment_settings) {
alr_stop_budget_level_percent_ =
experiment_settings->alr_stop_budget_level_percent;
@@ -67,10 +77,9 @@ rtc::Optional<int64_t> AlrDetector::GetApplicationLimitedRegionStartTime()
}
rtc::Optional<AlrDetector::AlrExperimentSettings>
-AlrDetector::ParseAlrSettingsFromFieldTrial() {
+AlrDetector::ParseAlrSettingsFromFieldTrial(const char* experiment_name) {
rtc::Optional<AlrExperimentSettings> ret;
- std::string group_name =
- field_trial::FindFullName(kScreenshareProbingBweExperimentName);
+ std::string group_name = field_trial::FindFullName(experiment_name);
const std::string kIgnoredSuffix = "_Dogfood";
if (group_name.rfind(kIgnoredSuffix) ==
@@ -88,7 +97,7 @@ AlrDetector::ParseAlrSettingsFromFieldTrial() {
&settings.alr_start_budget_level_percent,
&settings.alr_stop_budget_level_percent) == 5) {
ret.emplace(settings);
- LOG(LS_INFO) << "Using screenshare ALR experiment settings: "
+ LOG(LS_INFO) << "Using ALR experiment settings: "
"pacing factor: "
<< settings.pacing_factor << ", max pacer queue length: "
<< settings.max_paced_queue_time
@@ -98,6 +107,8 @@ AlrDetector::ParseAlrSettingsFromFieldTrial() {
<< settings.alr_start_budget_level_percent
<< ", ALR end budget level percent: "
<< settings.alr_stop_budget_level_percent;
+ } else {
+ LOG(LS_INFO) << "Failed to parse ALR experiment: " << experiment_name;
}
return ret;
« no previous file with comments | « webrtc/modules/pacing/alr_detector.h ('k') | webrtc/video/video_send_stream.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698