Chromium Code Reviews| Index: components/data_reduction_proxy/browser/data_reduction_proxy_usage_stats.cc |
| diff --git a/components/data_reduction_proxy/browser/data_reduction_proxy_usage_stats.cc b/components/data_reduction_proxy/browser/data_reduction_proxy_usage_stats.cc |
| index b274e07cac4d8dc35e22fd53684c3edb0d8acd05..5007b2f57281ff1406035c14dfb96d8c6c4f40a8 100644 |
| --- a/components/data_reduction_proxy/browser/data_reduction_proxy_usage_stats.cc |
| +++ b/components/data_reduction_proxy/browser/data_reduction_proxy_usage_stats.cc |
| @@ -161,8 +161,18 @@ void DataReductionProxyUsageStats::SetBypassType( |
| void DataReductionProxyUsageStats::RecordBypassedBytesHistograms( |
| net::URLRequest& request, |
| - const BooleanPrefMember& data_reduction_proxy_enabled) { |
| + const BooleanPrefMember& data_reduction_proxy_enabled, |
| + const net::ProxyConfig& data_reduction_proxy_config) { |
| int64 content_length = request.received_response_content_length(); |
| + |
| + if (!data_reduction_proxy_config.Equals( |
|
bengr
2014/09/02 05:11:38
Does this "Equals" do the right thing? E.g., what
megjablon
2014/09/02 21:00:16
Yes. This equals compares ignoring the differences
|
| + request.context()->proxy_service()->config())) { |
| + RecordBypassedBytes(last_bypass_type_, |
| + DataReductionProxyUsageStats::MANAGED_PROXY_CONFIG, |
| + content_length); |
| + return; |
| + } |
| + |
| if (data_reduction_proxy_params_->WasDataReductionProxyUsed(&request, NULL)) { |
| RecordBypassedBytes(last_bypass_type_, |
| DataReductionProxyUsageStats::NOT_BYPASSED, |
| @@ -179,7 +189,8 @@ void DataReductionProxyUsageStats::RecordBypassedBytesHistograms( |
| } |
| if (data_reduction_proxy_enabled.GetValue() && |
| - !data_reduction_proxy_params_->IsDataReductionProxyEligible(&request)) { |
| + data_reduction_proxy_params_->IsBypassedByDataReductionProxyLocalRules( |
| + request, data_reduction_proxy_config)) { |
| RecordBypassedBytes(last_bypass_type_, |
| DataReductionProxyUsageStats::LOCAL_BYPASS_RULES, |
| content_length); |
| @@ -187,11 +198,6 @@ void DataReductionProxyUsageStats::RecordBypassedBytesHistograms( |
| } |
| if (triggering_request_) { |
| - RecordBypassedBytes(last_bypass_type_, |
| - DataReductionProxyUsageStats::TRIGGERING_REQUEST, |
| - content_length); |
| - triggering_request_ = false; |
| - |
| // We only record when audio or video triggers a bypass. We don't care |
| // about audio and video bypassed as collateral damage. |
| std::string mime_type; |
| @@ -203,7 +209,14 @@ void DataReductionProxyUsageStats::RecordBypassedBytesHistograms( |
| RecordBypassedBytes(last_bypass_type_, |
| DataReductionProxyUsageStats::AUDIO_VIDEO, |
| content_length); |
| + return; |
| } |
| + |
| + RecordBypassedBytes(last_bypass_type_, |
| + DataReductionProxyUsageStats::TRIGGERING_REQUEST, |
| + content_length); |
| + triggering_request_ = false; |
| + return; |
| } |
| if (last_bypass_type_ != BYPASS_EVENT_TYPE_MAX) { |
| @@ -265,6 +278,11 @@ void DataReductionProxyUsageStats::RecordBypassedBytes( |
| "DataReductionProxy.BypassedBytes.LocalBypassRules", |
| content_length); |
| break; |
| + case DataReductionProxyUsageStats::MANAGED_PROXY_CONFIG: |
| + UMA_HISTOGRAM_COUNTS( |
| + "DataReductionProxy.BypassedBytes.ManagedProxyConfig", |
| + content_length); |
| + break; |
| case DataReductionProxyUsageStats::AUDIO_VIDEO: |
| if (last_bypass_type_ == BYPASS_EVENT_TYPE_SHORT) { |
| UMA_HISTOGRAM_COUNTS( |