Chromium Code Reviews| Index: components/data_reduction_proxy/core/browser/data_reduction_proxy_usage_stats.cc |
| diff --git a/components/data_reduction_proxy/core/browser/data_reduction_proxy_usage_stats.cc b/components/data_reduction_proxy/core/browser/data_reduction_proxy_usage_stats.cc |
| index 907e9cf1259824ceeaef7b7ed8ae1679534a7be7..ddd9b1f56c572b1ee8881e81774aaad269b4990a 100644 |
| --- a/components/data_reduction_proxy/core/browser/data_reduction_proxy_usage_stats.cc |
| +++ b/components/data_reduction_proxy/core/browser/data_reduction_proxy_usage_stats.cc |
| @@ -215,14 +215,15 @@ void DataReductionProxyUsageStats::RecordBypassedBytesHistograms( |
| const net::ProxyConfig& data_reduction_proxy_config) { |
| int64 content_length = request->received_response_content_length(); |
| - if (data_reduction_proxy_enabled.GetValue() && |
| - !data_reduction_proxy_config.Equals( |
| - request->context()->proxy_service()->config())) { |
| - RecordBypassedBytes(last_bypass_type_, |
| - DataReductionProxyUsageStats::MANAGED_PROXY_CONFIG, |
| - content_length); |
| + |
| + // Only record histograms when the data reduction proxy is enabled. |
| + if (!data_reduction_proxy_enabled.GetValue()) |
| + return; |
| + |
| + // TODO(bengr): Add histogram(s) for byte counts of unsupported schemes, e.g., |
| + // ws and wss. |
| + if (!request->url().SchemeIsHTTPOrHTTPS()) |
| return; |
| - } |
| DataReductionProxyTypeInfo data_reduction_proxy_type_info; |
| if (data_reduction_proxy_params_->WasDataReductionProxyUsed( |
|
sclittle
2014/12/30 22:10:41
Putting NOT_BYPASSED above PROXY_OVERRIDDEN like y
bengr
2014/12/30 23:22:30
Done.
|
| @@ -241,16 +242,24 @@ void DataReductionProxyUsageStats::RecordBypassedBytesHistograms( |
| return; |
| } |
| - if (data_reduction_proxy_enabled.GetValue() && |
| - request->url().SchemeIs(url::kHttpsScheme)) { |
| + if (request->url().SchemeIs(url::kHttpsScheme)) { |
| RecordBypassedBytes(last_bypass_type_, |
| DataReductionProxyUsageStats::SSL, |
| content_length); |
| return; |
| } |
| - if (data_reduction_proxy_enabled.GetValue() && |
| - data_reduction_proxy_params_->IsBypassedByDataReductionProxyLocalRules( |
| + // Now that the data reduction proxy is a best effort proxy, if the effective |
| + // proxy configuration resolves to anything other than direct:// for a URL, |
| + // the data reduction proxy will not be used. |
| + if (!request->proxy_server().IsEmpty()) { |
|
sclittle
2014/12/30 22:10:41
Nit: Maybe add a DCHECK or something here to asser
bengr
2014/12/30 23:22:30
Done.
|
| + RecordBypassedBytes(last_bypass_type_, |
| + DataReductionProxyUsageStats::PROXY_OVERRIDDEN, |
|
sclittle
2014/12/30 22:10:41
Moving PROXY_OVERRIDDEN down below SSL here slight
bengr
2014/12/30 23:22:30
This was intentional. I want to know how much traf
sclittle
2014/12/30 23:54:26
OK
|
| + content_length); |
| + return; |
| + } |
| + |
| + if (data_reduction_proxy_params_->IsBypassedByDataReductionProxyLocalRules( |
| *request, data_reduction_proxy_config)) { |
| RecordBypassedBytes(last_bypass_type_, |
| DataReductionProxyUsageStats::LOCAL_BYPASS_RULES, |
| @@ -292,8 +301,7 @@ void DataReductionProxyUsageStats::RecordBypassedBytesHistograms( |
| return; |
| } |
| - if (data_reduction_proxy_enabled.GetValue() && |
| - data_reduction_proxy_params_->AreDataReductionProxiesBypassed(*request, |
| + if (data_reduction_proxy_params_->AreDataReductionProxiesBypassed(*request, |
| NULL)) { |
| RecordBypassedBytes(last_bypass_type_, |
| DataReductionProxyUsageStats::NETWORK_ERROR, |
| @@ -369,9 +377,9 @@ void DataReductionProxyUsageStats::RecordBypassedBytes( |
| "DataReductionProxy.BypassedBytes.LocalBypassRules", |
| content_length); |
| break; |
| - case DataReductionProxyUsageStats::MANAGED_PROXY_CONFIG: |
| + case DataReductionProxyUsageStats::PROXY_OVERRIDDEN: |
| UMA_HISTOGRAM_COUNTS( |
| - "DataReductionProxy.BypassedBytes.ManagedProxyConfig", |
| + "DataReductionProxy.BypassedBytes.ProxyOverridden", |
| content_length); |
| break; |
| case DataReductionProxyUsageStats::AUDIO_VIDEO: |