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

Unified Diff: net/http/http_stream_factory_impl_job_controller.cc

Issue 2359803003: Job Controller: clean up metrics logging about the job racing result (Closed)
Patch Set: Created 4 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
Index: net/http/http_stream_factory_impl_job_controller.cc
diff --git a/net/http/http_stream_factory_impl_job_controller.cc b/net/http/http_stream_factory_impl_job_controller.cc
index 4186e9698917c80820ae2ff8f04d8c67c63545a7..bd3d8256b86624c6fcb5682639a0be567c87d25e 100644
--- a/net/http/http_stream_factory_impl_job_controller.cc
+++ b/net/http/http_stream_factory_impl_job_controller.cc
@@ -741,10 +741,8 @@ void HttpStreamFactoryImpl::JobController::OnJobSucceeded(Job* job) {
ReportBrokenAlternativeService();
if (!bound_job_) {
- if (main_job_ && alternative_job_) {
- job->ReportJobSucceededForRequest();
- MaybeRecordAlternativeProxyServerUsage(job);
- }
+ if (main_job_ && alternative_job_)
+ ReportAlternateProtocolUsage(job);
BindJob(job);
return;
}
@@ -901,7 +899,7 @@ HttpStreamFactoryImpl::JobController::GetAlternativeServiceForInternal(
quic_advertised = true;
if (http_server_properties.IsAlternativeServiceBroken(
alternative_service)) {
- HistogramAlternateProtocolUsage(ALTERNATE_PROTOCOL_USAGE_BROKEN);
+ HistogramAlternateProtocolUsage(ALTERNATE_PROTOCOL_USAGE_BROKEN, false);
continue;
}
@@ -1050,37 +1048,25 @@ bool HttpStreamFactoryImpl::JobController::
return true;
}
-void HttpStreamFactoryImpl::JobController::
- MaybeRecordAlternativeProxyServerUsage(Job* job) const {
- if (is_preconnect_ ||
- !alternative_job_->alternative_proxy_server().is_quic()) {
- return;
- }
- DCHECK(main_job_.get() == job || alternative_job_.get() == job);
-
- enum AlternativeProxyUsage {
- ALTERNATIVE_PROXY_USAGE_NO_RACE = 0,
- ALTERNATIVE_PROXY_USAGE_WON_RACE,
- ALTERNATIVE_PROXY_USAGE_LOST_RACE,
- ALTERNATIVE_PROXY_USAGE_MAX,
- };
- AlternativeProxyUsage alternative_proxy_usage = ALTERNATIVE_PROXY_USAGE_MAX;
-
- if (alternative_job_->using_existing_quic_session()) {
- // If an existing session was used, then no TCP connection was
- // started.
- alternative_proxy_usage = ALTERNATIVE_PROXY_USAGE_NO_RACE;
- } else if (job->alternative_proxy_server().is_quic()) {
- // |job| was the alternative Job, and hence won the race.
- alternative_proxy_usage = ALTERNATIVE_PROXY_USAGE_WON_RACE;
+void HttpStreamFactoryImpl::JobController::ReportAlternateProtocolUsage(
+ Job* job) const {
+ DCHECK(main_job_ && alternative_job_);
tbansal1 2016/09/22 17:53:02 Curious why use a weaker DCHECK? Is it possible th
Zhongyi Shi 2016/09/22 23:56:53 The new DCHECK was to make sure both jobs are aliv
tbansal1 2016/09/23 00:02:07 Acknowledged.
+ bool proxy_server_used =
+ alternative_job_->alternative_proxy_server().is_quic();
+
+ if (job == alternative_job_.get()) {
+ if (job->using_existing_quic_session()) {
+ HistogramAlternateProtocolUsage(ALTERNATE_PROTOCOL_USAGE_NO_RACE,
+ proxy_server_used);
+ } else {
+ HistogramAlternateProtocolUsage(ALTERNATE_PROTOCOL_USAGE_WON_RACE,
+ proxy_server_used);
+ }
} else {
- // |job| was the normal Job, and hence the alternative Job lost the race.
- alternative_proxy_usage = ALTERNATIVE_PROXY_USAGE_LOST_RACE;
+ DCHECK_EQ(main_job_.get(), job);
+ HistogramAlternateProtocolUsage(ALTERNATE_PROTOCOL_USAGE_LOST_RACE,
+ proxy_server_used);
}
Ryan Hamilton 2016/09/22 21:46:33 nit: I think we can use some early returns: if (j
Zhongyi Shi 2016/09/22 23:56:53 Done.
- DCHECK_NE(ALTERNATIVE_PROXY_USAGE_MAX, alternative_proxy_usage);
- UMA_HISTOGRAM_ENUMERATION("Net.QuicAlternativeProxy.Usage",
- alternative_proxy_usage,
- ALTERNATIVE_PROXY_USAGE_MAX);
}
void HttpStreamFactoryImpl::JobController::StartAlternativeProxyServerJob() {
« net/http/http_server_properties.cc ('K') | « net/http/http_stream_factory_impl_job_controller.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698