From 11a8966d38988b596522452659f3a9bbf48b75d4 Mon Sep 17 00:00:00 2001 From: "dominich@chromium.org" Date: Wed, 14 Dec 2011 00:04:23 +0000 Subject: [PATCH] Adding tracking of accuracy vs confidence. BUG=107365 Review URL: http://codereview.chromium.org/8895028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114315 0039d316-1c4b-4281-b951-d872f2087c98 --- .../autocomplete/network_action_predictor.cc | 16 ++++++++++++++++ .../autocomplete/network_action_predictor.h | 4 ++++ 2 files changed, 20 insertions(+) diff --git a/chrome/browser/autocomplete/network_action_predictor.cc b/chrome/browser/autocomplete/network_action_predictor.cc index f2f8667dc6da0d..e310d738b83760 100644 --- a/chrome/browser/autocomplete/network_action_predictor.cc +++ b/chrome/browser/autocomplete/network_action_predictor.cc @@ -140,6 +140,9 @@ NetworkActionPredictor::Action NetworkActionPredictor::RecommendAction( DCHECK(confidence >= 0.0 && confidence <= 1.0); if (is_in_db) { + // Multiple enties with the same URL are fine as the confidence may be + // different. + tracked_urls_.push_back(std::make_pair(match.destination_url, confidence)); UMA_HISTOGRAM_COUNTS_100("NetworkActionPredictor.Confidence_" + prerender::GetOmniboxHistogramSuffix(), confidence * 100); @@ -296,6 +299,19 @@ void NetworkActionPredictor::OnOmniboxOpenedUrl(const AutocompleteLog& log) { CommitTransaction(); ClearTransitionalMatches(); + + // Check against tracked urls and log accuracy for the confidence we + // predicted. + for (std::vector >::const_iterator it = + tracked_urls_.begin(); it != tracked_urls_.end(); + ++it) { + if (opened_url == it->first) { + UMA_HISTOGRAM_COUNTS_100("NetworkActionPredictor.AccurateCount_" + + prerender::GetOmniboxHistogramSuffix(), + it->second * 100); + } + } + tracked_urls_.clear(); } diff --git a/chrome/browser/autocomplete/network_action_predictor.h b/chrome/browser/autocomplete/network_action_predictor.h index f881307eac7c06..16562e174f0374 100644 --- a/chrome/browser/autocomplete/network_action_predictor.h +++ b/chrome/browser/autocomplete/network_action_predictor.h @@ -178,6 +178,10 @@ class NetworkActionPredictor // This is cleared after every Omnibox navigation. std::vector transitional_matches_; + // This allows us to predict the effect of confidence threshold changes on + // accuracy. + mutable std::vector > tracked_urls_; + DBCacheMap db_cache_; DBIdCacheMap db_id_cache_;