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

Unified Diff: net/proxy/proxy_resolver_v8_tracing.cc

Issue 573893004: Remove some unused proxy-related histograms. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add back 3 deprecated histograms Created 6 years, 3 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 | « net/proxy/multi_threaded_proxy_resolver.cc ('k') | 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_resolver_v8_tracing.cc
diff --git a/net/proxy/proxy_resolver_v8_tracing.cc b/net/proxy/proxy_resolver_v8_tracing.cc
index 26c60e061e45153e30ac85814fca3af39165a009..b7cb185cd57d53785ba0d6e42408f0995fb9f64e 100644
--- a/net/proxy/proxy_resolver_v8_tracing.cc
+++ b/net/proxy/proxy_resolver_v8_tracing.cc
@@ -6,7 +6,6 @@
#include "base/bind.h"
#include "base/message_loop/message_loop_proxy.h"
-#include "base/metrics/histogram.h"
#include "base/strings/stringprintf.h"
#include "base/synchronization/cancellation_flag.h"
#include "base/synchronization/waitable_event.h"
@@ -64,11 +63,6 @@ base::Value* NetLogErrorCallback(int line_number,
return dict;
}
-void IncrementWithoutOverflow(uint8* x) {
- if (*x != 0xFF)
- *x += 1;
-}
-
} // namespace
// The Job class is responsible for executing GetProxyForURL() and
@@ -143,8 +137,6 @@ class ProxyResolverV8Tracing::Job
void NotifyCaller(int result);
void NotifyCallerOnOriginLoop(int result);
- void RecordMetrics() const;
-
void Start(Operation op, bool blocking_dns,
const CompletionCallback& callback);
@@ -298,56 +290,6 @@ class ProxyResolverV8Tracing::Job
// This contains the resolved address list that DoDnsOperation() fills in.
// Used exclusively on the origin thread.
AddressList pending_dns_addresses_;
-
- // ---------------------------------------------------------------------------
- // Metrics for histograms
- // ---------------------------------------------------------------------------
- // These values are used solely for logging histograms. They do not affect
- // the execution flow of requests.
-
- // The time when the proxy resolve request started. Used exclusively on the
- // origin thread.
- base::TimeTicks metrics_start_time_;
-
- // The time when the proxy resolve request completes on the worker thread.
- // Written on the worker thread, read on the origin thread.
- base::TimeTicks metrics_end_time_;
-
- // The time when PostDnsOperationAndWait() was called. Written on the worker
- // thread, read by the origin thread.
- base::TimeTicks metrics_pending_dns_start_;
-
- // The total amount of time that has been spent by the script waiting for
- // DNS dependencies. This includes the time spent posting the task to
- // the origin thread, up until the DNS result is found on the origin
- // thread. It does not include any time spent waiting in the message loop
- // for the worker thread, nor any time restarting or executing the
- // script. Used exclusively on the origin thread.
- base::TimeDelta metrics_dns_total_time_;
-
- // The following variables are initialized on the origin thread,
- // incremented on the worker thread, and then read upon completion on the
- // origin thread. The values are not expected to exceed the range of a uint8.
- // If they do, then they will be clamped to 0xFF.
- uint8 metrics_num_executions_;
- uint8 metrics_num_unique_dns_;
- uint8 metrics_num_alerts_;
- uint8 metrics_num_errors_;
-
- // The time that the latest execution took (time spent inside of
- // ExecuteProxyResolver(), which includes time spent in bindings too).
- // Written on the worker thread, read on the origin thread.
- base::TimeDelta metrics_execution_time_;
-
- // The cumulative time spent in ExecuteProxyResolver() that was ultimately
- // discarded work.
- // Written on the worker thread, read on the origin thread.
- base::TimeDelta metrics_abandoned_execution_total_time_;
-
- // The duration that the worker thread was blocked waiting on DNS results from
- // the origin thread, when operating in nonblocking mode.
- // Written on the worker thread, read on the origin thread.
- base::TimeDelta metrics_nonblocking_dns_wait_total_time_;
};
ProxyResolverV8Tracing::Job::Job(ProxyResolverV8Tracing* parent)
@@ -355,11 +297,7 @@ ProxyResolverV8Tracing::Job::Job(ProxyResolverV8Tracing* parent)
parent_(parent),
event_(true, false),
last_num_dns_(0),
- pending_dns_(NULL),
- metrics_num_executions_(0),
- metrics_num_unique_dns_(0),
- metrics_num_alerts_(0),
- metrics_num_errors_(0) {
+ pending_dns_(NULL) {
CheckIsOnOriginThread();
}
@@ -490,8 +428,6 @@ NetLog* ProxyResolverV8Tracing::Job::net_log() {
void ProxyResolverV8Tracing::Job::NotifyCaller(int result) {
CheckIsOnWorkerThread();
- metrics_end_time_ = base::TimeTicks::Now();
-
origin_loop_->PostTask(
FROM_HERE,
base::Bind(&Job::NotifyCallerOnOriginLoop, this, result));
@@ -507,7 +443,6 @@ void ProxyResolverV8Tracing::Job::NotifyCallerOnOriginLoop(int result) {
DCHECK(!pending_dns_);
if (operation_ == GET_PROXY_FOR_URL) {
- RecordMetrics();
*user_results_ = results_;
}
@@ -525,89 +460,10 @@ void ProxyResolverV8Tracing::Job::NotifyCallerOnOriginLoop(int result) {
owned_self_reference_ = NULL;
}
-void ProxyResolverV8Tracing::Job::RecordMetrics() const {
- CheckIsOnOriginThread();
- DCHECK_EQ(GET_PROXY_FOR_URL, operation_);
-
- base::TimeTicks now = base::TimeTicks::Now();
-
- // Metrics are output for each completed request to GetProxyForURL()).
- //
- // Note that a different set of histograms is used to record the metrics for
- // requests that completed in non-blocking mode versus blocking mode. The
- // expectation is for requests to complete in non-blocking mode each time.
- // If they don't then something strange is happening, and the purpose of the
- // seprate statistics is to better understand that trend.
-#define UPDATE_HISTOGRAMS(base_name) \
- do {\
- UMA_HISTOGRAM_MEDIUM_TIMES(base_name "TotalTime", now - metrics_start_time_);\
- UMA_HISTOGRAM_MEDIUM_TIMES(base_name "TotalTimeWorkerThread",\
- metrics_end_time_ - metrics_start_time_);\
- UMA_HISTOGRAM_TIMES(base_name "OriginThreadLatency",\
- now - metrics_end_time_);\
- UMA_HISTOGRAM_MEDIUM_TIMES(base_name "TotalTimeDNS",\
- metrics_dns_total_time_);\
- UMA_HISTOGRAM_MEDIUM_TIMES(base_name "ExecutionTime",\
- metrics_execution_time_);\
- UMA_HISTOGRAM_MEDIUM_TIMES(base_name "AbandonedExecutionTotalTime",\
- metrics_abandoned_execution_total_time_);\
- UMA_HISTOGRAM_MEDIUM_TIMES(base_name "DnsWaitTotalTime",\
- metrics_nonblocking_dns_wait_total_time_);\
- UMA_HISTOGRAM_CUSTOM_COUNTS(\
- base_name "NumRestarts", metrics_num_executions_ - 1,\
- 1, kMaxUniqueResolveDnsPerExec, kMaxUniqueResolveDnsPerExec);\
- UMA_HISTOGRAM_CUSTOM_COUNTS(\
- base_name "UniqueDNS", metrics_num_unique_dns_,\
- 1, kMaxUniqueResolveDnsPerExec, kMaxUniqueResolveDnsPerExec);\
- UMA_HISTOGRAM_COUNTS_100(base_name "NumAlerts", metrics_num_alerts_);\
- UMA_HISTOGRAM_CUSTOM_COUNTS(\
- base_name "NumErrors", metrics_num_errors_, 1, 10, 10);\
- } while (false)
-
- if (!blocking_dns_)
- UPDATE_HISTOGRAMS("Net.ProxyResolver.");
- else
- UPDATE_HISTOGRAMS("Net.ProxyResolver.BlockingDNSMode.");
-
-#undef UPDATE_HISTOGRAMS
-
- // Histograms to better understand http://crbug.com/240536 -- long
- // URLs can cause a significant slowdown in PAC execution. Figure out how
- // severe this is in the wild.
- if (!blocking_dns_) {
- size_t url_size = url_.spec().size();
-
- UMA_HISTOGRAM_CUSTOM_COUNTS(
- "Net.ProxyResolver.URLSize", url_size, 1, 200000, 50);
-
- if (url_size > 2048) {
- UMA_HISTOGRAM_MEDIUM_TIMES("Net.ProxyResolver.ExecutionTime_UrlOver2K",
- metrics_execution_time_);
- }
-
- if (url_size > 4096) {
- UMA_HISTOGRAM_MEDIUM_TIMES("Net.ProxyResolver.ExecutionTime_UrlOver4K",
- metrics_execution_time_);
- }
-
- if (url_size > 8192) {
- UMA_HISTOGRAM_MEDIUM_TIMES("Net.ProxyResolver.ExecutionTime_UrlOver8K",
- metrics_execution_time_);
- }
-
- if (url_size > 131072) {
- UMA_HISTOGRAM_MEDIUM_TIMES("Net.ProxyResolver.ExecutionTime_UrlOver128K",
- metrics_execution_time_);
- }
- }
-}
-
-
void ProxyResolverV8Tracing::Job::Start(Operation op, bool blocking_dns,
const CompletionCallback& callback) {
CheckIsOnOriginThread();
- metrics_start_time_ = base::TimeTicks::Now();
operation_ = op;
blocking_dns_ = blocking_dns;
SetCallback(callback);
@@ -645,9 +501,6 @@ void ProxyResolverV8Tracing::Job::ExecuteNonBlocking() {
int result = ExecuteProxyResolver();
- if (abandoned_)
- metrics_abandoned_execution_total_time_ += metrics_execution_time_;
-
if (should_restart_with_blocking_dns_) {
DCHECK(!blocking_dns_);
DCHECK(abandoned_);
@@ -664,10 +517,6 @@ void ProxyResolverV8Tracing::Job::ExecuteNonBlocking() {
}
int ProxyResolverV8Tracing::Job::ExecuteProxyResolver() {
- IncrementWithoutOverflow(&metrics_num_executions_);
-
- base::TimeTicks start = base::TimeTicks::Now();
-
JSBindings* prev_bindings = v8_resolver()->js_bindings();
v8_resolver()->set_js_bindings(this);
@@ -693,8 +542,6 @@ int ProxyResolverV8Tracing::Job::ExecuteProxyResolver() {
v8_resolver()->set_js_bindings(prev_bindings);
- metrics_execution_time_ = base::TimeTicks::Now() - start;
-
return result;
}
@@ -738,9 +585,6 @@ bool ProxyResolverV8Tracing::Job::ResolveDnsBlocking(const std::string& host,
return rv;
}
- // If the host was not in the local cache, this is a new hostname.
- IncrementWithoutOverflow(&metrics_num_unique_dns_);
-
if (dns_cache_.size() >= kMaxUniqueResolveDnsPerExec) {
// Safety net for scripts with unexpectedly many DNS calls.
// We will continue running to completion, but will fail every
@@ -776,9 +620,6 @@ bool ProxyResolverV8Tracing::Job::ResolveDnsNonBlocking(const std::string& host,
return rv;
}
- // If the host was not in the local cache, then this is a new hostname.
- IncrementWithoutOverflow(&metrics_num_unique_dns_);
-
if (num_dns_ <= last_num_dns_) {
// The sequence of DNS operations is different from last time!
ScheduleRestartWithBlockingDns();
@@ -815,11 +656,8 @@ bool ProxyResolverV8Tracing::Job::PostDnsOperationAndWait(
const std::string& host, ResolveDnsOperation op,
bool* completed_synchronously) {
- base::TimeTicks start = base::TimeTicks::Now();
-
// Post the DNS request to the origin thread.
DCHECK(!pending_dns_);
- metrics_pending_dns_start_ = base::TimeTicks::Now();
pending_dns_host_ = host;
pending_dns_op_ = op;
origin_loop_->PostTask(FROM_HERE, base::Bind(&Job::DoDnsOperation, this));
@@ -833,9 +671,6 @@ bool ProxyResolverV8Tracing::Job::PostDnsOperationAndWait(
if (completed_synchronously)
*completed_synchronously = pending_dns_completed_synchronously_;
- if (!blocking_dns_)
- metrics_nonblocking_dns_wait_total_time_ += base::TimeTicks::Now() - start;
-
return true;
}
@@ -891,9 +726,6 @@ void ProxyResolverV8Tracing::Job::OnDnsOperationComplete(int result) {
pending_dns_addresses_);
pending_dns_ = NULL;
- metrics_dns_total_time_ +=
- base::TimeTicks::Now() - metrics_pending_dns_start_;
-
if (blocking_dns_) {
event_.Signal();
return;
@@ -1056,7 +888,6 @@ void ProxyResolverV8Tracing::Job::DispatchAlertOrError(
// -------------------
// alert
// -------------------
- IncrementWithoutOverflow(&metrics_num_alerts_);
VLOG(1) << "PAC-alert: " << message;
// Send to the NetLog.
@@ -1067,7 +898,6 @@ void ProxyResolverV8Tracing::Job::DispatchAlertOrError(
// -------------------
// error
// -------------------
- IncrementWithoutOverflow(&metrics_num_errors_);
if (line_number == -1)
VLOG(1) << "PAC-error: " << message;
else
« no previous file with comments | « net/proxy/multi_threaded_proxy_resolver.cc ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698