[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_prefs.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/pref_registry/pref_registry_syncable.h"
|
||||
#include "components/prefs/pref_service.h"
|
||||
@ -87,10 +87,9 @@ enum class DocumentProviderAllowedReason : int {
|
||||
kMaxValue = kInputLooksLikeUrl
|
||||
};
|
||||
|
||||
void LogOmniboxDocumentRequest(RemoteRequestHistogramValue request_value) {
|
||||
void LogOmniboxDocumentRequest(RemoteRequestEvent request_event) {
|
||||
base::UmaHistogramEnumeration("Omnibox.DocumentSuggest.Requests",
|
||||
request_value,
|
||||
RemoteRequestHistogramValue::kMaxValue);
|
||||
request_event);
|
||||
}
|
||||
|
||||
void LogTotalTime(base::TimeTicks start_time, bool interrupted) {
|
||||
@ -514,7 +513,7 @@ void DocumentProvider::Stop(bool clear_cached_results,
|
||||
loader_.reset();
|
||||
LogRequestTime(time_request_sent_, true);
|
||||
time_request_sent_ = base::TimeTicks();
|
||||
LogOmniboxDocumentRequest(RemoteRequestHistogramValue::kRequestInvalidated);
|
||||
LogOmniboxDocumentRequest(RemoteRequestEvent::kRequestInvalidated);
|
||||
}
|
||||
|
||||
// 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);
|
||||
|
||||
LogRequestTime(time_request_sent_, false);
|
||||
LogOmniboxDocumentRequest(
|
||||
RemoteRequestHistogramValue::kRemoteResponseReceived);
|
||||
LogOmniboxDocumentRequest(RemoteRequestEvent::kResponseReceived);
|
||||
base::UmaHistogramSparse("Omnibox.DocumentSuggest.HttpResponseCode",
|
||||
response_code);
|
||||
|
||||
@ -621,7 +619,7 @@ void DocumentProvider::OnDocumentSuggestionsLoaderAvailable(
|
||||
std::unique_ptr<network::SimpleURLLoader> loader) {
|
||||
time_request_sent_ = base::TimeTicks::Now();
|
||||
loader_ = std::move(loader);
|
||||
LogOmniboxDocumentRequest(RemoteRequestHistogramValue::kRequestSent);
|
||||
LogOmniboxDocumentRequest(RemoteRequestEvent::kRequestSent);
|
||||
}
|
||||
|
||||
// static
|
||||
|
@ -21,7 +21,6 @@
|
||||
#include "components/history/core/browser/history_types.h"
|
||||
#include "components/omnibox/browser/autocomplete_provider.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"
|
||||
|
||||
class AutocompleteProviderListener;
|
||||
|
@ -8,6 +8,7 @@
|
||||
#include <utility>
|
||||
|
||||
#include "base/functional/bind.h"
|
||||
#include "base/metrics/histogram_functions.h"
|
||||
#include "components/omnibox/browser/base_search_provider.h"
|
||||
#include "components/omnibox/browser/document_suggestions_service.h"
|
||||
#include "components/search_engines/template_url_service.h"
|
||||
@ -21,6 +22,10 @@
|
||||
|
||||
namespace {
|
||||
|
||||
void LogSuggestRequestSent(RemoteRequestType request_type) {
|
||||
base::UmaHistogramEnumeration("Omnibox.SuggestRequestsSent", request_type);
|
||||
}
|
||||
|
||||
void AddVariationHeaders(network::ResourceRequest* request) {
|
||||
// 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
|
||||
@ -59,6 +64,7 @@ GURL RemoteSuggestionsService::EndpointUrl(
|
||||
|
||||
std::unique_ptr<network::SimpleURLLoader>
|
||||
RemoteSuggestionsService::StartSuggestionsRequest(
|
||||
RemoteRequestType request_type,
|
||||
const TemplateURL* template_url,
|
||||
TemplateURLRef::SearchTermsArgs search_terms_args,
|
||||
const SearchTermsData& search_terms_data,
|
||||
@ -129,12 +135,13 @@ RemoteSuggestionsService::StartSuggestionsRequest(
|
||||
observer.OnSuggestRequestStarted(request_id, loader.get(),
|
||||
/*request_body*/ "");
|
||||
}
|
||||
|
||||
LogSuggestRequestSent(request_type);
|
||||
return loader;
|
||||
}
|
||||
|
||||
std::unique_ptr<network::SimpleURLLoader>
|
||||
RemoteSuggestionsService::StartZeroPrefixSuggestionsRequest(
|
||||
RemoteRequestType request_type,
|
||||
const TemplateURL* template_url,
|
||||
TemplateURLRef::SearchTermsArgs search_terms_args,
|
||||
const SearchTermsData& search_terms_data,
|
||||
@ -210,7 +217,7 @@ RemoteSuggestionsService::StartZeroPrefixSuggestionsRequest(
|
||||
observer.OnSuggestRequestStarted(request_id, loader.get(),
|
||||
/*request_body*/ "");
|
||||
}
|
||||
|
||||
LogSuggestRequestSent(request_type);
|
||||
return loader;
|
||||
}
|
||||
|
||||
@ -311,7 +318,7 @@ RemoteSuggestionsService::StartDeletionRequest(
|
||||
observer.OnSuggestRequestStarted(request_id, loader.get(),
|
||||
/*request_body*/ "");
|
||||
}
|
||||
|
||||
LogSuggestRequestSent(RemoteRequestType::kDeletion);
|
||||
return loader;
|
||||
}
|
||||
|
||||
@ -346,7 +353,7 @@ void RemoteSuggestionsService::OnDocumentSuggestionsLoaderAvailable(
|
||||
for (Observer& observer : observers_) {
|
||||
observer.OnSuggestRequestStarted(request_id, loader.get(), request_body);
|
||||
}
|
||||
|
||||
LogSuggestRequestSent(RemoteRequestType::kDocumentSuggest);
|
||||
std::move(start_callback).Run(std::move(loader));
|
||||
}
|
||||
|
||||
|
@ -28,8 +28,54 @@ class SimpleURLLoader;
|
||||
struct ResourceRequest;
|
||||
} // 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.
|
||||
// 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
|
||||
// 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.
|
||||
// `completion_callback` will be invoked when the transfer is done.
|
||||
std::unique_ptr<network::SimpleURLLoader> StartSuggestionsRequest(
|
||||
RemoteRequestType request_type,
|
||||
const TemplateURL* template_url,
|
||||
TemplateURLRef::SearchTermsArgs search_terms_args,
|
||||
const SearchTermsData& search_terms_data,
|
||||
@ -107,6 +154,7 @@ class RemoteSuggestionsService : public KeyedService {
|
||||
// `search_terms_data` is used to build the endpoint URL.
|
||||
// `completion_callback` will be invoked when the transfer is done.
|
||||
std::unique_ptr<network::SimpleURLLoader> StartZeroPrefixSuggestionsRequest(
|
||||
RemoteRequestType request_type,
|
||||
const TemplateURL* template_url,
|
||||
TemplateURLRef::SearchTermsArgs search_terms_args,
|
||||
const SearchTermsData& search_terms_data,
|
||||
|
@ -10,6 +10,7 @@
|
||||
#include "base/functional/bind.h"
|
||||
#include "base/memory/scoped_refptr.h"
|
||||
#include "base/test/bind.h"
|
||||
#include "base/test/metrics/histogram_tester.h"
|
||||
#include "base/test/task_environment.h"
|
||||
#include "components/search_engines/template_url_service.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);
|
||||
TemplateURLRef::SearchTermsArgs search_terms_args;
|
||||
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.search_terms_data(),
|
||||
base::BindOnce(&RemoteSuggestionsServiceTest::OnRequestComplete,
|
||||
@ -132,7 +134,8 @@ TEST_F(RemoteSuggestionsServiceTest, EnsureAttachCookies_Suggest) {
|
||||
/*prefs=*/nullptr, /*search_engine_choice_service=*/nullptr);
|
||||
TemplateURLRef::SearchTermsArgs search_terms_args;
|
||||
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.search_terms_data(),
|
||||
base::BindOnce(&RemoteSuggestionsServiceTest::OnRequestComplete,
|
||||
@ -157,7 +160,7 @@ TEST_F(RemoteSuggestionsServiceTest, EnsureAttachCookies_DeleteSuggest) {
|
||||
|
||||
RemoteSuggestionsService service(/*document_suggestions_service_=*/nullptr,
|
||||
GetUrlLoaderFactory());
|
||||
service.StartDeletionRequest(
|
||||
auto loader = service.StartDeletionRequest(
|
||||
"https://google.com/complete/delete",
|
||||
base::BindOnce(&RemoteSuggestionsServiceTest::OnRequestComplete,
|
||||
base::Unretained(this)));
|
||||
@ -183,7 +186,8 @@ TEST_F(RemoteSuggestionsServiceTest, EnsureBypassCache) {
|
||||
TemplateURLRef::SearchTermsArgs search_terms_args;
|
||||
search_terms_args.current_page_url = "https://www.google.com/";
|
||||
search_terms_args.bypass_cache = true;
|
||||
service.StartZeroPrefixSuggestionsRequest(
|
||||
auto loader = service.StartZeroPrefixSuggestionsRequest(
|
||||
RemoteRequestType::kZeroSuggest,
|
||||
template_url_service.GetDefaultSearchProvider(), search_terms_args,
|
||||
template_url_service.search_terms_data(),
|
||||
base::BindOnce(&RemoteSuggestionsServiceTest::OnRequestComplete,
|
||||
@ -202,6 +206,8 @@ TEST_F(RemoteSuggestionsServiceTest, EnsureBypassCache) {
|
||||
}
|
||||
|
||||
TEST_F(RemoteSuggestionsServiceTest, EnsureObservers) {
|
||||
base::HistogramTester histogram_tester;
|
||||
|
||||
TemplateURLService template_url_service(
|
||||
/*prefs=*/nullptr, /*search_engine_choice_service=*/nullptr);
|
||||
TemplateURLData template_url_data;
|
||||
@ -212,10 +218,9 @@ TEST_F(RemoteSuggestionsServiceTest, EnsureObservers) {
|
||||
|
||||
RemoteSuggestionsService service(/*document_suggestions_service_=*/nullptr,
|
||||
GetUrlLoaderFactory());
|
||||
|
||||
TestObserver observer(&service);
|
||||
|
||||
auto loader = service.StartZeroPrefixSuggestionsRequest(
|
||||
RemoteRequestType::kZeroSuggest,
|
||||
template_url_service.GetDefaultSearchProvider(),
|
||||
TemplateURLRef::SearchTermsArgs(),
|
||||
template_url_service.search_terms_data(),
|
||||
@ -236,6 +241,10 @@ TEST_F(RemoteSuggestionsServiceTest, EnsureObservers) {
|
||||
|
||||
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.
|
||||
ASSERT_EQ(observer.url().spec(), kRequestUrl);
|
||||
ASSERT_TRUE(observer.response_received());
|
||||
|
@ -69,10 +69,10 @@ using metrics::OmniboxEventProto;
|
||||
|
||||
namespace {
|
||||
|
||||
// Increments the appropriate value in the histogram by one.
|
||||
void LogOmniboxSuggestRequest(RemoteRequestHistogramValue request_value) {
|
||||
base::UmaHistogramEnumeration("Omnibox.SuggestRequests", request_value,
|
||||
RemoteRequestHistogramValue::kMaxValue);
|
||||
// Increments the appropriate event in the histogram by one.
|
||||
void LogOmniboxSuggestRequest(RemoteRequestEvent request_event) {
|
||||
base::UmaHistogramEnumeration("Omnibox.SearchSuggest.Requests",
|
||||
request_event);
|
||||
}
|
||||
|
||||
bool HasMultipleWords(const std::u16string& text) {
|
||||
@ -514,8 +514,7 @@ void SearchProvider::SortResults(bool is_keyword,
|
||||
}
|
||||
|
||||
void SearchProvider::LogLoadComplete(bool success, bool is_keyword) {
|
||||
LogOmniboxSuggestRequest(
|
||||
RemoteRequestHistogramValue::kRemoteResponseReceived);
|
||||
LogOmniboxSuggestRequest(RemoteRequestEvent::kResponseReceived);
|
||||
// Record response time for suggest requests sent to Google. We care
|
||||
// only about the common case: the Google default provider used in
|
||||
// non-keyword mode.
|
||||
@ -762,7 +761,7 @@ void SearchProvider::StartOrStopSuggestQuery(bool minimal_changes) {
|
||||
void SearchProvider::CancelLoader(
|
||||
std::unique_ptr<network::SimpleURLLoader>* loader) {
|
||||
if (*loader) {
|
||||
LogOmniboxSuggestRequest(RemoteRequestHistogramValue::kRequestInvalidated);
|
||||
LogOmniboxSuggestRequest(RemoteRequestEvent::kRequestInvalidated);
|
||||
loader->reset();
|
||||
}
|
||||
}
|
||||
@ -924,7 +923,7 @@ std::unique_ptr<network::SimpleURLLoader> SearchProvider::CreateSuggestLoader(
|
||||
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
|
||||
// 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()
|
||||
->GetRemoteSuggestionsService(/*create_if_necessary=*/true)
|
||||
->StartSuggestionsRequest(
|
||||
input.IsZeroSuggest() ? RemoteRequestType::kSearchWarmup
|
||||
: RemoteRequestType::kSearch,
|
||||
template_url,
|
||||
input.IsZeroSuggest() ? TemplateURLRef::SearchTermsArgs()
|
||||
: search_term_args,
|
||||
|
@ -41,31 +41,6 @@ namespace network {
|
||||
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.
|
||||
//
|
||||
// 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/page_classification_functions.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/zero_suggest_cache_service.h"
|
||||
#include "components/omnibox/common/omnibox_features.h"
|
||||
@ -77,10 +76,9 @@ enum class Eligibility {
|
||||
kMaxValue = kGenerallyIneligible,
|
||||
};
|
||||
|
||||
void LogOmniboxZeroSuggestRequest(
|
||||
const RemoteRequestHistogramValue request_value,
|
||||
const ResultType result_type,
|
||||
const bool is_prefetch) {
|
||||
void LogOmniboxZeroSuggestRequest(const RemoteRequestEvent request_event,
|
||||
const ResultType result_type,
|
||||
const bool is_prefetch) {
|
||||
DCHECK_NE(ResultType::kNone, result_type);
|
||||
|
||||
const std::string result_type_string =
|
||||
@ -89,7 +87,7 @@ void LogOmniboxZeroSuggestRequest(
|
||||
is_prefetch ? ".Prefetch" : ".NonPrefetch";
|
||||
base::UmaHistogramEnumeration(
|
||||
"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.
|
||||
@ -211,9 +209,8 @@ bool StoreRemoteResponse(const std::string& response_json,
|
||||
: std::string();
|
||||
client->GetZeroSuggestCacheService()->StoreZeroSuggestResponse(page_url,
|
||||
response_json);
|
||||
LogOmniboxZeroSuggestRequest(
|
||||
RemoteRequestHistogramValue::kRemoteResponseCached, result_type,
|
||||
is_prefetch);
|
||||
LogOmniboxZeroSuggestRequest(RemoteRequestEvent::kResponseCached, result_type,
|
||||
is_prefetch);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -404,9 +401,9 @@ void ZeroSuggestProvider::StartPrefetch(const AutocompleteInput& input) {
|
||||
}
|
||||
|
||||
if (*prefetch_loader) {
|
||||
LogOmniboxZeroSuggestRequest(
|
||||
RemoteRequestHistogramValue::kRequestInvalidated, result_type,
|
||||
/*is_prefetch=*/true);
|
||||
LogOmniboxZeroSuggestRequest(RemoteRequestEvent::kRequestInvalidated,
|
||||
result_type,
|
||||
/*is_prefetch=*/true);
|
||||
}
|
||||
|
||||
// Create a loader for the appropriate page context and take ownership of it.
|
||||
@ -414,14 +411,13 @@ void ZeroSuggestProvider::StartPrefetch(const AutocompleteInput& input) {
|
||||
client()
|
||||
->GetRemoteSuggestionsService(/*create_if_necessary=*/true)
|
||||
->StartZeroPrefixSuggestionsRequest(
|
||||
template_url, search_terms_args,
|
||||
template_url_service->search_terms_data(),
|
||||
RemoteRequestType::kZeroSuggestPrefetch, template_url,
|
||||
search_terms_args, template_url_service->search_terms_data(),
|
||||
base::BindOnce(&ZeroSuggestProvider::OnPrefetchURLLoadComplete,
|
||||
weak_ptr_factory_.GetWeakPtr(), input,
|
||||
result_type));
|
||||
|
||||
LogOmniboxZeroSuggestRequest(RemoteRequestHistogramValue::kRequestSent,
|
||||
result_type,
|
||||
LogOmniboxZeroSuggestRequest(RemoteRequestEvent::kRequestSent, result_type,
|
||||
/*is_prefetch=*/true);
|
||||
}
|
||||
|
||||
@ -444,7 +440,7 @@ void ZeroSuggestProvider::Start(const AutocompleteInput& input,
|
||||
if (ReadStoredResponse(client(), input, result_type_running_, &results)) {
|
||||
ConvertSuggestResultsToAutocompleteMatches(results, input);
|
||||
LogOmniboxZeroSuggestRequest(
|
||||
RemoteRequestHistogramValue::kCachedResponseConvertedToMatches,
|
||||
RemoteRequestEvent::kCachedResponseConvertedToMatches,
|
||||
result_type_running_,
|
||||
/*is_prefetch=*/false);
|
||||
}
|
||||
@ -471,16 +467,17 @@ void ZeroSuggestProvider::Start(const AutocompleteInput& input,
|
||||
: std::string();
|
||||
|
||||
// Create a loader for the request and take ownership of it.
|
||||
loader_ = client()
|
||||
->GetRemoteSuggestionsService(/*create_if_necessary=*/true)
|
||||
->StartZeroPrefixSuggestionsRequest(
|
||||
template_url, search_terms_args,
|
||||
template_url_service->search_terms_data(),
|
||||
base::BindOnce(&ZeroSuggestProvider::OnURLLoadComplete,
|
||||
weak_ptr_factory_.GetWeakPtr(), input,
|
||||
result_type_running_));
|
||||
loader_ =
|
||||
client()
|
||||
->GetRemoteSuggestionsService(/*create_if_necessary=*/true)
|
||||
->StartZeroPrefixSuggestionsRequest(
|
||||
RemoteRequestType::kZeroSuggest, template_url, search_terms_args,
|
||||
template_url_service->search_terms_data(),
|
||||
base::BindOnce(&ZeroSuggestProvider::OnURLLoadComplete,
|
||||
weak_ptr_factory_.GetWeakPtr(), input,
|
||||
result_type_running_));
|
||||
|
||||
LogOmniboxZeroSuggestRequest(RemoteRequestHistogramValue::kRequestSent,
|
||||
LogOmniboxZeroSuggestRequest(RemoteRequestEvent::kRequestSent,
|
||||
result_type_running_,
|
||||
/*is_prefetch=*/false);
|
||||
}
|
||||
@ -490,9 +487,9 @@ void ZeroSuggestProvider::Stop(bool clear_cached_results,
|
||||
AutocompleteProvider::Stop(clear_cached_results, due_to_user_inactivity);
|
||||
|
||||
if (loader_) {
|
||||
LogOmniboxZeroSuggestRequest(
|
||||
RemoteRequestHistogramValue::kRequestInvalidated, result_type_running_,
|
||||
/*is_prefetch=*/false);
|
||||
LogOmniboxZeroSuggestRequest(RemoteRequestEvent::kRequestInvalidated,
|
||||
result_type_running_,
|
||||
/*is_prefetch=*/false);
|
||||
loader_.reset();
|
||||
}
|
||||
result_type_running_ = ResultType::kNone;
|
||||
@ -558,9 +555,9 @@ void ZeroSuggestProvider::OnURLLoadComplete(
|
||||
return;
|
||||
}
|
||||
|
||||
LogOmniboxZeroSuggestRequest(
|
||||
RemoteRequestHistogramValue::kRemoteResponseReceived, result_type,
|
||||
/*is_prefetch=*/false);
|
||||
LogOmniboxZeroSuggestRequest(RemoteRequestEvent::kResponseReceived,
|
||||
result_type,
|
||||
/*is_prefetch=*/false);
|
||||
|
||||
SearchSuggestionParser::Results results;
|
||||
const bool response_parsed = StoreRemoteResponse(
|
||||
@ -588,10 +585,9 @@ void ZeroSuggestProvider::OnURLLoadComplete(
|
||||
|
||||
// Convert the response to |matches_| and notify the listeners.
|
||||
ConvertSuggestResultsToAutocompleteMatches(results, input);
|
||||
LogOmniboxZeroSuggestRequest(
|
||||
RemoteRequestHistogramValue::kRemoteResponseConvertedToMatches,
|
||||
result_type,
|
||||
/*is_prefetch=*/false);
|
||||
LogOmniboxZeroSuggestRequest(RemoteRequestEvent::kResponseConvertedToMatches,
|
||||
result_type,
|
||||
/*is_prefetch=*/false);
|
||||
NotifyListeners(/*updated_matches=*/true);
|
||||
}
|
||||
|
||||
@ -615,9 +611,9 @@ void ZeroSuggestProvider::OnPrefetchURLLoadComplete(
|
||||
DCHECK_EQ(prefetch_loader->get(), source);
|
||||
|
||||
if (response_code == 200) {
|
||||
LogOmniboxZeroSuggestRequest(
|
||||
RemoteRequestHistogramValue::kRemoteResponseReceived, result_type,
|
||||
/*is_prefetch=*/true);
|
||||
LogOmniboxZeroSuggestRequest(RemoteRequestEvent::kResponseReceived,
|
||||
result_type,
|
||||
/*is_prefetch=*/true);
|
||||
|
||||
SearchSuggestionParser::Results unused_results;
|
||||
StoreRemoteResponse(SearchSuggestionParser::ExtractJsonData(
|
||||
|
@ -14,7 +14,6 @@
|
||||
|
||||
#include "base/gtest_prod_util.h"
|
||||
#include "components/omnibox/browser/base_search_provider.h"
|
||||
#include "components/omnibox/browser/search_provider.h"
|
||||
|
||||
class AutocompleteProviderListener;
|
||||
class PrefRegistrySimple;
|
||||
|
@ -1249,7 +1249,7 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestCachingFirstRunNTP) {
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch", /*kRequestSent*/ 1, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||
/*kRemoteResponseReceived*/ 3, 1);
|
||||
/*kResponseReceived*/ 3, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||
/*kRemoteResponseCached*/ 4, 1);
|
||||
@ -1315,7 +1315,7 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestCachingFirstRunSRP) {
|
||||
1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||
/*kRemoteResponseReceived*/ 3, 1);
|
||||
/*kResponseReceived*/ 3, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||
/*kRemoteResponseCached*/ 4, 1);
|
||||
@ -1382,7 +1382,7 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestCachingFirstRunWeb) {
|
||||
1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||
/*kRemoteResponseReceived*/ 3, 1);
|
||||
/*kResponseReceived*/ 3, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||
/*kRemoteResponseCached*/ 4, 1);
|
||||
@ -1579,7 +1579,7 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestHasCachedResultsNTP) {
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch", /*kRequestSent*/ 1, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||
/*kRemoteResponseReceived*/ 3, 1);
|
||||
/*kResponseReceived*/ 3, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||
/*kRemoteResponseCached*/ 4, 1);
|
||||
@ -1657,7 +1657,7 @@ TEST_F(ZeroSuggestProviderTest, TestZeroSuggestHasInMemoryCachedResultsNTP) {
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch", /*kRequestSent*/ 1, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||
/*kRemoteResponseReceived*/ 3, 1);
|
||||
/*kResponseReceived*/ 3, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||
/*kRemoteResponseCached*/ 4, 1);
|
||||
@ -1741,7 +1741,7 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestHasCachedResultsSRP) {
|
||||
1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||
/*kRemoteResponseReceived*/ 3, 1);
|
||||
/*kResponseReceived*/ 3, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||
/*kRemoteResponseCached*/ 4, 1);
|
||||
@ -1827,7 +1827,7 @@ TEST_F(ZeroSuggestProviderTest, TestZeroSuggestHasInMemoryCachedResultsSRP) {
|
||||
1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||
/*kRemoteResponseReceived*/ 3, 1);
|
||||
/*kResponseReceived*/ 3, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||
/*kRemoteResponseCached*/ 4, 1);
|
||||
@ -1912,7 +1912,7 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestHasCachedResultsWeb) {
|
||||
1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||
/*kRemoteResponseReceived*/ 3, 1);
|
||||
/*kResponseReceived*/ 3, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||
/*kRemoteResponseCached*/ 4, 1);
|
||||
@ -1998,7 +1998,7 @@ TEST_F(ZeroSuggestProviderTest, TestZeroSuggestHasInMemoryCachedResultsWeb) {
|
||||
1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||
/*kRemoteResponseReceived*/ 3, 1);
|
||||
/*kResponseReceived*/ 3, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||
/*kRemoteResponseCached*/ 4, 1);
|
||||
@ -2073,7 +2073,7 @@ TEST_F(ZeroSuggestProviderTest,
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch", /*kRequestSent*/ 1, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||
/*kRemoteResponseReceived*/ 3, 1);
|
||||
/*kResponseReceived*/ 3, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||
/*kRemoteResponseCached*/ 4, 1);
|
||||
@ -2154,7 +2154,7 @@ TEST_F(ZeroSuggestProviderTest,
|
||||
1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||
/*kRemoteResponseReceived*/ 3, 1);
|
||||
/*kResponseReceived*/ 3, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||
/*kRemoteResponseCached*/ 4, 1);
|
||||
@ -2236,7 +2236,7 @@ TEST_F(ZeroSuggestProviderTest,
|
||||
1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||
/*kRemoteResponseReceived*/ 3, 1);
|
||||
/*kResponseReceived*/ 3, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||
/*kRemoteResponseCached*/ 4, 1);
|
||||
@ -2310,7 +2310,7 @@ TEST_F(ZeroSuggestProviderTest, TestZeroSuggestReceivedInvalidResults) {
|
||||
invalid_responses.size());
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||
/*kRemoteResponseReceived*/ 3, invalid_responses.size());
|
||||
/*kResponseReceived*/ 3, invalid_responses.size());
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||
/*kRemoteResponseCached*/ 4, 0);
|
||||
@ -2369,7 +2369,7 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestPrefetchThenNTPOnFocus) {
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.Prefetch", /*kRequestSent*/ 1, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.Prefetch",
|
||||
/*kRemoteResponseReceived*/ 3, 1);
|
||||
/*kResponseReceived*/ 3, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.Prefetch",
|
||||
/*kRemoteResponseCached*/ 4, 1);
|
||||
@ -2430,7 +2430,7 @@ TEST_F(ZeroSuggestProviderTest, TestPsuggestZeroSuggestPrefetchThenNTPOnFocus) {
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch", /*kRequestSent*/ 1, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||
/*kRemoteResponseReceived*/ 3, 1);
|
||||
/*kResponseReceived*/ 3, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||
/*kRemoteResponseCached*/ 4, 1);
|
||||
@ -2519,7 +2519,7 @@ TEST_F(ZeroSuggestProviderTest, TestMultipleZeroSuggestPrefetchesInFlight) {
|
||||
/*kRequestInvalidated*/ 2, 0);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.Prefetch",
|
||||
/*kRemoteResponseReceived*/ 3, 1);
|
||||
/*kResponseReceived*/ 3, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.Prefetch",
|
||||
/*kRemoteResponseCached*/ 4, 1);
|
||||
@ -2531,7 +2531,7 @@ TEST_F(ZeroSuggestProviderTest, TestMultipleZeroSuggestPrefetchesInFlight) {
|
||||
0);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.Prefetch",
|
||||
/*kRemoteResponseReceived*/ 3, 1);
|
||||
/*kResponseReceived*/ 3, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.Prefetch",
|
||||
/*kRemoteResponseCached*/ 4, 1);
|
||||
@ -2613,7 +2613,7 @@ TEST_F(ZeroSuggestProviderTest,
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.Prefetch", /*kRequestSent*/ 1, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.Prefetch",
|
||||
/*kRemoteResponseReceived*/ 3, 1);
|
||||
/*kResponseReceived*/ 3, 1);
|
||||
|
||||
// Expect the provider to not have notified the provider listener since the
|
||||
// matches were not updated.
|
||||
@ -2669,7 +2669,7 @@ TEST_F(ZeroSuggestProviderTest,
|
||||
1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||
/*kRemoteResponseReceived*/ 3, 1);
|
||||
/*kResponseReceived*/ 3, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||
/*kRemoteResponseConvertedToMatches*/ 5, 1);
|
||||
@ -2749,7 +2749,7 @@ TEST_F(ZeroSuggestProviderTest,
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.Prefetch", /*kRequestSent*/ 1, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.Prefetch",
|
||||
/*kRemoteResponseReceived*/ 3, 1);
|
||||
/*kResponseReceived*/ 3, 1);
|
||||
|
||||
// Expect the provider to not have notified the provider listener since the
|
||||
// matches were not updated.
|
||||
@ -2804,7 +2804,7 @@ TEST_F(ZeroSuggestProviderTest,
|
||||
1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||
/*kRemoteResponseReceived*/ 3, 1);
|
||||
/*kResponseReceived*/ 3, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.URLBased.NonPrefetch",
|
||||
/*kRemoteResponseConvertedToMatches*/ 5, 1);
|
||||
@ -2889,7 +2889,7 @@ TEST_F(ZeroSuggestProviderTest, TestNoURLResultTypeWithNonEmptyURLInput) {
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch", /*kRequestSent*/ 1, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||
/*kRemoteResponseReceived*/ 3, 1);
|
||||
/*kResponseReceived*/ 3, 1);
|
||||
histogram_tester.ExpectBucketCount(
|
||||
"Omnibox.ZeroSuggestProvider.NoURL.NonPrefetch",
|
||||
/*kRemoteResponseCached*/ 4, 1);
|
||||
|
@ -76,7 +76,8 @@ class ImageService::SuggestEntityImageURLFetcher {
|
||||
search_terms_args.search_terms = search_query_;
|
||||
|
||||
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,
|
||||
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"/>
|
||||
</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">
|
||||
<summary>
|
||||
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"/>
|
||||
</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">
|
||||
<int value="0" label="invalid"/>
|
||||
<int value="1" label="via tab"/>
|
||||
@ -159,37 +164,6 @@ chromium-metrics-reviews@google.com.
|
||||
<int value="4" label="Shortcut text prefix"/>
|
||||
</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">
|
||||
<int value="0" label="Prefetch started"/>
|
||||
<int value="1" label="User disabled prefetch/preconnect"/>
|
||||
@ -250,6 +224,17 @@ chromium-metrics-reviews@google.com.
|
||||
<int value="3" label="kCompleted"/>
|
||||
</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">
|
||||
<summary>
|
||||
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"/>
|
||||
</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">
|
||||
<int value="0" label="Eligible for current context and external conditions">
|
||||
Zero-prefix suggestions are eligible.
|
||||
@ -381,22 +376,23 @@ chromium-metrics-reviews@google.com.
|
||||
</int>
|
||||
</enum>
|
||||
|
||||
<enum name="ZeroSuggestProviderEvent">
|
||||
<enum name="ZeroSuggestRequestEvent">
|
||||
<int value="0" label="cached response converted to results">
|
||||
Cached response was synchronously converted to displayed matches.
|
||||
</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">
|
||||
Remote request was invalidated (due to user starting to type or another
|
||||
zero-suggest request).
|
||||
Request was invalidated (cancelled because URLLoader was deleted before the
|
||||
callback was invoked).
|
||||
</int>
|
||||
<int value="3" label="response received">
|
||||
Remote response was received asynchronously.
|
||||
Response was received asynchronously.
|
||||
</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">
|
||||
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.
|
||||
Response was converted to displayed matches. This can happen if the
|
||||
displayed result set is empty and the response result set is non-empty; or
|
||||
vice versa.
|
||||
</int>
|
||||
</enum>
|
||||
|
||||
|
@ -638,12 +638,12 @@ chromium-metrics-reviews@google.com.
|
||||
</histogram>
|
||||
|
||||
<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>jdonnelly@chromium.org</owner>
|
||||
<summary>
|
||||
Counts the number of document suggest requests the omnibox sent, were
|
||||
invalidated, and were completed successfully.
|
||||
Counts the number of requests DocumentProvider sent, were invalidated, and
|
||||
were completed successfully.
|
||||
</summary>
|
||||
</histogram>
|
||||
|
||||
@ -1602,6 +1602,17 @@ chromium-metrics-reviews@google.com.
|
||||
</summary>
|
||||
</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"
|
||||
expires_after="2024-06-01">
|
||||
<owner>peilinwang@google.com</owner>
|
||||
@ -2173,14 +2184,14 @@ chromium-metrics-reviews@google.com.
|
||||
</summary>
|
||||
</histogram>
|
||||
|
||||
<histogram name="Omnibox.SuggestRequests" enum="OmniboxSuggestRequests"
|
||||
expires_after="2024-06-30">
|
||||
<owner>mpearson@chromium.org</owner>
|
||||
<owner>jdonnelly@chromium.org</owner>
|
||||
<owner>cch@chromium.org</owner>
|
||||
<histogram name="Omnibox.SuggestRequestsSent" enum="SuggestRequestType"
|
||||
expires_after="2025-01-31">
|
||||
<owner>mahmadi@chromium.org</owner>
|
||||
<owner>chrome-omnibox-team@google.com</owner>
|
||||
<summary>
|
||||
Counts about the number of suggest requests the omnibox sent, invalidated,
|
||||
and replies received.
|
||||
Counts the number and type of requests sent by the omnibox to the Suggest
|
||||
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>
|
||||
</histogram>
|
||||
|
||||
@ -2473,7 +2484,7 @@ chromium-metrics-reviews@google.com.
|
||||
</histogram>
|
||||
|
||||
<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>chrome-omnibox-team@google.com</owner>
|
||||
<summary>
|
||||
|
Reference in New Issue
Block a user