| Index: net/proxy/proxy_script_fetcher_impl.cc
|
| diff --git a/net/proxy/proxy_script_fetcher_impl.cc b/net/proxy/proxy_script_fetcher_impl.cc
|
| index 290363be6e49cf4de509bbd7f0d075e062cb3c6d..55193703a5669f125ba81681061ae354c7c6bf01 100644
|
| --- a/net/proxy/proxy_script_fetcher_impl.cc
|
| +++ b/net/proxy/proxy_script_fetcher_impl.cc
|
| @@ -7,6 +7,7 @@
|
| #include "base/compiler_specific.h"
|
| #include "base/location.h"
|
| #include "base/logging.h"
|
| +#include "base/metrics/histogram.h"
|
| #include "base/single_thread_task_runner.h"
|
| #include "base/strings/string_util.h"
|
| #include "base/thread_task_runner_handle.h"
|
| @@ -133,6 +134,9 @@ int ProxyScriptFetcherImpl::Fetch(
|
| return OK;
|
| }
|
|
|
| + DCHECK(fetch_start_time_.is_null());
|
| + fetch_start_time_ = base::Time::Now();
|
| +
|
| cur_request_ =
|
| url_request_context_->CreateRequest(url, DEFAULT_PRIORITY, this);
|
| cur_request_->set_method("GET");
|
| @@ -282,6 +286,11 @@ bool ProxyScriptFetcherImpl::ConsumeBytesRead(URLRequest* request,
|
|
|
| void ProxyScriptFetcherImpl::FetchCompleted() {
|
| if (result_code_ == OK) {
|
| + // Calculate duration of time for proxy script fetch to complete.
|
| + DCHECK(!fetch_start_time_.is_null());
|
| + UMA_HISTOGRAM_TIMES("Net.ProxyScriptFetchSuccessDuration",
|
| + base::Time::Now() - fetch_start_time_);
|
| +
|
| // The caller expects the response to be encoded as UTF16.
|
| std::string charset;
|
| cur_request_->GetCharset(&charset);
|
| @@ -305,6 +314,7 @@ void ProxyScriptFetcherImpl::ResetCurRequestState() {
|
| callback_.Reset();
|
| result_code_ = OK;
|
| result_text_ = NULL;
|
| + fetch_start_time_ = base::Time();
|
| }
|
|
|
| void ProxyScriptFetcherImpl::OnTimeout(int id) {
|
|
|