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

Unified Diff: net/proxy/proxy_service.cc

Issue 1121823004: Add some basic UMA for proxy service. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 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 | « no previous file | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/proxy/proxy_service.cc
diff --git a/net/proxy/proxy_service.cc b/net/proxy/proxy_service.cc
index b3d3be442d3247fdec861484230f9b7d876d095a..3a7815d4a8168cc8949ce28ca844052b57508879 100644
--- a/net/proxy/proxy_service.cc
+++ b/net/proxy/proxy_service.cc
@@ -13,8 +13,10 @@
#include "base/memory/weak_ptr.h"
#include "base/message_loop/message_loop.h"
#include "base/message_loop/message_loop_proxy.h"
+#include "base/metrics/histogram_macros.h"
#include "base/strings/string_util.h"
#include "base/thread_task_runner_handle.h"
+#include "base/time/time.h"
#include "base/values.h"
#include "net/base/completion_callback.h"
#include "net/base/load_flags.h"
@@ -796,7 +798,8 @@ class ProxyService::PacRequest
resolve_job_(NULL),
config_id_(ProxyConfig::kInvalidConfigID),
config_source_(PROXY_CONFIG_SOURCE_UNKNOWN),
- net_log_(net_log) {
+ net_log_(net_log),
+ request_start_time_(TimeTicks::Now()) {
DCHECK(!user_callback.is_null());
}
@@ -884,6 +887,12 @@ class ProxyService::PacRequest
config_id_ = ProxyConfig::kInvalidConfigID;
config_source_ = PROXY_CONFIG_SOURCE_UNKNOWN;
+ UMA_HISTOGRAM_CUSTOM_TIMES(
+ "Net.ProxyService.ResolveTime",
+ results_->proxy_resolve_end_time_ - request_start_time_,
+ base::TimeDelta::FromMicroseconds(100),
+ base::TimeDelta::FromSeconds(10), 50);
eroman 2015/05/05 23:51:28 I don't think the upper range is high enough. I su
Anand Mistry (off Chromium) 2015/05/06 06:52:18 Done.
+
return rv;
}
@@ -931,6 +940,8 @@ class ProxyService::PacRequest
// Time when the PAC is started. Cached here since resetting ProxyInfo also
// clears the proxy times.
TimeTicks proxy_resolve_start_time_;
+ // Time when this request is created.
+ TimeTicks request_start_time_;
};
// ProxyService ---------------------------------------------------------------
@@ -1066,6 +1077,8 @@ int ProxyService::ResolveProxyHelper(const GURL& raw_url,
// using a direct connection for example).
int rv = TryToCompleteSynchronously(url, load_flags,
network_delegate, result);
+ UMA_HISTOGRAM_BOOLEAN("Net.ProxyService.ResolvedSynchronously",
eroman 2015/05/05 23:51:29 This is incomplete. Requests can also be completed
Anand Mistry (off Chromium) 2015/05/06 06:52:18 I've changed these around. I hope they're better.
+ rv != ERR_IO_PENDING);
if (rv != ERR_IO_PENDING)
return DidFinishResolvingProxy(url, load_flags, network_delegate,
result, rv, net_log);
@@ -1379,6 +1392,11 @@ int ProxyService::DidFinishResolvingProxy(const GURL& url,
ProxyInfo* result,
int result_code,
const BoundNetLog& net_log) {
+ // This function "fixes" the result code, so make sure script terminated
+ // errors are tracked.
+ UMA_HISTOGRAM_BOOLEAN("Net.ProxyService.ScriptTerminated",
+ result_code == ERR_PAC_SCRIPT_TERMINATED);
+
// Log the result of the proxy resolution.
if (result_code == OK) {
// Allow the network delegate to interpose on the resolution decision,
« no previous file with comments | « no previous file | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698