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

Unified Diff: components/data_reduction_proxy/core/browser/data_reduction_proxy_config.cc

Issue 1164713004: Store network quality samples so we can compute percentiles. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changes to make the tests work on Windows Created 5 years, 6 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
Index: components/data_reduction_proxy/core/browser/data_reduction_proxy_config.cc
diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_config.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_config.cc
index dd55a9eb7e9a27c6fe4fc74aa741794e21992394..d4d41d702670011ecfb8a898cb016802b4a73a8d 100644
--- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_config.cc
+++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_config.cc
@@ -197,7 +197,7 @@ DataReductionProxyConfig::DataReductionProxyConfig(
configurator_(configurator),
event_creator_(event_creator),
auto_lofi_minimum_rtt_(base::TimeDelta::Max()),
- auto_lofi_maximum_kbps_(UINT64_MAX),
+ auto_lofi_maximum_kbps_(0),
auto_lofi_hysteresis_(base::TimeDelta::Max()),
network_quality_last_updated_(base::TimeTicks()),
network_prohibitively_slow_(false),
@@ -397,17 +397,17 @@ bool DataReductionProxyConfig::IsNetworkQualityProhibitivelySlow(
network_quality_last_updated_ = base::TimeTicks::Now();
+ // TODO(tbansal): Set |network_prohibitively_slow| based on medians.
net::NetworkQuality network_quality =
- network_quality_estimator->GetEstimate();
- // TODO(tbansal): Set |network_prohibitively_slow| based on medians
- // provided by NetworkQualityEstimator API and field trial parameters.
+ network_quality_estimator->GetPeakEstimate();
// Network is prohibitvely slow if either the downlink bandwidth is too low
// or the RTT is too high.
- if ((network_quality.peak_throughput_kbps > 0 &&
- network_quality.peak_throughput_kbps <= auto_lofi_maximum_kbps_) ||
- (network_quality.fastest_rtt > base::TimeDelta() &&
- network_quality.fastest_rtt >= auto_lofi_minimum_rtt_)) {
+ if ((network_quality.downstream_throughput_kbps() > 0 &&
+ network_quality.downstream_throughput_kbps() <
+ auto_lofi_maximum_kbps_) ||
+ (network_quality.rtt() != base::TimeDelta::Max() &&
+ network_quality.rtt() > auto_lofi_minimum_rtt_)) {
network_prohibitively_slow_ = true;
} else {
network_prohibitively_slow_ = false;
@@ -472,14 +472,16 @@ void DataReductionProxyConfig::PopulateAutoLoFiParams() {
auto_lofi_minimum_rtt_ =
base::TimeDelta::FromMilliseconds(auto_lofi_minimum_rtt_msec);
}
+ DCHECK_GE(auto_lofi_minimum_rtt_, base::TimeDelta());
- uint64_t auto_lofi_maximum_kbps;
+ int32_t auto_lofi_maximum_kbps;
variation_value = variations::GetVariationParamValue(
DataReductionProxyParams::GetLoFiFieldTrialName(), "kbps");
if (!variation_value.empty() &&
- base::StringToUint64(variation_value, &auto_lofi_maximum_kbps)) {
+ base::StringToInt(variation_value, &auto_lofi_maximum_kbps)) {
auto_lofi_maximum_kbps_ = auto_lofi_maximum_kbps;
}
+ DCHECK_GE(auto_lofi_maximum_kbps_, 0);
uint32_t auto_lofi_hysteresis_period_seconds;
variation_value = variations::GetVariationParamValue(
@@ -491,6 +493,7 @@ void DataReductionProxyConfig::PopulateAutoLoFiParams() {
auto_lofi_hysteresis_ =
base::TimeDelta::FromSeconds(auto_lofi_hysteresis_period_seconds);
}
+ DCHECK_GE(auto_lofi_hysteresis_, base::TimeDelta());
}
bool DataReductionProxyConfig::IsProxyBypassed(

Powered by Google App Engine
This is Rietveld 408576698