Chromium Code Reviews| Index: chrome/browser/autocomplete/search_provider.cc |
| diff --git a/chrome/browser/autocomplete/search_provider.cc b/chrome/browser/autocomplete/search_provider.cc |
| index 38f0b9e04c79359b98e6ef2a5f89c681b74c8eee..3871d8d12fdd9da38d2f3b07bdb36198ad5ca0fa 100644 |
| --- a/chrome/browser/autocomplete/search_provider.cc |
| +++ b/chrome/browser/autocomplete/search_provider.cc |
| @@ -624,6 +624,8 @@ void SearchProvider::DoHistoryQuery(bool minimal_changes) { |
| if (minimal_changes) |
| return; |
| + base::TimeTicks do_history_query_start_time(base::TimeTicks::Now()); |
| + |
| keyword_history_results_.clear(); |
| default_history_results_.clear(); |
| @@ -631,10 +633,17 @@ void SearchProvider::DoHistoryQuery(bool minimal_changes) { |
| input_.current_page_classification())) |
| return; |
| + base::TimeTicks start_time(base::TimeTicks::Now()); |
| HistoryService* const history_service = |
| HistoryServiceFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS); |
| + base::TimeTicks now(base::TimeTicks::Now()); |
|
msw
2013/08/29 17:32:24
eliminate |now|
|
| + UMA_HISTOGRAM_TIMES("Omnibox.SearchProvider.GetHistoryServiceTime", |
| + now - start_time); |
| + start_time = now; |
| history::URLDatabase* url_db = history_service ? |
| history_service->InMemoryDatabase() : NULL; |
| + UMA_HISTOGRAM_TIMES("Omnibox.SearchProvider.InMemoryDatabaseTime", |
|
msw
2013/08/29 17:32:24
Is it worthwhlie to dig in beyond the overall DoHi
|
| + base::TimeTicks::Now() - start_time); |
| if (!url_db) |
| return; |
| @@ -650,14 +659,20 @@ void SearchProvider::DoHistoryQuery(bool minimal_changes) { |
| int num_matches = kMaxMatches * 5; |
| const TemplateURL* default_url = providers_.GetDefaultProviderURL(); |
| if (default_url) { |
| + start_time = base::TimeTicks::Now(); |
| url_db->GetMostRecentKeywordSearchTerms(default_url->id(), input_.text(), |
| num_matches, &default_history_results_); |
| + UMA_HISTOGRAM_TIMES( |
| + "Omnibox.SearchProvider.GetMostRecentKeywordTermsDefaultProviderTime", |
|
msw
2013/08/29 17:32:24
nit: RecentKeywordTermsTime? I guess names don't m
|
| + base::TimeTicks::Now() - start_time); |
| } |
| const TemplateURL* keyword_url = providers_.GetKeywordProviderURL(); |
| if (keyword_url) { |
| url_db->GetMostRecentKeywordSearchTerms(keyword_url->id(), |
| keyword_input_.text(), num_matches, &keyword_history_results_); |
| } |
| + UMA_HISTOGRAM_TIMES("Omnibox.SearchProvider.DoHistoryQueryTime", |
| + base::TimeTicks::Now() - do_history_query_start_time); |
| } |
| void SearchProvider::StartOrStopSuggestQuery(bool minimal_changes) { |
| @@ -950,6 +965,7 @@ bool SearchProvider::ParseSuggestResults(Value* root_val, bool is_keyword) { |
| void SearchProvider::ConvertResultsToAutocompleteMatches() { |
| // Convert all the results to matches and add them to a map, so we can keep |
| // the most relevant match for each result. |
| + base::TimeTicks start_time(base::TimeTicks::Now()); |
| MatchMap map; |
| const base::Time no_time; |
| int did_not_accept_keyword_suggestion = |
| @@ -1014,6 +1030,8 @@ void SearchProvider::ConvertResultsToAutocompleteMatches() { |
| // We will always return any verbatim matches, no matter how we obtained their |
| // scores, unless we have already accepted AutocompleteResult::kMaxMatches |
| // higher-scoring matches under the conditions above. |
| + UMA_HISTOGRAM_CUSTOM_COUNTS( |
|
msw
2013/08/29 17:32:24
Ditto on the questionable necessity of this given
|
| + "Omnibox.SearchProvider.NumMatchesToSort", matches.size(), 1, 50, 20); |
| std::sort(matches.begin(), matches.end(), &AutocompleteMatch::MoreRelevant); |
| matches_.clear(); |
| @@ -1040,6 +1058,8 @@ void SearchProvider::ConvertResultsToAutocompleteMatches() { |
| matches_.push_back(*i); |
| } |
| + UMA_HISTOGRAM_TIMES("Omnibox.SearchProvider.ConvertResultsTime", |
| + base::TimeTicks::Now() - start_time); |
| } |
| bool SearchProvider::IsTopMatchNavigationInKeywordMode() const { |
| @@ -1085,6 +1105,7 @@ bool SearchProvider::HasValidDefaultMatch( |
| } |
| void SearchProvider::UpdateMatches() { |
| + base::TimeTicks update_matches_start_time(base::TimeTicks::Now()); |
| ConvertResultsToAutocompleteMatches(); |
| // Check constraints that may be violated by suggested relevances. |
| @@ -1156,8 +1177,13 @@ void SearchProvider::UpdateMatches() { |
| DCHECK(HasValidDefaultMatch(omnibox_will_reorder_for_legal_default_match)); |
| } |
| + base::TimeTicks update_starred_start_time(base::TimeTicks::Now()); |
| UpdateStarredStateOfMatches(); |
| + UMA_HISTOGRAM_TIMES("Omnibox.SearchProvider.UpdateStarredTime", |
|
msw
2013/08/29 17:32:24
ditto
|
| + base::TimeTicks::Now() - update_starred_start_time); |
| UpdateDone(); |
| + UMA_HISTOGRAM_TIMES("Omnibox.SearchProvider.UpdateMatchesTime", |
| + base::TimeTicks::Now() - update_matches_start_time); |
| } |
| void SearchProvider::AddNavigationResultsToMatches( |
| @@ -1180,6 +1206,7 @@ void SearchProvider::AddHistoryResultsToMap(const HistoryResults& results, |
| if (results.empty()) |
| return; |
| + base::TimeTicks start_time(base::TimeTicks::Now()); |
| bool prevent_inline_autocomplete = input_.prevent_inline_autocomplete() || |
| (input_.type() == AutocompleteInput::URL); |
| const string16& input_text = |
| @@ -1213,6 +1240,8 @@ void SearchProvider::AddHistoryResultsToMap(const HistoryResults& results, |
| did_not_accept_suggestion, |
| is_keyword, map); |
| } |
| + UMA_HISTOGRAM_TIMES("Omnibox.SearchProvider.AddHistoryResultsTime", |
| + base::TimeTicks::Now() - start_time); |
| } |
| SearchProvider::SuggestResults SearchProvider::ScoreHistoryResults( |