Chromium Code Reviews| 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..f2e48daeb95018629147d74218b32b25c08e751a 100644 |
| --- a/net/http/http_server_properties_manager.cc |
| +++ b/net/http/http_server_properties_manager.cc |
| @@ -66,6 +66,12 @@ const char kProbabilityKey[] = "probability"; |
| const char kNetworkStatsKey[] = "network_stats"; |
| const char kSrttKey[] = "srtt"; |
| +// TODO(rtenneti): Delete the following histogram after collecting some data. |
| +void RecordUpdatePrefs(HttpServerPropertiesManager::Location location) { |
|
mmenke
2015/05/12 17:38:52
optional: Could inline this now, with the comment
ramant (doing other things)
2015/05/12 17:57:17
Done.
|
| + UMA_HISTOGRAM_ENUMERATION("Net.HttpServerProperties.UpdatePrefs", location, |
| + HttpServerPropertiesManager::NUM_LOCATIONS); |
| +} |
| + |
| } // namespace |
| //////////////////////////////////////////////////////////////////////////////// |
| @@ -160,7 +166,7 @@ void HttpServerPropertiesManager::SetSupportsSpdy(const HostPortPair& server, |
| DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
| http_server_properties_impl_->SetSupportsSpdy(server, support_spdy); |
| - ScheduleUpdatePrefsOnNetworkThread(); |
| + ScheduleUpdatePrefsOnNetworkThread(SUPPORTS_SPDY); |
| } |
| bool HttpServerPropertiesManager::RequiresHTTP11(const HostPortPair& server) { |
| @@ -173,7 +179,7 @@ void HttpServerPropertiesManager::SetHTTP11Required( |
| DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
| http_server_properties_impl_->SetHTTP11Required(server); |
| - ScheduleUpdatePrefsOnNetworkThread(); |
| + ScheduleUpdatePrefsOnNetworkThread(HTTP_11_REQUIRED); |
| } |
| void HttpServerPropertiesManager::MaybeForceHTTP11(const HostPortPair& server, |
| @@ -195,7 +201,7 @@ void HttpServerPropertiesManager::SetAlternativeService( |
| DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
| http_server_properties_impl_->SetAlternativeService( |
| origin, alternative_service, alternative_probability); |
| - ScheduleUpdatePrefsOnNetworkThread(); |
| + ScheduleUpdatePrefsOnNetworkThread(SET_ALTERNATIVE_SERVICE); |
| } |
| void HttpServerPropertiesManager::MarkAlternativeServiceBroken( |
| @@ -203,7 +209,7 @@ void HttpServerPropertiesManager::MarkAlternativeServiceBroken( |
| DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
| http_server_properties_impl_->MarkAlternativeServiceBroken( |
| alternative_service); |
| - ScheduleUpdatePrefsOnNetworkThread(); |
| + ScheduleUpdatePrefsOnNetworkThread(MARK_ALTERNATIVE_SERVICE_BROKEN); |
| } |
| void HttpServerPropertiesManager::MarkAlternativeServiceRecentlyBroken( |
| @@ -211,7 +217,7 @@ void HttpServerPropertiesManager::MarkAlternativeServiceRecentlyBroken( |
| DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
| http_server_properties_impl_->MarkAlternativeServiceRecentlyBroken( |
| alternative_service); |
| - ScheduleUpdatePrefsOnNetworkThread(); |
| + ScheduleUpdatePrefsOnNetworkThread(MARK_ALTERNATIVE_SERVICE_RECENTLY_BROKEN); |
| } |
| bool HttpServerPropertiesManager::IsAlternativeServiceBroken( |
| @@ -232,14 +238,14 @@ void HttpServerPropertiesManager::ConfirmAlternativeService( |
| const AlternativeService& alternative_service) { |
| DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
| http_server_properties_impl_->ConfirmAlternativeService(alternative_service); |
| - ScheduleUpdatePrefsOnNetworkThread(); |
| + ScheduleUpdatePrefsOnNetworkThread(CONFIRM_ALTERNATIVE_SERVICE); |
| } |
| void HttpServerPropertiesManager::ClearAlternativeService( |
| const HostPortPair& origin) { |
| DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
| http_server_properties_impl_->ClearAlternativeService(origin); |
| - ScheduleUpdatePrefsOnNetworkThread(); |
| + ScheduleUpdatePrefsOnNetworkThread(CLEAR_ALTERNATIVE_SERVICE); |
| } |
| const AlternativeServiceMap& |
| @@ -276,7 +282,7 @@ bool HttpServerPropertiesManager::SetSpdySetting( |
| bool persist = http_server_properties_impl_->SetSpdySetting( |
| host_port_pair, id, flags, value); |
| if (persist) |
| - ScheduleUpdatePrefsOnNetworkThread(); |
| + ScheduleUpdatePrefsOnNetworkThread(SET_SPDY_SETTING); |
| return persist; |
| } |
| @@ -284,13 +290,13 @@ void HttpServerPropertiesManager::ClearSpdySettings( |
| const HostPortPair& host_port_pair) { |
| DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
| http_server_properties_impl_->ClearSpdySettings(host_port_pair); |
| - ScheduleUpdatePrefsOnNetworkThread(); |
| + ScheduleUpdatePrefsOnNetworkThread(CLEAR_SPDY_SETTINGS); |
| } |
| void HttpServerPropertiesManager::ClearAllSpdySettings() { |
| DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
| http_server_properties_impl_->ClearAllSpdySettings(); |
| - ScheduleUpdatePrefsOnNetworkThread(); |
| + ScheduleUpdatePrefsOnNetworkThread(CLEAR_ALL_SPDY_SETTINGS); |
| } |
| const SpdySettingsMap& HttpServerPropertiesManager::spdy_settings_map() |
| @@ -310,7 +316,7 @@ void HttpServerPropertiesManager::SetSupportsQuic( |
| const IPAddressNumber& address) { |
| DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
| http_server_properties_impl_->SetSupportsQuic(used_quic, address); |
| - ScheduleUpdatePrefsOnNetworkThread(); |
| + ScheduleUpdatePrefsOnNetworkThread(SET_SUPPORTS_QUIC); |
| } |
| void HttpServerPropertiesManager::SetServerNetworkStats( |
| @@ -318,7 +324,7 @@ void HttpServerPropertiesManager::SetServerNetworkStats( |
| ServerNetworkStats stats) { |
| DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
| http_server_properties_impl_->SetServerNetworkStats(host_port_pair, stats); |
| - ScheduleUpdatePrefsOnNetworkThread(); |
| + ScheduleUpdatePrefsOnNetworkThread(SET_SERVER_NETWORK_STATS); |
| } |
| const ServerNetworkStats* HttpServerPropertiesManager::GetServerNetworkStats( |
| @@ -652,18 +658,20 @@ void HttpServerPropertiesManager::UpdateCacheFromPrefsOnNetworkThread( |
| // Update the prefs with what we have read (delete all corrupted prefs). |
| if (detected_corrupted_prefs) |
| - ScheduleUpdatePrefsOnNetworkThread(); |
| + ScheduleUpdatePrefsOnNetworkThread(DETECTED_CORRUPTED_PREFS); |
| } |
| // |
| // Update Preferences with data from the cached data. |
| // |
| -void HttpServerPropertiesManager::ScheduleUpdatePrefsOnNetworkThread() { |
| +void HttpServerPropertiesManager::ScheduleUpdatePrefsOnNetworkThread( |
| + Location location) { |
| DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
| // Cancel pending updates, if any. |
| network_prefs_update_timer_->Stop(); |
| StartPrefsUpdateTimerOnNetworkThread( |
| base::TimeDelta::FromMilliseconds(kUpdatePrefsDelayMs)); |
| + RecordUpdatePrefs(location); |
| } |
| void HttpServerPropertiesManager::StartPrefsUpdateTimerOnNetworkThread( |