[omnibox] Adds a histogram to record different types of remote requests
Also cleans up enum names for provider-specific histograms around remote requests. OBSOLETE_HISTOGRAMS=Replaces Omnibox.SuggestRequests with Omnibox.SearchSuggest.Requests Bug: 1516795 Change-Id: I560ac5de3dd608067a8af78dde712648a11c50c7 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5254505 Commit-Queue: Moe Ahmadi <mahmadi@chromium.org> Reviewed-by: Sophie Chang <sophiechang@chromium.org> Reviewed-by: Tomasz Wiszkowski <ender@google.com> Cr-Commit-Position: refs/heads/main@{#1255844}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
54d9d79f0b
commit
6417198592
components
omnibox
browser
page_image_service
tools/metrics/histograms/metadata/omnibox
@@ -43,7 +43,7 @@
|
|||||||
#include "components/omnibox/browser/omnibox_field_trial.h"
|
#include "components/omnibox/browser/omnibox_field_trial.h"
|
||||||
#include "components/omnibox/browser/omnibox_prefs.h"
|
#include "components/omnibox/browser/omnibox_prefs.h"
|
||||||
#include "components/omnibox/browser/remote_suggestions_service.h"
|
#include "components/omnibox/browser/remote_suggestions_service.h"
|
||||||
#include "components/omnibox/browser/search_provider.h"
|
#include "components/omnibox/browser/search_suggestion_parser.h"
|
||||||
#include "components/omnibox/common/omnibox_features.h"
|
#include "components/omnibox/common/omnibox_features.h"
|
||||||
#include "components/pref_registry/pref_registry_syncable.h"
|
#include "components/pref_registry/pref_registry_syncable.h"
|
||||||
#include "components/prefs/pref_service.h"
|
#include "components/prefs/pref_service.h"
|
||||||
@@ -87,10 +87,9 @@ enum class DocumentProviderAllowedReason : int {
|
|||||||
kMaxValue = kInputLooksLikeUrl
|
kMaxValue = kInputLooksLikeUrl
|
||||||
};
|
};
|
||||||
|
|
||||||
void LogOmniboxDocumentRequest(RemoteRequestHistogramValue request_value) {
|
void LogOmniboxDocumentRequest(RemoteRequestEvent request_event) {
|
||||||
base::UmaHistogramEnumeration("Omnibox.DocumentSuggest.Requests",
|
base::UmaHistogramEnumeration("Omnibox.DocumentSuggest.Requests",
|
||||||
request_value,
|
request_event);
|
||||||
RemoteRequestHistogramValue::kMaxValue);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void LogTotalTime(base::TimeTicks start_time, bool interrupted) {
|
void LogTotalTime(base::TimeTicks start_time, bool interrupted) {
|
||||||
@@ -514,7 +513,7 @@ void DocumentProvider::Stop(bool clear_cached_results,
|
|||||||
loader_.reset();
|
loader_.reset();
|
||||||
LogRequestTime(time_request_sent_, true);
|
LogRequestTime(time_request_sent_, true);
|
||||||
time_request_sent_ = base::TimeTicks();
|
time_request_sent_ = base::TimeTicks();
|
||||||
LogOmniboxDocumentRequest(RemoteRequestHistogramValue::kRequestInvalidated);
|
LogOmniboxDocumentRequest(RemoteRequestEvent::kRequestInvalidated);
|
||||||
}
|
}
|
||||||
|
|
||||||
// If `Run()` has been invoked, log its duration. It's possible `Stop()` is
|
// If `Run()` has been invoked, log its duration. It's possible `Stop()` is
|
||||||
@@ -565,8 +564,7 @@ void DocumentProvider::OnURLLoadComplete(
|
|||||||
DCHECK_EQ(loader_.get(), source);
|
DCHECK_EQ(loader_.get(), source);
|
||||||
|
|
||||||
LogRequestTime(time_request_sent_, false);
|
LogRequestTime(time_request_sent_, false);
|
||||||
LogOmniboxDocumentRequest(
|
LogOmniboxDocumentRequest(RemoteRequestEvent::kResponseReceived);
|
||||||
RemoteRequestHistogramValue::kRemoteResponseReceived);
|
|
||||||
base::UmaHistogramSparse("Omnibox.DocumentSuggest.HttpResponseCode",
|
base::UmaHistogramSparse("Omnibox.DocumentSuggest.HttpResponseCode",
|
||||||
response_code);
|
response_code);
|
||||||
|
|
||||||
@@ -621,7 +619,7 @@ void DocumentProvider::OnDocumentSuggestionsLoaderAvailable(
|
|||||||
std::unique_ptr<network::SimpleURLLoader> loader) {
|
std::unique_ptr<network::SimpleURLLoader> loader) {
|
||||||
time_request_sent_ = base::TimeTicks::Now();
|
time_request_sent_ = base::TimeTicks::Now();
|
||||||
loader_ = std::move(loader);
|
loader_ = std::move(loader);
|
||||||
LogOmniboxDocumentRequest(RemoteRequestHistogramValue::kRequestSent);
|
LogOmniboxDocumentRequest(RemoteRequestEvent::kRequestSent);
|
||||||
}
|
}
|
||||||
|
|
||||||
// static
|
// static
|
||||||
|
@@ -21,7 +21,6 @@
|
|||||||
#include "components/history/core/browser/history_types.h"
|
#include "components/history/core/browser/history_types.h"
|
||||||
#include "components/omnibox/browser/autocomplete_provider.h"
|
#include "components/omnibox/browser/autocomplete_provider.h"
|
||||||
#include "components/omnibox/browser/autocomplete_provider_debouncer.h"
|
#include "components/omnibox/browser/autocomplete_provider_debouncer.h"
|
||||||
#include "components/omnibox/browser/search_provider.h"
|
|
||||||
#include "third_party/metrics_proto/omnibox_event.pb.h"
|
#include "third_party/metrics_proto/omnibox_event.pb.h"
|
||||||
|
|
||||||
class AutocompleteProviderListener;
|
class AutocompleteProviderListener;
|
||||||
|
@@ -8,6 +8,7 @@
|
|||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
#include "base/functional/bind.h"
|
#include "base/functional/bind.h"
|
||||||
|
#include "base/metrics/histogram_functions.h"
|
||||||
#include "components/omnibox/browser/base_search_provider.h"
|
#include "components/omnibox/browser/base_search_provider.h"
|
||||||
#include "components/omnibox/browser/document_suggestions_service.h"
|
#include "components/omnibox/browser/document_suggestions_service.h"
|
||||||
#include "components/search_engines/template_url_service.h"
|
#include "components/search_engines/template_url_service.h"
|
||||||
@@ -21,6 +22,10 @@
|
|||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
|
void LogSuggestRequestSent(RemoteRequestType request_type) {
|
||||||
|
base::UmaHistogramEnumeration("Omnibox.SuggestRequestsSent", request_type);
|
||||||
|
}
|
||||||
|
|
||||||
void AddVariationHeaders(network::ResourceRequest* request) {
|
void AddVariationHeaders(network::ResourceRequest* request) {
|
||||||
// Note: It's OK to pass InIncognito::kNo since we are expected to be in
|
// Note: It's OK to pass InIncognito::kNo since we are expected to be in
|
||||||
// non-incognito state here (i.e. remote suggestions are not served in
|
// non-incognito state here (i.e. remote suggestions are not served in
|
||||||
@@ -59,6 +64,7 @@ GURL RemoteSuggestionsService::EndpointUrl(
|
|||||||
|
|
||||||
std::unique_ptr<network::SimpleURLLoader>
|
std::unique_ptr<network::SimpleURLLoader>
|
||||||
RemoteSuggestionsService::StartSuggestionsRequest(
|
RemoteSuggestionsService::StartSuggestionsRequest(
|
||||||
|
RemoteRequestType request_type,
|
||||||
const TemplateURL* template_url,
|
const TemplateURL* template_url,
|
||||||
TemplateURLRef::SearchTermsArgs search_terms_args,
|
TemplateURLRef::SearchTermsArgs search_terms_args,
|
||||||
const SearchTermsData& search_terms_data,
|
const SearchTermsData& search_terms_data,
|
||||||
@@ -129,12 +135,13 @@ RemoteSuggestionsService::StartSuggestionsRequest(
|
|||||||
observer.OnSuggestRequestStarted(request_id, loader.get(),
|
observer.OnSuggestRequestStarted(request_id, loader.get(),
|
||||||
/*request_body*/ "");
|
/*request_body*/ "");
|
||||||
}
|
}
|
||||||
|
LogSuggestRequestSent(request_type);
|
||||||
return loader;
|
return loader;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<network::SimpleURLLoader>
|
std::unique_ptr<network::SimpleURLLoader>
|
||||||
RemoteSuggestionsService::StartZeroPrefixSuggestionsRequest(
|
RemoteSuggestionsService::StartZeroPrefixSuggestionsRequest(
|
||||||
|
RemoteRequestType request_type,
|
||||||
const TemplateURL* template_url,
|
const TemplateURL* template_url,
|
||||||
TemplateURLRef::SearchTermsArgs search_terms_args,
|
TemplateURLRef::SearchTermsArgs search_terms_args,
|
||||||
const SearchTermsData& search_terms_data,
|
const SearchTermsData& search_terms_data,
|
||||||
@@ -210,7 +217,7 @@ RemoteSuggestionsService::StartZeroPrefixSuggestionsRequest(
|
|||||||
observer.OnSuggestRequestStarted(request_id, loader.get(),
|
observer.OnSuggestRequestStarted(request_id, loader.get(),
|
||||||
/*request_body*/ "");
|
/*request_body*/ "");
|
||||||
}
|
}
|
||||||
|
LogSuggestRequestSent(request_type);
|
||||||
return loader;
|
return loader;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -311,7 +318,7 @@ RemoteSuggestionsService::StartDeletionRequest(
|
|||||||
observer.OnSuggestRequestStarted(request_id, loader.get(),
|
observer.OnSuggestRequestStarted(request_id, loader.get(),
|
||||||
/*request_body*/ "");
|
/*request_body*/ "");
|
||||||
}
|
}
|
||||||
|
LogSuggestRequestSent(RemoteRequestType::kDeletion);
|
||||||
return loader;
|
return loader;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -346,7 +353,7 @@ void RemoteSuggestionsService::OnDocumentSuggestionsLoaderAvailable(
|
|||||||
for (Observer& observer : observers_) {
|
for (Observer& observer : observers_) {
|
||||||
observer.OnSuggestRequestStarted(request_id, loader.get(), request_body);
|
observer.OnSuggestRequestStarted(request_id, loader.get(), request_body);
|
||||||
}
|
}
|
||||||
|
LogSuggestRequestSent(RemoteRequestType::kDocumentSuggest);
|
||||||
std::move(start_callback).Run(std::move(loader));
|
std::move(start_callback).Run(std::move(loader));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -28,8 +28,54 @@ class SimpleURLLoader;
|
|||||||
struct ResourceRequest;
|
struct ResourceRequest;
|
||||||
} // namespace network
|
} // namespace network
|
||||||
|
|
||||||
|
// The types of requests for remote suggestions.
|
||||||
|
// These values are written to logs. New enum values can be added, but existing
|
||||||
|
// enums must never be renumbered or deleted and reused.
|
||||||
|
enum class RemoteRequestType {
|
||||||
|
// Search suggestion requests.
|
||||||
|
kSearch = 0,
|
||||||
|
// Search suggestion warm-up requests.
|
||||||
|
kSearchWarmup = 1,
|
||||||
|
// Search suggestion requests to obtain images.
|
||||||
|
kImages = 2,
|
||||||
|
// Zero-prefix suggestion requests.
|
||||||
|
kZeroSuggest = 3,
|
||||||
|
// Zero-prefix suggestion prefetching requests.
|
||||||
|
kZeroSuggestPrefetch = 4,
|
||||||
|
// Document suggestion requests.
|
||||||
|
kDocumentSuggest = 5,
|
||||||
|
// Suggestion deletion requests.
|
||||||
|
kDeletion = 6,
|
||||||
|
kMaxValue = kDeletion,
|
||||||
|
};
|
||||||
|
|
||||||
|
// The event types recorded by the providers for remote suggestions. Each event
|
||||||
|
// must be logged at most once from when the provider is started until it is
|
||||||
|
// stopped.
|
||||||
|
// These values are written to logs. New enum values can be added, but existing
|
||||||
|
// enums must never be renumbered or deleted and reused.
|
||||||
|
enum class RemoteRequestEvent {
|
||||||
|
// Cached response was synchronously converted to displayed matches.
|
||||||
|
// Recorded for non-prefetch requests only.
|
||||||
|
kCachedResponseConvertedToMatches = 0,
|
||||||
|
// Request was sent.
|
||||||
|
kRequestSent = 1,
|
||||||
|
// Request was invalidated.
|
||||||
|
kRequestInvalidated = 2,
|
||||||
|
// Response was received asynchronously.
|
||||||
|
kResponseReceived = 3,
|
||||||
|
// Response was cached.
|
||||||
|
kResponseCached = 4,
|
||||||
|
// Response ended up being converted to displayed matches. This may happen due
|
||||||
|
// to an empty displayed result set or an empty remote result set.
|
||||||
|
// Recorded for non-prefetch requests only.
|
||||||
|
kResponseConvertedToMatches = 5,
|
||||||
|
kMaxValue = kResponseConvertedToMatches,
|
||||||
|
};
|
||||||
|
|
||||||
// A service to fetch suggestions from a search provider's suggest endpoint.
|
// A service to fetch suggestions from a search provider's suggest endpoint.
|
||||||
// Used by the ZeroSuggestProvider, the SearchProvider, and the ImageService.
|
// Used by ZeroSuggestProvider, SearchProvider, DocumentProvider, and
|
||||||
|
// ImageService.
|
||||||
//
|
//
|
||||||
// This service is always sent the user's authentication state, so the
|
// This service is always sent the user's authentication state, so the
|
||||||
// suggestions always can be personalized. This service is also sometimes sent
|
// suggestions always can be personalized. This service is also sometimes sent
|
||||||
@@ -93,6 +139,7 @@ class RemoteSuggestionsService : public KeyedService {
|
|||||||
// `search_terms_data` is used to build the endpoint URL.
|
// `search_terms_data` is used to build the endpoint URL.
|
||||||
// `completion_callback` will be invoked when the transfer is done.
|
// `completion_callback` will be invoked when the transfer is done.
|
||||||
std::unique_ptr<network::SimpleURLLoader> StartSuggestionsRequest(
|
std::unique_ptr<network::SimpleURLLoader> StartSuggestionsRequest(
|
||||||
|
RemoteRequestType request_type,
|
||||||
const TemplateURL* template_url,
|
const TemplateURL* template_url,
|
||||||
TemplateURLRef::SearchTermsArgs search_terms_args,
|
TemplateURLRef::SearchTermsArgs search_terms_args,
|
||||||
const SearchTermsData& search_terms_data,
|
const SearchTermsData& search_terms_data,
|
||||||
@@ -107,6 +154,7 @@ class RemoteSuggestionsService : public KeyedService {
|
|||||||
// `search_terms_data` is used to build the endpoint URL.
|
// `search_terms_data` is used to build the endpoint URL.
|
||||||
// `completion_callback` will be invoked when the transfer is done.
|
// `completion_callback` will be invoked when the transfer is done.
|
||||||
std::unique_ptr<network::SimpleURLLoader> StartZeroPrefixSuggestionsRequest(
|
std::unique_ptr<network::SimpleURLLoader> StartZeroPrefixSuggestionsRequest(
|
||||||
|
RemoteRequestType request_type,
|
||||||
const TemplateURL* template_url,
|
const TemplateURL* template_url,
|
||||||
TemplateURLRef::SearchTermsArgs search_terms_args,
|
TemplateURLRef::SearchTermsArgs search_terms_args,
|
||||||
const SearchTermsData& search_terms_data,
|
const SearchTermsData& search_terms_data,
|
||||||
|
@@ -10,6 +10,7 @@
|
|||||||
#include "base/functional/bind.h"
|
#include "base/functional/bind.h"
|
||||||
#include "base/memory/scoped_refptr.h"
|
#include "base/memory/scoped_refptr.h"
|
||||||
#include "base/test/bind.h"
|
#include "base/test/bind.h"
|
||||||
|
#include "base/test/metrics/histogram_tester.h"
|
||||||
#include "base/test/task_environment.h"
|
#include "base/test/task_environment.h"
|
||||||
#include "components/search_engines/template_url_service.h"
|
#include "components/search_engines/template_url_service.h"
|
||||||
#include "components/variations/scoped_variations_ids_provider.h"
|
#include "components/variations/scoped_variations_ids_provider.h"
|
||||||
@@ -102,7 +103,8 @@ TEST_F(RemoteSuggestionsServiceTest, EnsureAttachCookies_ZeroPrefixSuggest) {
|
|||||||
/*prefs=*/nullptr, /*search_engine_choice_service=*/nullptr);
|
/*prefs=*/nullptr, /*search_engine_choice_service=*/nullptr);
|
||||||
TemplateURLRef::SearchTermsArgs search_terms_args;
|
TemplateURLRef::SearchTermsArgs search_terms_args;
|
||||||
search_terms_args.current_page_url = "https://www.google.com/";
|
search_terms_args.current_page_url = "https://www.google.com/";
|
||||||
service.StartZeroPrefixSuggestionsRequest(
|
auto loader = service.StartZeroPrefixSuggestionsRequest(
|
||||||
|
RemoteRequestType::kZeroSuggest,
|
||||||
template_url_service.GetDefaultSearchProvider(), search_terms_args,
|
template_url_service.GetDefaultSearchProvider(), search_terms_args,
|
||||||
template_url_service.search_terms_data(),
|
template_url_service.search_terms_data(),
|
||||||
base::BindOnce(&RemoteSuggestionsServiceTest::OnRequestComplete,
|
base::BindOnce(&RemoteSuggestionsServiceTest::OnRequestComplete,
|
||||||
@@ -132,7 +134,8 @@ TEST_F(RemoteSuggestionsServiceTest, EnsureAttachCookies_Suggest) {
|
|||||||
/*prefs=*/nullptr, /*search_engine_choice_service=*/nullptr);
|
/*prefs=*/nullptr, /*search_engine_choice_service=*/nullptr);
|
||||||
TemplateURLRef::SearchTermsArgs search_terms_args;
|
TemplateURLRef::SearchTermsArgs search_terms_args;
|
||||||
search_terms_args.current_page_url = "https://www.google.com/";
|
search_terms_args.current_page_url = "https://www.google.com/";
|
||||||
service.StartSuggestionsRequest(
|
auto loader = service.StartSuggestionsRequest(
|
||||||
|
RemoteRequestType::kSearch,
|
||||||
template_url_service.GetDefaultSearchProvider(), search_terms_args,
|
template_url_service.GetDefaultSearchProvider(), search_terms_args,
|
||||||
template_url_service.search_terms_data(),
|
template_url_service.search_terms_data(),
|
||||||
base::BindOnce(&RemoteSuggestionsServiceTest::OnRequestComplete,
|
base::BindOnce(&RemoteSuggestionsServiceTest::OnRequestComplete,
|
||||||
@@ -157,7 +160,7 @@ TEST_F(RemoteSuggestionsServiceTest, EnsureAttachCookies_DeleteSuggest) {
|
|||||||
|
|
||||||
RemoteSuggestionsService service(/*document_suggestions_service_=*/nullptr,
|
RemoteSuggestionsService service(/*document_suggestions_service_=*/nullptr,
|
||||||
GetUrlLoaderFactory());
|
GetUrlLoaderFactory());
|
||||||
service.StartDeletionRequest(
|
auto loader = service.StartDeletionRequest(
|
||||||
"https://google.com/complete/delete",
|
"https://google.com/complete/delete",
|
||||||
base::BindOnce(&RemoteSuggestionsServiceTest::OnRequestComplete,
|
base::BindOnce(&RemoteSuggestionsServiceTest::OnRequestComplete,
|
||||||
base::Unretained(this)));
|
base::Unretained(this)));
|
||||||
@@ -183,7 +186,8 @@ TEST_F(RemoteSuggestionsServiceTest, EnsureBypassCache) {
|
|||||||
TemplateURLRef::SearchTermsArgs search_terms_args;
|
TemplateURLRef::SearchTermsArgs search_terms_args;
|
||||||
search_terms_args.current_page_url = "https://www.google.com/";
|
search_terms_args.current_page_url = "https://www.google.com/";
|
||||||
search_terms_args.bypass_cache = true;
|
search_terms_args.bypass_cache = true;
|
||||||
service.StartZeroPrefixSuggestionsRequest(
|
auto loader = service.StartZeroPrefixSuggestionsRequest(
|
||||||
|
RemoteRequestType::kZeroSuggest,
|
||||||
template_url_service.GetDefaultSearchProvider(), search_terms_args,
|
template_url_service.GetDefaultSearchProvider(), search_terms_args,
|
||||||
template_url_service.search_terms_data(),
|
template_url_service.search_terms_data(),
|
||||||
base::BindOnce(&RemoteSuggestionsServiceTest::OnRequestComplete,
|
base::BindOnce(&RemoteSuggestionsServiceTest::OnRequestComplete,
|
||||||
@@ -202,6 +206,8 @@ TEST_F(RemoteSuggestionsServiceTest, EnsureBypassCache) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(RemoteSuggestionsServiceTest, EnsureObservers) {
|
TEST_F(RemoteSuggestionsServiceTest, EnsureObservers) {
|
||||||
|
base::HistogramTester histogram_tester;
|
||||||
|
|
||||||
TemplateURLService template_url_service(
|
TemplateURLService template_url_service(
|
||||||
/*prefs=*/nullptr, /*search_engine_choice_service=*/nullptr);
|
/*prefs=*/nullptr, /*search_engine_choice_service=*/nullptr);
|
||||||
TemplateURLData template_url_data;
|
TemplateURLData template_url_data;
|
||||||
@@ -212,10 +218,9 @@ TEST_F(RemoteSuggestionsServiceTest, EnsureObservers) {
|
|||||||
|
|
||||||
RemoteSuggestionsService service(/*document_suggestions_service_=*/nullptr,
|
RemoteSuggestionsService service(/*document_suggestions_service_=*/nullptr,
|
||||||
GetUrlLoaderFactory());
|
GetUrlLoaderFactory());
|
||||||
|
|
||||||
TestObserver observer(&service);
|
TestObserver observer(&service);
|
||||||
|
|
||||||
auto loader = service.StartZeroPrefixSuggestionsRequest(
|
auto loader = service.StartZeroPrefixSuggestionsRequest(
|
||||||
|
RemoteRequestType::kZeroSuggest,
|
||||||
template_url_service.GetDefaultSearchProvider(),
|
template_url_service.GetDefaultSearchProvider(),
|
||||||
TemplateURLRef::SearchTermsArgs(),
|
TemplateURLRef::SearchTermsArgs(),
|
||||||
template_url_service.search_terms_data(),
|
template_url_service.search_terms_data(),
|
||||||
@@ -236,6 +241,10 @@ TEST_F(RemoteSuggestionsServiceTest, EnsureObservers) {
|
|||||||
|
|
||||||
base::RunLoop().RunUntilIdle();
|
base::RunLoop().RunUntilIdle();
|
||||||
|
|
||||||
|
// Verify histogram was recorded.
|
||||||
|
histogram_tester.ExpectTotalCount("Omnibox.SuggestRequestsSent", 1);
|
||||||
|
histogram_tester.ExpectBucketCount("Omnibox.SuggestRequestsSent", 3, 1);
|
||||||
|
|
||||||
// Verify the observer got notified of request completion.
|
// Verify the observer got notified of request completion.
|
||||||
ASSERT_EQ(observer.url().spec(), kRequestUrl);
|
ASSERT_EQ(observer.url().spec(), kRequestUrl);
|
||||||
ASSERT_TRUE(observer.response_received());
|
ASSERT_TRUE(observer.response_received());
|
||||||
|
@@ -69,10 +69,10 @@ using metrics::OmniboxEventProto;
|
|||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
// Increments the appropriate value in the histogram by one.
|
// Increments the appropriate event in the histogram by one.
|
||||||
void LogOmniboxSuggestRequest(RemoteRequestHistogramValue request_value) {
|
void LogOmniboxSuggestRequest(RemoteRequestEvent request_event) {
|
||||||
base::UmaHistogramEnumeration("Omnibox.SuggestRequests", request_value,
|
base::UmaHistogramEnumeration("Omnibox.SearchSuggest.Requests",
|
||||||
RemoteRequestHistogramValue::kMaxValue);
|
request_event);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool HasMultipleWords(const std::u16string& text) {
|
bool HasMultipleWords(const std::u16string& text) {
|
||||||
@@ -514,8 +514,7 @@ void SearchProvider::SortResults(bool is_keyword,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void SearchProvider::LogLoadComplete(bool success, bool is_keyword) {
|
void SearchProvider::LogLoadComplete(bool success, bool is_keyword) {
|
||||||
LogOmniboxSuggestRequest(
|
LogOmniboxSuggestRequest(RemoteRequestEvent::kResponseReceived);
|
||||||
RemoteRequestHistogramValue::kRemoteResponseReceived);
|
|
||||||
// Record response time for suggest requests sent to Google. We care
|
// Record response time for suggest requests sent to Google. We care
|
||||||
// only about the common case: the Google default provider used in
|
// only about the common case: the Google default provider used in
|
||||||
// non-keyword mode.
|
// non-keyword mode.
|
||||||
@@ -762,7 +761,7 @@ void SearchProvider::StartOrStopSuggestQuery(bool minimal_changes) {
|
|||||||
void SearchProvider::CancelLoader(
|
void SearchProvider::CancelLoader(
|
||||||
std::unique_ptr<network::SimpleURLLoader>* loader) {
|
std::unique_ptr<network::SimpleURLLoader>* loader) {
|
||||||
if (*loader) {
|
if (*loader) {
|
||||||
LogOmniboxSuggestRequest(RemoteRequestHistogramValue::kRequestInvalidated);
|
LogOmniboxSuggestRequest(RemoteRequestEvent::kRequestInvalidated);
|
||||||
loader->reset();
|
loader->reset();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -924,7 +923,7 @@ std::unique_ptr<network::SimpleURLLoader> SearchProvider::CreateSuggestLoader(
|
|||||||
search_term_args.current_page_url = input.current_url().spec();
|
search_term_args.current_page_url = input.current_url().spec();
|
||||||
}
|
}
|
||||||
|
|
||||||
LogOmniboxSuggestRequest(RemoteRequestHistogramValue::kRequestSent);
|
LogOmniboxSuggestRequest(RemoteRequestEvent::kRequestSent);
|
||||||
|
|
||||||
// If the request is from omnibox focus, send empty search term args. The
|
// If the request is from omnibox focus, send empty search term args. The
|
||||||
// purpose of such a request is to signal the server to warm up; no info
|
// purpose of such a request is to signal the server to warm up; no info
|
||||||
@@ -932,6 +931,8 @@ std::unique_ptr<network::SimpleURLLoader> SearchProvider::CreateSuggestLoader(
|
|||||||
return client()
|
return client()
|
||||||
->GetRemoteSuggestionsService(/*create_if_necessary=*/true)
|
->GetRemoteSuggestionsService(/*create_if_necessary=*/true)
|
||||||
->StartSuggestionsRequest(
|
->StartSuggestionsRequest(
|
||||||
|
input.IsZeroSuggest() ? RemoteRequestType::kSearchWarmup
|
||||||
|
: RemoteRequestType::kSearch,
|
||||||
template_url,
|
template_url,
|
||||||
input.IsZeroSuggest() ? TemplateURLRef::SearchTermsArgs()
|
input.IsZeroSuggest() ? TemplateURLRef::SearchTermsArgs()
|
||||||
: search_term_args,
|
: search_term_args,
|
||||||
|
@@ -41,31 +41,6 @@ namespace network {
|
|||||||
class SimpleURLLoader;
|
class SimpleURLLoader;
|
||||||
}
|
}
|
||||||
|
|
||||||
// The provider event types recorded as a result of prefetch and non-prefetch
|
|
||||||
// requests for zero-prefix suggestions. Each event must be logged at most once
|
|
||||||
// from when the provider is started until it is stopped.
|
|
||||||
// These values are written to logs. New enum values can be added, but existing
|
|
||||||
// enums must never be renumbered or deleted and reused.
|
|
||||||
enum class RemoteRequestHistogramValue {
|
|
||||||
// Cached response was synchronously converted to displayed matches.
|
|
||||||
// Recorded for non-prefetch requests only.
|
|
||||||
kCachedResponseConvertedToMatches = 0,
|
|
||||||
// Remote request was sent.
|
|
||||||
kRequestSent = 1,
|
|
||||||
// Remote request was invalidated.
|
|
||||||
kRequestInvalidated = 2,
|
|
||||||
// Remote response was received asynchronously.
|
|
||||||
kRemoteResponseReceived = 3,
|
|
||||||
// Remote response was cached.
|
|
||||||
kRemoteResponseCached = 4,
|
|
||||||
// Remote response ended up being converted to displayed matches. This may
|
|
||||||
// happen due to an empty displayed result set or an empty remote result set.
|
|
||||||
// Recorded for non-prefetch requests only.
|
|
||||||
kRemoteResponseConvertedToMatches = 5,
|
|
||||||
|
|
||||||
kMaxValue = kRemoteResponseConvertedToMatches,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Autocomplete provider for searches and suggestions from a search engine.
|
// Autocomplete provider for searches and suggestions from a search engine.
|
||||||
//
|
//
|
||||||
// After construction, the autocomplete controller repeatedly calls Start()
|
// After construction, the autocomplete controller repeatedly calls Start()
|
||||||
|
@@ -30,7 +30,6 @@
|
|||||||
#include "components/omnibox/browser/omnibox_triggered_feature_service.h"
|
#include "components/omnibox/browser/omnibox_triggered_feature_service.h"
|
||||||
#include "components/omnibox/browser/page_classification_functions.h"
|
#include "components/omnibox/browser/page_classification_functions.h"
|
||||||
#include "components/omnibox/browser/remote_suggestions_service.h"
|
#include "components/omnibox/browser/remote_suggestions_service.h"
|
||||||
#include "components/omnibox/browser/search_provider.h"
|
|
||||||
#include "components/omnibox/browser/search_suggestion_parser.h"
|
#include "components/omnibox/browser/search_suggestion_parser.h"
|
||||||
#include "components/omnibox/browser/zero_suggest_cache_service.h"
|
#include "components/omnibox/browser/zero_suggest_cache_service.h"
|
||||||
#include "components/omnibox/common/omnibox_features.h"
|
#include "components/omnibox/common/omnibox_features.h"
|
||||||
@@ -77,10 +76,9 @@ enum class Eligibility {
|
|||||||
kMaxValue = kGenerallyIneligible,
|
kMaxValue = kGenerallyIneligible,
|
||||||
};
|
};
|
||||||
|
|
||||||
void LogOmniboxZeroSuggestRequest(
|
void LogOmniboxZeroSuggestRequest(const RemoteRequestEvent request_event,
|
||||||
const RemoteRequestHistogramValue request_value,
|
const ResultType result_type,
|
||||||
const ResultType result_type,
|
const bool is_prefetch) {
|
||||||
const bool is_prefetch) {
|
|
||||||
DCHECK_NE(ResultType::kNone, result_type);
|
DCHECK_NE(ResultType::kNone, result_type);
|
||||||
|
|
||||||
const std::string result_type_string =
|
const std::string result_type_string =
|
||||||
@@ -89,7 +87,7 @@ void LogOmniboxZeroSuggestRequest(
|
|||||||
is_prefetch ? ".Prefetch" : ".NonPrefetch";
|
is_prefetch ? ".Prefetch" : ".NonPrefetch";
|
||||||
base::UmaHistogramEnumeration(
|
base::UmaHistogramEnumeration(
|
||||||
"Omnibox.ZeroSuggestProvider" + result_type_string + request_type_string,
|
"Omnibox.ZeroSuggestProvider" + result_type_string + request_type_string,
|
||||||
request_value);
|
request_event);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Relevance value to use if it was not set explicitly by the server.
|
// Relevance value to use if it was not set explicitly by the server.
|
||||||
@@ -211,9 +209,8 @@ bool StoreRemoteResponse(const std::string& response_json,
|
|||||||
: std::string();
|
: std::string();
|
||||||
client->GetZeroSuggestCacheService()->StoreZeroSuggestResponse(page_url,
|
client->GetZeroSuggestCacheService()->StoreZeroSuggestResponse(page_url,
|
||||||
response_json);
|
response_json);
|
||||||
LogOmniboxZeroSuggestRequest(
|
LogOmniboxZeroSuggestRequest(RemoteRequestEvent::kResponseCached, result_type,
|
||||||
RemoteRequestHistogramValue::kRemoteResponseCached, result_type,
|
is_prefetch);
|
||||||
is_prefetch);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -404,9 +401,9 @@ void ZeroSuggestProvider::StartPrefetch(const AutocompleteInput& input) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (*prefetch_loader) {
|
if (*prefetch_loader) {
|
||||||
LogOmniboxZeroSuggestRequest(
|
LogOmniboxZeroSuggestRequest(RemoteRequestEvent::kRequestInvalidated,
|
||||||
RemoteRequestHistogramValue::kRequestInvalidated, result_type,
|
result_type,
|
||||||
/*is_prefetch=*/true);
|
/*is_prefetch=*/true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create a loader for the appropriate page context and take ownership of it.
|
// Create a loader for the appropriate page context and take ownership of it.
|
||||||
@@ -414,14 +411,13 @@ void ZeroSuggestProvider::StartPrefetch(const AutocompleteInput& input) {
|
|||||||
client()
|
client()
|
||||||
->GetRemoteSuggestionsService(/*create_if_necessary=*/true)
|
->GetRemoteSuggestionsService(/*create_if_necessary=*/true)
|
||||||
->StartZeroPrefixSuggestionsRequest(
|
->StartZeroPrefixSuggestionsRequest(
|
||||||
template_url, search_terms_args,
|
RemoteRequestType::kZeroSuggestPrefetch, template_url,
|
||||||
template_url_service->search_terms_data(),
|
search_terms_args, template_url_service->search_terms_data(),
|
||||||
base::BindOnce(&ZeroSuggestProvider::OnPrefetchURLLoadComplete,
|
base::BindOnce(&ZeroSuggestProvider::OnPrefetchURLLoadComplete,
|
||||||
weak_ptr_factory_.GetWeakPtr(), input,
|
weak_ptr_factory_.GetWeakPtr(), input,
|
||||||
result_type));
|
result_type));
|
||||||
|
|
||||||
LogOmniboxZeroSuggestRequest(RemoteRequestHistogramValue::kRequestSent,
|
LogOmniboxZeroSuggestRequest(RemoteRequestEvent::kRequestSent, result_type,
|
||||||
result_type,
|
|
||||||
/*is_prefetch=*/true);
|
/*is_prefetch=*/true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -444,7 +440,7 @@ void ZeroSuggestProvider::Start(const AutocompleteInput& input,
|
|||||||
if (ReadStoredResponse(client(), input, result_type_running_, &results)) {
|
if (ReadStoredResponse(client(), input, result_type_running_, &results)) {
|
||||||
ConvertSuggestResultsToAutocompleteMatches(results, input);
|
ConvertSuggestResultsToAutocompleteMatches(results, input);
|
||||||
LogOmniboxZeroSuggestRequest(
|
LogOmniboxZeroSuggestRequest(
|
||||||
RemoteRequestHistogramValue::kCachedResponseConvertedToMatches,
|
RemoteRequestEvent::kCachedResponseConvertedToMatches,
|
||||||
result_type_running_,
|
result_type_running_,
|
||||||
/*is_prefetch=*/false);
|
/*is_prefetch=*/false);
|
||||||
}
|
}
|
||||||
@@ -471,16 +467,17 @@ void ZeroSuggestProvider::Start(const AutocompleteInput& input,
|
|||||||
: std::string();
|
: std::string();
|
||||||
|
|
||||||
// Create a loader for the request and take ownership of it.
|
// Create a loader for the request and take ownership of it.
|
||||||
loader_ = client()
|
loader_ =
|
||||||
->GetRemoteSuggestionsService(/*create_if_necessary=*/true)
|
client()
|
||||||
->StartZeroPrefixSuggestionsRequest(
|
->GetRemoteSuggestionsService(/*create_if_necessary=*/true)
|
||||||
template_url, search_terms_args,
|
->StartZeroPrefixSuggestionsRequest(
|
||||||
template_url_service->search_terms_data(),
|
RemoteRequestType::kZeroSuggest, template_url, search_terms_args,
|
||||||
base::BindOnce(&ZeroSuggestProvider::OnURLLoadComplete,
|
template_url_service->search_terms_data(),
|
||||||
weak_ptr_factory_.GetWeakPtr(), input,
|
base::BindOnce(&ZeroSuggestProvider::OnURLLoadComplete,
|
||||||
result_type_running_));
|
weak_ptr_factory_.GetWeakPtr(), input,
|
||||||
|
result_type_running_));
|
||||||
|
|
||||||
LogOmniboxZeroSuggestRequest(RemoteRequestHistogramValue::kRequestSent,
|
LogOmniboxZeroSuggestRequest(RemoteRequestEvent::kRequestSent,
|
||||||
result_type_running_,
|
result_type_running_,
|
||||||
/*is_prefetch=*/false);
|
/*is_prefetch=*/false);
|
||||||
}
|
}
|
||||||
@@ -490,9 +487,9 @@ void ZeroSuggestProvider::Stop(bool clear_cached_results,
|
|||||||
AutocompleteProvider::Stop(clear_cached_results, due_to_user_inactivity);
|
AutocompleteProvider::Stop(clear_cached_results, due_to_user_inactivity);
|
||||||
|
|
||||||
if (loader_) {
|
if (loader_) {
|
||||||
LogOmniboxZeroSuggestRequest(
|
LogOmniboxZeroSuggestRequest(RemoteRequestEvent::kRequestInvalidated,
|
||||||
RemoteRequestHistogramValue::kRequestInvalidated, result_type_running_,
|
result_type_running_,
|
||||||
/*is_prefetch=*/false);
|
/*is_prefetch=*/false);
|
||||||
loader_.reset();
|
loader_.reset();
|
||||||
}
|
}
|
||||||
result_type_running_ = ResultType::kNone;
|
result_type_running_ = ResultType::kNone;
|
||||||
@@ -558,9 +555,9 @@ void ZeroSuggestProvider::OnURLLoadComplete(
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
LogOmniboxZeroSuggestRequest(
|
LogOmniboxZeroSuggestRequest(RemoteRequestEvent::kResponseReceived,
|
||||||
RemoteRequestHistogramValue::kRemoteResponseReceived, result_type,
|
result_type,
|
||||||
/*is_prefetch=*/false);
|
/*is_prefetch=*/false);
|
||||||
|
|
||||||
SearchSuggestionParser::Results results;
|
SearchSuggestionParser::Results results;
|
||||||
const bool response_parsed = StoreRemoteResponse(
|
const bool response_parsed = StoreRemoteResponse(
|
||||||
@@ -588,10 +585,9 @@ void ZeroSuggestProvider::OnURLLoadComplete(
|
|||||||
|
|
||||||
// Convert the response to |matches_| and notify the listeners.
|
// Convert the response to |matches_| and notify the listeners.
|
||||||
ConvertSuggestResultsToAutocompleteMatches(results, input);
|
ConvertSuggestResultsToAutocompleteMatches(results, input);
|
||||||
LogOmniboxZeroSuggestRequest(
|
LogOmniboxZeroSuggestRequest(RemoteRequestEvent::kResponseConvertedToMatches,
|
||||||
RemoteRequestHistogramValue::kRemoteResponseConvertedToMatches,
|
result_type,
|
||||||
result_type,
|
/*is_prefetch=*/false);
|
||||||
/*is_prefetch=*/false);
|
|
||||||
NotifyListeners(/*updated_matches=*/true);
|
NotifyListeners(/*updated_matches=*/true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -615,9 +611,9 @@ void ZeroSuggestProvider::OnPrefetchURLLoadComplete(
|
|||||||
DCHECK_EQ(prefetch_loader->get(), source);
|
DCHECK_EQ(prefetch_loader->get(), source);
|
||||||
|
|
||||||
if (response_code == 200) {
|
if (response_code == 200) {
|
||||||
LogOmniboxZeroSuggestRequest(
|
LogOmniboxZeroSuggestRequest(RemoteRequestEvent::kResponseReceived,
|
||||||
RemoteRequestHistogramValue::kRemoteResponseReceived, result_type,
|
result_type,
|
||||||
/*is_prefetch=*/true);
|
/*is_prefetch=*/true);
|
||||||
|
|
||||||
SearchSuggestionParser::Results unused_results;
|
SearchSuggestionParser::Results unused_results;
|
||||||
StoreRemoteResponse(SearchSuggestionParser::ExtractJsonData(
|
StoreRemoteResponse(SearchSuggestionParser::ExtractJsonData(
|
||||||
|
@@ -14,7 +14,6 @@
|
|||||||
|
|
||||||
#include "base/gtest_prod_util.h"
|
#include "base/gtest_prod_util.h"
|
||||||
#include "components/omnibox/browser/base_search_provider.h"
|
#include "components/omnibox/browser/base_search_provider.h"
|
||||||
#include "components/omnibox/browser/search_provider.h"
|
|
||||||
|
|
||||||
class AutocompleteProviderListener;
|
class AutocompleteProviderListener;
|
||||||
class PrefRegistrySimple;
|
class PrefRegistrySimple;
|
||||||
|
@@ -1249,7 +1249,7 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestCachingFirstRunNTP) {
|
|||||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch", /*kRequestSent*/ 1, 1);
|
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch", /*kRequestSent*/ 1, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, 1);
|
/*kResponseReceived*/ 3, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||||
/*kRemoteResponseCached*/ 4, 1);
|
/*kRemoteResponseCached*/ 4, 1);
|
||||||
@@ -1315,7 +1315,7 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestCachingFirstRunSRP) {
|
|||||||
1);
|
1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, 1);
|
/*kResponseReceived*/ 3, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||||
/*kRemoteResponseCached*/ 4, 1);
|
/*kRemoteResponseCached*/ 4, 1);
|
||||||
@@ -1382,7 +1382,7 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestCachingFirstRunWeb) {
|
|||||||
1);
|
1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, 1);
|
/*kResponseReceived*/ 3, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||||
/*kRemoteResponseCached*/ 4, 1);
|
/*kRemoteResponseCached*/ 4, 1);
|
||||||
@@ -1579,7 +1579,7 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestHasCachedResultsNTP) {
|
|||||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch", /*kRequestSent*/ 1, 1);
|
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch", /*kRequestSent*/ 1, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, 1);
|
/*kResponseReceived*/ 3, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||||
/*kRemoteResponseCached*/ 4, 1);
|
/*kRemoteResponseCached*/ 4, 1);
|
||||||
@@ -1657,7 +1657,7 @@ TEST_F(ZeroSuggestProviderTest, TestZeroSuggestHasInMemoryCachedResultsNTP) {
|
|||||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch", /*kRequestSent*/ 1, 1);
|
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch", /*kRequestSent*/ 1, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, 1);
|
/*kResponseReceived*/ 3, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||||
/*kRemoteResponseCached*/ 4, 1);
|
/*kRemoteResponseCached*/ 4, 1);
|
||||||
@@ -1741,7 +1741,7 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestHasCachedResultsSRP) {
|
|||||||
1);
|
1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, 1);
|
/*kResponseReceived*/ 3, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||||
/*kRemoteResponseCached*/ 4, 1);
|
/*kRemoteResponseCached*/ 4, 1);
|
||||||
@@ -1827,7 +1827,7 @@ TEST_F(ZeroSuggestProviderTest, TestZeroSuggestHasInMemoryCachedResultsSRP) {
|
|||||||
1);
|
1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, 1);
|
/*kResponseReceived*/ 3, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||||
/*kRemoteResponseCached*/ 4, 1);
|
/*kRemoteResponseCached*/ 4, 1);
|
||||||
@@ -1912,7 +1912,7 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestHasCachedResultsWeb) {
|
|||||||
1);
|
1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, 1);
|
/*kResponseReceived*/ 3, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||||
/*kRemoteResponseCached*/ 4, 1);
|
/*kRemoteResponseCached*/ 4, 1);
|
||||||
@@ -1998,7 +1998,7 @@ TEST_F(ZeroSuggestProviderTest, TestZeroSuggestHasInMemoryCachedResultsWeb) {
|
|||||||
1);
|
1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, 1);
|
/*kResponseReceived*/ 3, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||||
/*kRemoteResponseCached*/ 4, 1);
|
/*kRemoteResponseCached*/ 4, 1);
|
||||||
@@ -2073,7 +2073,7 @@ TEST_F(ZeroSuggestProviderTest,
|
|||||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch", /*kRequestSent*/ 1, 1);
|
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch", /*kRequestSent*/ 1, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, 1);
|
/*kResponseReceived*/ 3, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||||
/*kRemoteResponseCached*/ 4, 1);
|
/*kRemoteResponseCached*/ 4, 1);
|
||||||
@@ -2154,7 +2154,7 @@ TEST_F(ZeroSuggestProviderTest,
|
|||||||
1);
|
1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, 1);
|
/*kResponseReceived*/ 3, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||||
/*kRemoteResponseCached*/ 4, 1);
|
/*kRemoteResponseCached*/ 4, 1);
|
||||||
@@ -2236,7 +2236,7 @@ TEST_F(ZeroSuggestProviderTest,
|
|||||||
1);
|
1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, 1);
|
/*kResponseReceived*/ 3, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||||
/*kRemoteResponseCached*/ 4, 1);
|
/*kRemoteResponseCached*/ 4, 1);
|
||||||
@@ -2310,7 +2310,7 @@ TEST_F(ZeroSuggestProviderTest, TestZeroSuggestReceivedInvalidResults) {
|
|||||||
invalid_responses.size());
|
invalid_responses.size());
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, invalid_responses.size());
|
/*kResponseReceived*/ 3, invalid_responses.size());
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||||
/*kRemoteResponseCached*/ 4, 0);
|
/*kRemoteResponseCached*/ 4, 0);
|
||||||
@@ -2369,7 +2369,7 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestPrefetchThenNTPOnFocus) {
|
|||||||
"Omnibox.ZeroSuggestProvider.NoURL.Prefetch", /*kRequestSent*/ 1, 1);
|
"Omnibox.ZeroSuggestProvider.NoURL.Prefetch", /*kRequestSent*/ 1, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.NoURL.Prefetch",
|
"Omnibox.ZeroSuggestProvider.NoURL.Prefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, 1);
|
/*kResponseReceived*/ 3, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.NoURL.Prefetch",
|
"Omnibox.ZeroSuggestProvider.NoURL.Prefetch",
|
||||||
/*kRemoteResponseCached*/ 4, 1);
|
/*kRemoteResponseCached*/ 4, 1);
|
||||||
@@ -2430,7 +2430,7 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestPrefetchThenNTPOnFocus) {
|
|||||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch", /*kRequestSent*/ 1, 1);
|
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch", /*kRequestSent*/ 1, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, 1);
|
/*kResponseReceived*/ 3, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||||
/*kRemoteResponseCached*/ 4, 1);
|
/*kRemoteResponseCached*/ 4, 1);
|
||||||
@@ -2519,7 +2519,7 @@ TEST_F(ZeroSuggestProviderTest, TestMultipleZeroSuggestPrefetchesInFlight) {
|
|||||||
/*kRequestInvalidated*/ 2, 0);
|
/*kRequestInvalidated*/ 2, 0);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.Prefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.Prefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, 1);
|
/*kResponseReceived*/ 3, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.Prefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.Prefetch",
|
||||||
/*kRemoteResponseCached*/ 4, 1);
|
/*kRemoteResponseCached*/ 4, 1);
|
||||||
@@ -2531,7 +2531,7 @@ TEST_F(ZeroSuggestProviderTest, TestMultipleZeroSuggestPrefetchesInFlight) {
|
|||||||
0);
|
0);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.NoURL.Prefetch",
|
"Omnibox.ZeroSuggestProvider.NoURL.Prefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, 1);
|
/*kResponseReceived*/ 3, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.NoURL.Prefetch",
|
"Omnibox.ZeroSuggestProvider.NoURL.Prefetch",
|
||||||
/*kRemoteResponseCached*/ 4, 1);
|
/*kRemoteResponseCached*/ 4, 1);
|
||||||
@@ -2613,7 +2613,7 @@ TEST_F(ZeroSuggestProviderTest,
|
|||||||
"Omnibox.ZeroSuggestProvider.URLBased.Prefetch", /*kRequestSent*/ 1, 1);
|
"Omnibox.ZeroSuggestProvider.URLBased.Prefetch", /*kRequestSent*/ 1, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.Prefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.Prefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, 1);
|
/*kResponseReceived*/ 3, 1);
|
||||||
|
|
||||||
// Expect the provider to not have notified the provider listener since the
|
// Expect the provider to not have notified the provider listener since the
|
||||||
// matches were not updated.
|
// matches were not updated.
|
||||||
@@ -2669,7 +2669,7 @@ TEST_F(ZeroSuggestProviderTest,
|
|||||||
1);
|
1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, 1);
|
/*kResponseReceived*/ 3, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||||
/*kRemoteResponseConvertedToMatches*/ 5, 1);
|
/*kRemoteResponseConvertedToMatches*/ 5, 1);
|
||||||
@@ -2749,7 +2749,7 @@ TEST_F(ZeroSuggestProviderTest,
|
|||||||
"Omnibox.ZeroSuggestProvider.URLBased.Prefetch", /*kRequestSent*/ 1, 1);
|
"Omnibox.ZeroSuggestProvider.URLBased.Prefetch", /*kRequestSent*/ 1, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.Prefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.Prefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, 1);
|
/*kResponseReceived*/ 3, 1);
|
||||||
|
|
||||||
// Expect the provider to not have notified the provider listener since the
|
// Expect the provider to not have notified the provider listener since the
|
||||||
// matches were not updated.
|
// matches were not updated.
|
||||||
@@ -2804,7 +2804,7 @@ TEST_F(ZeroSuggestProviderTest,
|
|||||||
1);
|
1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, 1);
|
/*kResponseReceived*/ 3, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||||
/*kRemoteResponseConvertedToMatches*/ 5, 1);
|
/*kRemoteResponseConvertedToMatches*/ 5, 1);
|
||||||
@@ -2889,7 +2889,7 @@ TEST_F(ZeroSuggestProviderTest, TestNoURLResultTypeWithNonEmptyURLInput) {
|
|||||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch", /*kRequestSent*/ 1, 1);
|
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch", /*kRequestSent*/ 1, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||||
/*kRemoteResponseReceived*/ 3, 1);
|
/*kResponseReceived*/ 3, 1);
|
||||||
histogram_tester.ExpectBucketCount(
|
histogram_tester.ExpectBucketCount(
|
||||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||||
/*kRemoteResponseCached*/ 4, 1);
|
/*kRemoteResponseCached*/ 4, 1);
|
||||||
|
@@ -76,7 +76,8 @@ class ImageService::SuggestEntityImageURLFetcher {
|
|||||||
search_terms_args.search_terms = search_query_;
|
search_terms_args.search_terms = search_query_;
|
||||||
|
|
||||||
loader_ = remote_suggestions_service->StartSuggestionsRequest(
|
loader_ = remote_suggestions_service->StartSuggestionsRequest(
|
||||||
template_url, search_terms_args, search_terms_data,
|
RemoteRequestType::kImages, template_url, search_terms_args,
|
||||||
|
search_terms_data,
|
||||||
base::BindOnce(&SuggestEntityImageURLFetcher::OnURLLoadComplete,
|
base::BindOnce(&SuggestEntityImageURLFetcher::OnURLLoadComplete,
|
||||||
weak_factory_.GetWeakPtr()));
|
weak_factory_.GetWeakPtr()));
|
||||||
}
|
}
|
||||||
|
@@ -75,6 +75,17 @@ chromium-metrics-reviews@google.com.
|
|||||||
<int value="12" label="Not allowed because the input looks like a URL"/>
|
<int value="12" label="Not allowed because the input looks like a URL"/>
|
||||||
</enum>
|
</enum>
|
||||||
|
|
||||||
|
<enum name="DocumentSuggestRequestEvent">
|
||||||
|
<int value="1" label="requests sent">Request was sent.</int>
|
||||||
|
<int value="2" label="requests invalidated">
|
||||||
|
Request was invalidated (cancelled because URLLoader was deleted before the
|
||||||
|
callback was invoked).
|
||||||
|
</int>
|
||||||
|
<int value="3" label="responses received">
|
||||||
|
Response was received asynchronously.
|
||||||
|
</int>
|
||||||
|
</enum>
|
||||||
|
|
||||||
<enum name="GroupId">
|
<enum name="GroupId">
|
||||||
<summary>
|
<summary>
|
||||||
Suggestion group IDs toggled visible or hidden in the omnibox result list.
|
Suggestion group IDs toggled visible or hidden in the omnibox result list.
|
||||||
@@ -107,12 +118,6 @@ chromium-metrics-reviews@google.com.
|
|||||||
<int value="4" label="@tabs starter pack engine"/>
|
<int value="4" label="@tabs starter pack engine"/>
|
||||||
</enum>
|
</enum>
|
||||||
|
|
||||||
<enum name="OmniboxDocumentSuggestRequests">
|
|
||||||
<int value="1" label="requests sent"/>
|
|
||||||
<int value="2" label="requests invalidated"/>
|
|
||||||
<int value="3" label="(non-invalidated) replies received"/>
|
|
||||||
</enum>
|
|
||||||
|
|
||||||
<enum name="OmniboxEnteredKeywordMode2">
|
<enum name="OmniboxEnteredKeywordMode2">
|
||||||
<int value="0" label="invalid"/>
|
<int value="0" label="invalid"/>
|
||||||
<int value="1" label="via tab"/>
|
<int value="1" label="via tab"/>
|
||||||
@@ -159,37 +164,6 @@ chromium-metrics-reviews@google.com.
|
|||||||
<int value="4" label="Shortcut text prefix"/>
|
<int value="4" label="Shortcut text prefix"/>
|
||||||
</enum>
|
</enum>
|
||||||
|
|
||||||
<enum name="OmniboxSuggestRequests">
|
|
||||||
<int value="1" label="requests sent"/>
|
|
||||||
<int value="2" label="requests invalidated"/>
|
|
||||||
<int value="3" label="(non-invalidated) replies received"/>
|
|
||||||
</enum>
|
|
||||||
|
|
||||||
<enum name="OmniboxZeroSuggestRequests">
|
|
||||||
<obsolete>
|
|
||||||
Obsolete as of M105.
|
|
||||||
</obsolete>
|
|
||||||
<int value="1" label="requests sent">Suggest requests that were sent.</int>
|
|
||||||
<int value="2" label="requests invalidated">
|
|
||||||
Suggest requests that were invalidated, e.g., due to user starting to type.
|
|
||||||
</int>
|
|
||||||
<int value="3" label="responses received">
|
|
||||||
Suggest responses that were received. Includes both those received directly
|
|
||||||
from the server and those loaded from the HTTP cache.
|
|
||||||
</int>
|
|
||||||
<int value="4" label="responses loaded from HTTP cache">
|
|
||||||
Subset of Suggest responses that were loaded from the HTTP cache.
|
|
||||||
</int>
|
|
||||||
<int value="5"
|
|
||||||
label="out-of-date responses loaded from HTTP cache (deprecated)">
|
|
||||||
Subset of Suggest responses that were loaded from the HTTP cache and were
|
|
||||||
out-of-date.
|
|
||||||
</int>
|
|
||||||
<int value="6" label="responses updated displayed results">
|
|
||||||
Subset of Suggest responses that ended up updating the displayed results.
|
|
||||||
</int>
|
|
||||||
</enum>
|
|
||||||
|
|
||||||
<enum name="SearchPrefetchEligibilityReason">
|
<enum name="SearchPrefetchEligibilityReason">
|
||||||
<int value="0" label="Prefetch started"/>
|
<int value="0" label="Prefetch started"/>
|
||||||
<int value="1" label="User disabled prefetch/preconnect"/>
|
<int value="1" label="User disabled prefetch/preconnect"/>
|
||||||
@@ -250,6 +224,17 @@ chromium-metrics-reviews@google.com.
|
|||||||
<int value="3" label="kCompleted"/>
|
<int value="3" label="kCompleted"/>
|
||||||
</enum>
|
</enum>
|
||||||
|
|
||||||
|
<enum name="SearchSuggestRequestEvent">
|
||||||
|
<int value="1" label="requests sent">Request was sent.</int>
|
||||||
|
<int value="2" label="requests invalidated">
|
||||||
|
Request was invalidated (cancelled because URLLoader was deleted before the
|
||||||
|
callback was invoked).
|
||||||
|
</int>
|
||||||
|
<int value="3" label="responses received">
|
||||||
|
Response was received asynchronously.
|
||||||
|
</int>
|
||||||
|
</enum>
|
||||||
|
|
||||||
<enum name="SuggestionAnswerOptionalType">
|
<enum name="SuggestionAnswerOptionalType">
|
||||||
<summary>
|
<summary>
|
||||||
Type of Answer in omnibox suggestion list or No Answer, if not an answer.
|
Type of Answer in omnibox suggestion list or No Answer, if not an answer.
|
||||||
@@ -343,6 +328,16 @@ chromium-metrics-reviews@google.com.
|
|||||||
<int value="40" label="Set Chrome as default browser"/>
|
<int value="40" label="Set Chrome as default browser"/>
|
||||||
</enum>
|
</enum>
|
||||||
|
|
||||||
|
<enum name="SuggestRequestType">
|
||||||
|
<int value="0" label="search suggestion"/>
|
||||||
|
<int value="1" label="search suggestion warm-up"/>
|
||||||
|
<int value="2" label="search suggestion for images"/>
|
||||||
|
<int value="3" label="zero-prefix suggestion"/>
|
||||||
|
<int value="4" label="zero-prefix suggestion prefetching"/>
|
||||||
|
<int value="5" label="document suggestion"/>
|
||||||
|
<int value="6" label="suggestion deletion"/>
|
||||||
|
</enum>
|
||||||
|
|
||||||
<enum name="ZeroSuggestEligibility">
|
<enum name="ZeroSuggestEligibility">
|
||||||
<int value="0" label="Eligible for current context and external conditions">
|
<int value="0" label="Eligible for current context and external conditions">
|
||||||
Zero-prefix suggestions are eligible.
|
Zero-prefix suggestions are eligible.
|
||||||
@@ -381,22 +376,23 @@ chromium-metrics-reviews@google.com.
|
|||||||
</int>
|
</int>
|
||||||
</enum>
|
</enum>
|
||||||
|
|
||||||
<enum name="ZeroSuggestProviderEvent">
|
<enum name="ZeroSuggestRequestEvent">
|
||||||
<int value="0" label="cached response converted to results">
|
<int value="0" label="cached response converted to results">
|
||||||
Cached response was synchronously converted to displayed matches.
|
Cached response was synchronously converted to displayed matches.
|
||||||
</int>
|
</int>
|
||||||
<int value="1" label="request sent">Remote request was sent.</int>
|
<int value="1" label="request sent">Request was sent.</int>
|
||||||
<int value="2" label="request invalidated">
|
<int value="2" label="request invalidated">
|
||||||
Remote request was invalidated (due to user starting to type or another
|
Request was invalidated (cancelled because URLLoader was deleted before the
|
||||||
zero-suggest request).
|
callback was invoked).
|
||||||
</int>
|
</int>
|
||||||
<int value="3" label="response received">
|
<int value="3" label="response received">
|
||||||
Remote response was received asynchronously.
|
Response was received asynchronously.
|
||||||
</int>
|
</int>
|
||||||
<int value="4" label="response cached">Remote response was cached.</int>
|
<int value="4" label="response cached">Response was cached.</int>
|
||||||
<int value="5" label="response converted to results">
|
<int value="5" label="response converted to results">
|
||||||
Remote response ended up being converted to displayed matches. This may
|
Response was converted to displayed matches. This can happen if the
|
||||||
happen due to an empty displayed result set or an empty remote result set.
|
displayed result set is empty and the response result set is non-empty; or
|
||||||
|
vice versa.
|
||||||
</int>
|
</int>
|
||||||
</enum>
|
</enum>
|
||||||
|
|
||||||
|
@@ -638,12 +638,12 @@ chromium-metrics-reviews@google.com.
|
|||||||
</histogram>
|
</histogram>
|
||||||
|
|
||||||
<histogram name="Omnibox.DocumentSuggest.Requests"
|
<histogram name="Omnibox.DocumentSuggest.Requests"
|
||||||
enum="OmniboxDocumentSuggestRequests" expires_after="2024-06-30">
|
enum="DocumentSuggestRequestEvent" expires_after="2024-06-30">
|
||||||
<owner>manukh@chromium.org</owner>
|
<owner>manukh@chromium.org</owner>
|
||||||
<owner>jdonnelly@chromium.org</owner>
|
<owner>jdonnelly@chromium.org</owner>
|
||||||
<summary>
|
<summary>
|
||||||
Counts the number of document suggest requests the omnibox sent, were
|
Counts the number of requests DocumentProvider sent, were invalidated, and
|
||||||
invalidated, and were completed successfully.
|
were completed successfully.
|
||||||
</summary>
|
</summary>
|
||||||
</histogram>
|
</histogram>
|
||||||
|
|
||||||
@@ -1602,6 +1602,17 @@ chromium-metrics-reviews@google.com.
|
|||||||
</summary>
|
</summary>
|
||||||
</histogram>
|
</histogram>
|
||||||
|
|
||||||
|
<histogram name="Omnibox.SearchSuggest.Requests"
|
||||||
|
enum="SearchSuggestRequestEvent" expires_after="2024-06-30">
|
||||||
|
<owner>mpearson@chromium.org</owner>
|
||||||
|
<owner>jdonnelly@chromium.org</owner>
|
||||||
|
<owner>cch@chromium.org</owner>
|
||||||
|
<summary>
|
||||||
|
Counts the number of requests SearchProvider sent, were invalidated, and
|
||||||
|
were completed successfully.
|
||||||
|
</summary>
|
||||||
|
</histogram>
|
||||||
|
|
||||||
<histogram name="Omnibox.SetText.Duration" units="ms"
|
<histogram name="Omnibox.SetText.Duration" units="ms"
|
||||||
expires_after="2024-06-01">
|
expires_after="2024-06-01">
|
||||||
<owner>peilinwang@google.com</owner>
|
<owner>peilinwang@google.com</owner>
|
||||||
@@ -2173,14 +2184,14 @@ chromium-metrics-reviews@google.com.
|
|||||||
</summary>
|
</summary>
|
||||||
</histogram>
|
</histogram>
|
||||||
|
|
||||||
<histogram name="Omnibox.SuggestRequests" enum="OmniboxSuggestRequests"
|
<histogram name="Omnibox.SuggestRequestsSent" enum="SuggestRequestType"
|
||||||
expires_after="2024-06-30">
|
expires_after="2025-01-31">
|
||||||
<owner>mpearson@chromium.org</owner>
|
<owner>mahmadi@chromium.org</owner>
|
||||||
<owner>jdonnelly@chromium.org</owner>
|
<owner>chrome-omnibox-team@google.com</owner>
|
||||||
<owner>cch@chromium.org</owner>
|
|
||||||
<summary>
|
<summary>
|
||||||
Counts about the number of suggest requests the omnibox sent, invalidated,
|
Counts the number and type of requests sent by the omnibox to the Suggest
|
||||||
and replies received.
|
backends. These requests are emitted as the user types or in zero-suggest
|
||||||
|
context (user has focused or cleared the omnibox but has not typed in yet).
|
||||||
</summary>
|
</summary>
|
||||||
</histogram>
|
</histogram>
|
||||||
|
|
||||||
@@ -2473,7 +2484,7 @@ chromium-metrics-reviews@google.com.
|
|||||||
</histogram>
|
</histogram>
|
||||||
|
|
||||||
<histogram name="Omnibox.ZeroSuggestProvider.{ResultType}.{RequestType}"
|
<histogram name="Omnibox.ZeroSuggestProvider.{ResultType}.{RequestType}"
|
||||||
enum="ZeroSuggestProviderEvent" expires_after="2024-06-30">
|
enum="ZeroSuggestRequestEvent" expires_after="2024-06-30">
|
||||||
<owner>mahmadi@chromium.org</owner>
|
<owner>mahmadi@chromium.org</owner>
|
||||||
<owner>chrome-omnibox-team@google.com</owner>
|
<owner>chrome-omnibox-team@google.com</owner>
|
||||||
<summary>
|
<summary>
|
||||||
|
Reference in New Issue
Block a user