Index: net/http/http_server_properties_manager.cc |
diff --git a/net/http/http_server_properties_manager.cc b/net/http/http_server_properties_manager.cc |
index 88a8466bedda45fbe54625d2c3655796f5e39de2..0307b78099e9dbd33c6db3d3776d1cb83cffa04d 100644 |
--- a/net/http/http_server_properties_manager.cc |
+++ b/net/http/http_server_properties_manager.cc |
@@ -66,6 +66,29 @@ const char kProbabilityKey[] = "probability"; |
const char kNetworkStatsKey[] = "network_stats"; |
const char kSrttKey[] = "srtt"; |
+enum Location { |
+ SUPPORTS_SPDY = 0, |
+ HTTP_11_REQUIRED = 1, |
+ SET_ALTERNATIVE_SERVICE = 2, |
+ MARK_ALTERNATIVE_SERVICE_BROKEN = 3, |
+ MARK_ALTERNATIVE_SERVICE_RECENTLY_BROKEN = 4, |
+ CONFIRM_ALTERNATIVE_SERVICE = 5, |
+ CLEAR_ALTERNATIVE_SERVICE = 6, |
+ SET_SPDY_SETTING = 7, |
+ CLEAR_SPDY_SETTINGS = 8, |
+ CLEAR_ALL_SPDY_SETTINGS = 9, |
+ SET_SUPPORTS_QUIC = 10, |
+ SET_SERVER_NETWORK_STATS = 11, |
+ DETECTED_CORRUPTED_PREFS = 12, |
+ NUM_LOCATIONS = 13, |
+}; |
+ |
+// TODO(rtenneti): Delete the following histogram after collecting some data. |
+void RecordUpdatePrefs(Location location) { |
+ UMA_HISTOGRAM_ENUMERATION("Net.HttpServerProperties.UpdatePrefs", location, |
+ NUM_LOCATIONS); |
+} |
+ |
} // namespace |
//////////////////////////////////////////////////////////////////////////////// |
@@ -161,6 +184,7 @@ void HttpServerPropertiesManager::SetSupportsSpdy(const HostPortPair& server, |
http_server_properties_impl_->SetSupportsSpdy(server, support_spdy); |
ScheduleUpdatePrefsOnNetworkThread(); |
+ RecordUpdatePrefs(SUPPORTS_SPDY); |
} |
bool HttpServerPropertiesManager::RequiresHTTP11(const HostPortPair& server) { |
@@ -174,6 +198,7 @@ void HttpServerPropertiesManager::SetHTTP11Required( |
http_server_properties_impl_->SetHTTP11Required(server); |
ScheduleUpdatePrefsOnNetworkThread(); |
+ RecordUpdatePrefs(HTTP_11_REQUIRED); |
} |
void HttpServerPropertiesManager::MaybeForceHTTP11(const HostPortPair& server, |
@@ -196,6 +221,7 @@ void HttpServerPropertiesManager::SetAlternativeService( |
http_server_properties_impl_->SetAlternativeService( |
origin, alternative_service, alternative_probability); |
ScheduleUpdatePrefsOnNetworkThread(); |
+ RecordUpdatePrefs(SET_ALTERNATIVE_SERVICE); |
} |
void HttpServerPropertiesManager::MarkAlternativeServiceBroken( |
@@ -204,6 +230,7 @@ void HttpServerPropertiesManager::MarkAlternativeServiceBroken( |
http_server_properties_impl_->MarkAlternativeServiceBroken( |
alternative_service); |
ScheduleUpdatePrefsOnNetworkThread(); |
+ RecordUpdatePrefs(MARK_ALTERNATIVE_SERVICE_BROKEN); |
} |
void HttpServerPropertiesManager::MarkAlternativeServiceRecentlyBroken( |
@@ -212,6 +239,7 @@ void HttpServerPropertiesManager::MarkAlternativeServiceRecentlyBroken( |
http_server_properties_impl_->MarkAlternativeServiceRecentlyBroken( |
alternative_service); |
ScheduleUpdatePrefsOnNetworkThread(); |
+ RecordUpdatePrefs(MARK_ALTERNATIVE_SERVICE_RECENTLY_BROKEN); |
} |
bool HttpServerPropertiesManager::IsAlternativeServiceBroken( |
@@ -233,6 +261,7 @@ void HttpServerPropertiesManager::ConfirmAlternativeService( |
DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
http_server_properties_impl_->ConfirmAlternativeService(alternative_service); |
ScheduleUpdatePrefsOnNetworkThread(); |
+ RecordUpdatePrefs(CONFIRM_ALTERNATIVE_SERVICE); |
} |
void HttpServerPropertiesManager::ClearAlternativeService( |
@@ -240,6 +269,7 @@ void HttpServerPropertiesManager::ClearAlternativeService( |
DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
http_server_properties_impl_->ClearAlternativeService(origin); |
ScheduleUpdatePrefsOnNetworkThread(); |
+ RecordUpdatePrefs(CLEAR_ALTERNATIVE_SERVICE); |
} |
const AlternativeServiceMap& |
@@ -275,8 +305,10 @@ bool HttpServerPropertiesManager::SetSpdySetting( |
DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
bool persist = http_server_properties_impl_->SetSpdySetting( |
host_port_pair, id, flags, value); |
- if (persist) |
+ if (persist) { |
ScheduleUpdatePrefsOnNetworkThread(); |
+ RecordUpdatePrefs(SET_SPDY_SETTING); |
+ } |
return persist; |
} |
@@ -285,12 +317,14 @@ void HttpServerPropertiesManager::ClearSpdySettings( |
DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
http_server_properties_impl_->ClearSpdySettings(host_port_pair); |
ScheduleUpdatePrefsOnNetworkThread(); |
+ RecordUpdatePrefs(CLEAR_SPDY_SETTINGS); |
} |
void HttpServerPropertiesManager::ClearAllSpdySettings() { |
DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
http_server_properties_impl_->ClearAllSpdySettings(); |
ScheduleUpdatePrefsOnNetworkThread(); |
+ RecordUpdatePrefs(CLEAR_ALL_SPDY_SETTINGS); |
} |
const SpdySettingsMap& HttpServerPropertiesManager::spdy_settings_map() |
@@ -311,6 +345,7 @@ void HttpServerPropertiesManager::SetSupportsQuic( |
DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
http_server_properties_impl_->SetSupportsQuic(used_quic, address); |
ScheduleUpdatePrefsOnNetworkThread(); |
+ RecordUpdatePrefs(SET_SUPPORTS_QUIC); |
} |
void HttpServerPropertiesManager::SetServerNetworkStats( |
@@ -319,6 +354,7 @@ void HttpServerPropertiesManager::SetServerNetworkStats( |
DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
http_server_properties_impl_->SetServerNetworkStats(host_port_pair, stats); |
ScheduleUpdatePrefsOnNetworkThread(); |
+ RecordUpdatePrefs(SET_SERVER_NETWORK_STATS); |
mmenke
2015/05/12 14:35:03
Suggest making this an argument to ScheduleUpdateP
ramant (doing other things)
2015/05/12 17:32:22
Doh!.
Thanks and Done.
|
} |
const ServerNetworkStats* HttpServerPropertiesManager::GetServerNetworkStats( |
@@ -651,8 +687,10 @@ void HttpServerPropertiesManager::UpdateCacheFromPrefsOnNetworkThread( |
server_network_stats_map); |
// Update the prefs with what we have read (delete all corrupted prefs). |
- if (detected_corrupted_prefs) |
+ if (detected_corrupted_prefs) { |
ScheduleUpdatePrefsOnNetworkThread(); |
+ RecordUpdatePrefs(DETECTED_CORRUPTED_PREFS); |
+ } |
} |
// |