blob: 1fa182b8ac3edf9ba6998a662387df9a7765cd35 [file] [log] [blame]
<!--
Copyright 2020 The Chromium Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<!--
This file is used to generate a comprehensive list of Omnibox histograms
along with a detailed description for each histogram.
For best practices on writing histogram descriptions, see
https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md
Please send CLs to chromium-metrics-reviews@google.com rather than to specific
individuals. These CLs will be automatically reassigned to a reviewer within
about 5 minutes. This approach helps the metrics team to load-balance incoming
reviews. Googlers can read more about this at go/gwsq-gerrit.
-->
<histogram-configuration>
<histograms>
<histogram name="Omnibox.AnswerParseSuccess" enum="BooleanSuccess"
expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
For each answer received in suggest responses, the number that are
well-formed and contain all the required elements.
</summary>
</histogram>
<histogram name="Omnibox.AnswerParseType" enum="SuggestionAnswerType"
expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
The number of times each omnibox suggestion answer type (e.g., weather,
sports score) was received and parsed successfully. Can be normalized with
the count of emits to Omnibox.SuggestRequest.Success.GoogleResponseTime,
which counts all successful suggest responses from Google, not just those
with answers attached. Note that GoogleResponseTime is technically off given
that it will still count cases where we fail to extract, deserialize, or
parse the response. But these cases are rare to non-existent.
</summary>
</histogram>
<histogram name="Omnibox.BitmapFetchLatency" units="ms"
expires_after="2021-08-29">
<!-- Name completed by histogram_suffixes name="Omnibox.BitmapFetchLatencyCacheSplit" -->
<owner>manukh@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
The time elapsed between the ChromeOmniboxClient requesting a suggestion's
image to receiving the image. This includes both uncached and cached
requests. See BitmapFetcher.Fetch and BitmapFetcher.Decode for what
contributes to uncached images latency; however, the sum of those metrics
can be greater than this metric as image prefetching begins before the
ChromeOmniboxClient requests an image.
</summary>
</histogram>
<histogram name="Omnibox.CharTypedToRepaintLatency" units="ms"
expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>asvitkine@chromium.org</owner>
<summary>
Records the time taken between a keystroke being typed in the omnibox and
the text being painted. If there are multiple keystrokes before a paint,
logs the time since the earliest one.
This duration is composed of three parts:
a) the time spent processing the initial input event
b) the time spent for the repaint task to be scheduled on the message loop
c) the time spent painting the Omnibox
d) (on views platforms) the time until the pixels are actually composited
There's a number of breakdown metrics to help diagnose a regression. First,
Omnibox.CharTypedToRepaintLatency.ToPaint measures the combined time of (a)
and (b). Omnibox.QueryTime2 is a good proxy for just (a). And there's also
Omnibox.PaintTime that corresponds to (c). We don't have a direct metric for
(d), but if neither Omnibox.CharTypedToRepaintLatency.ToPaint nor
Omnibox.PaintTime regressed, then the regression must be in (d).
Note: The semantics of this metric on views platforms changed in M62, as
previously time (d) was not included in the metric.
</summary>
</histogram>
<histogram name="Omnibox.CharTypedToRepaintLatency.InsertToPresent" units="ms"
expires_after="2021-08-29">
<owner>asvitkine@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<summary>
A refinement of Omnibox.CharTypedToRepaintLatency metric. It measures the
time between the first character insertion in a series that happen during a
frame, to the time the compositor reports the text was rendered on-screen.
Compositor-provided timestamps are used for this version of the metric, so
it is expected to be more accurate: the baseline CharTypedToRepaintLatency
uses now() from when the subsequent has-processed notification arrives back
on the UI thread, which may overestimate user-visible latency.
</summary>
</histogram>
<histogram name="Omnibox.CharTypedToRepaintLatency.PaintToPresent" units="ms"
expires_after="2021-06-30">
<owner>asvitkine@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<summary>
Records the time between when OnPaint() is called to the time the compositor
reports pixels were successfully drawn to the screen. This a subset of the
time reported in Omnibox.CharTypedToRepaintLatency.InsertToPresent.
</summary>
</histogram>
<histogram name="Omnibox.CharTypedToRepaintLatency.ToPaint" units="ms"
expires_after="2021-08-29">
<owner>asvitkine@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<summary>
Records the time taken between a keystroke being typed in the omnibox and
the time when we're ready to paint the omnibox. This is a breakdown
diagnostic metric for Omnibox.CharTypedToRepaintLatency, to help diagnose
regressions in that metric. See that metric's description for more info.
</summary>
</histogram>
<histogram name="Omnibox.ClipboardSuggestionRemovedAge" units="ms"
expires_after="2021-09-01">
<owner>gangwu@chromium.org</owner>
<owner>fgorski@chromium.org</owner>
<summary>
Recorded every time the clipboard suggestion is removed from omnibox
suggestion list and the system clipboard. The value indicates the estimated
age of the clipboard.
</summary>
</histogram>
<histogram name="Omnibox.ClipboardSuggestionShownAge" units="ms"
expires_after="2021-09-19">
<owner>gangwu@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<summary>
Recorded every time the omnibox is focussed and recent content from the
user's clipboard is suggested. The value indicates the estimated age of the
clipboard. (If Chrome observed the clipboard modification, this age is
exact. If Chrome did not observe the modification, then it's a conservative
estimate: the last time Chrome observed a clipboard modification, which is
certainly older than the current clipboard. If Chrome never observed a
clipboard modification, no clipboard suggestion is shown, meaning this
histogram will never be emitted to.)
Intended to be compared with MobileOmnibox.PressedClipboardSuggestionAge.
</summary>
</histogram>
<histogram name="Omnibox.ClipboardSuggestionShownNumTimes" units="units"
expires_after="2021-09-19">
<owner>gangwu@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<summary>
Recorded every time the omnibox is focussed and a recent content from the
user's clipboard is suggested. The number emitted is the number of times the
clipboard content has been suggested within the same session including the
current time. Thus, the third time it is shown, we'll emit a three to this
histogram, and this histogram will have previously seen emits of one and
two. If the clipboard content was the same during a previous run of Chrome
and this clipboard content was suggested during that run, those impressions
are not counted. Also, if the clipboard content changes during a particular
run of Chrome to other content, the omnibox is focused and that clipboard
content is suggested, then content changes back and Chrome starts suggesting
the older clipboard content again, the counts start again from scratch.
Chrome only remembers the number of times the clipboard content was shown
consecutively.
This value is useful to compare with the number of times a clipboard
suggestion has been shown when it is clicked. This value can be obtained
from OmniboxEvent records in which the selected suggestion is from Clipboard
provider. In those cases, look in the Clipboard provider's ProviderInfo
field for |times_returned_results_in_session|. Note that at the time of this
writing that OmniboxEvent logs aren't recorded in incognito whereas
histograms are. Thus, the total counts will not be comparable, though the
distributions should be.
</summary>
</histogram>
<histogram name="Omnibox.ClipboardSuggestionShownWithCurrentURL"
enum="BooleanPresent" expires_after="M93">
<owner>gangwu@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<summary>
Recorded every time the omnibox is focussed and a recent content from the
user's clipboard is suggested. The value indicates whether the current URL
was shown (which would appear above the clipboard suggestion) or was absent
(which ought to only happen when the omnibox is empty / the user is on the
NTP).
On Android, the total count for this histogram can be usefully compared with
the count of the user action FocusLocation in order to determine the rate at
which a clipboard suggestion is shown in the omnibox. To determine the same
rate on iOS, one needs to compare this histogram's count with the sum of the
user actions MobileFocusedOmniboxOnNtp, MobileFocusedFakeboxOnNtp, and
MobileFocusedOmniboxNotOnNtp.
Furthermore, on either platform, this histogram's count can be usefully
compared with the count in the clipboard bucket of the
Omnibox.SuggestionUsed.Provider histogram to determine the clickthrough rate
on these suggestions.
</summary>
</histogram>
<histogram name="Omnibox.CutOrCopyAllText" units="count"
expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
The number of cut or copy commands on all selected text in the omnibox.
Gathered on desktop platforms (Win, Mac, Linux, Chrome OS).
</summary>
</histogram>
<histogram name="Omnibox.DocumentSuggest.Requests"
enum="OmniboxDocumentSuggestRequests" expires_after="M95">
<owner>manukh@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<owner>skare@chromium.org</owner>
<summary>
Counts the number of document suggest requests the omnibox sent, were
invalidated, and were completed successfully.
</summary>
</histogram>
<histogram name="Omnibox.DocumentSuggest.ResultCount" units="count"
expires_after="M95">
<owner>manukh@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<owner>skare@chromium.org</owner>
<summary>
Number of results returned in each document suggestion reply. Logged for
successful requests where the provider returned a parseable result set.
</summary>
</histogram>
<histogram name="Omnibox.ElisionConfig" enum="OmniboxElisionConfig"
expires_after="M88">
<obsolete>
Removed 2020-10.
</obsolete>
<owner>livvielin@chromium.org</owner>
<owner>tommycli@chromium.org</owner>
<summary>
The state of URL elision in the omnibox, e.g. URL default behavior,
prevented by context menu option, or prevented by Chrome extension. This
histogram is recorded the first time ShouldPreventElision is called on
ChromeLocationBarModelDelegate with an existing profile. This occurs every
time a browser window is open, including when opening a new profile or
moving a tab to a new window. This metric measures the percentage of browser
windows that use each type of elision behavior.
</summary>
</histogram>
<histogram name="Omnibox.EnteredKeywordMode2" enum="OmniboxEnteredKeywordMode2"
expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
The new enumeration of how many times users enter keyword hint mode
&quot;Search ___ for:&quot; and how. Note that we don't recognize the
changing of the keyword itself as entering keyword mode, if the user never
left keyword mode e.g. if the user was arrowing around the suggestions, so
we'll preserve the original keyword mode entry method in this case.
</summary>
</histogram>
<histogram name="Omnibox.FocusResultedInNavigation" enum="BooleanNavigated"
expires_after="2021-08-29">
<owner>ender@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>tommycli@chromium.org</owner>
<summary>
This records whether user initiated navigation after focusing the Omnibox
versus switches focus elsewhere without navigating. This metric includes
accidental focus-then-losing-focus events, including brief ones. It also
includes ones in which the user did not type any text or otherwise engage
with the Omnibox. E.g., the user tabbing through all top Chrome UI controls
will cause this metric to be recorded. If the user switches focus from the
Chrome window to another window while the Omnibox is focussed, that also
counts as a loss of focus.
This metric is not recorded for the Realbox interactions.
Recorded every time the Omnibox focus is cleared.
</summary>
</histogram>
<histogram name="Omnibox.FocusToEditTime" units="ms" expires_after="2021-06-30">
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
The length of time between when a user focused on the omnibox and first
modifies the omnibox.
</summary>
</histogram>
<histogram name="Omnibox.FocusToOpenTimeAnyPopupState3" units="ms"
expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
The length of time between when a user focused on the omnibox and opened an
omnibox match (which could be what they typed or a suggestion). This is
recorded regardless of whether the omnibox dropdown (a.k.a. popup) is open.
It is not recorded if a match is opened without triggering a focus event,
e.g., when a user drags a URL to the omnibox to navigate.
To know how common this last condition is, compare the total count of this
histogram to the total number of omnibox events.
</summary>
</histogram>
<histogram name="Omnibox.HoverTime" units="ms" expires_after="M94">
<owner>estark@chromium.org</owner>
<owner>carlosil@chromium.org</owner>
<summary>
The time duration that the user hovers the mouse over the omnibox before
exiting the hover or focusing the omnibox. Whenever the user's mouse enters
the omnibox, this histogram is recorded when the mouse next exits or the
omnibox is focused, whichever comes first. The recorded value is a delta
from a timestamp noted when the user's mouse first entered the omnibox.
</summary>
</histogram>
<histogram name="Omnibox.IconOrFaviconShown" enum="SuggestionIconOrFaviconType"
expires_after="M83">
<obsolete>
Removed 2020-10.
</obsolete>
<owner>ender@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-android-omnibox-team@google.com</owner>
<summary>
Records suggestions decorated with specific icon or favicon at the time the
user exited the omnibox. Exiting the omnibox includes navigating (to entered
text or any suggestion), pressing the system back key, clearing omnibox,
blanking screen / locking the phone (whether intentionally or due to
inactivity), or closing the Chrome app. This metric is logged every time the
omnibox is exited, including when no answer is present in the list of
suggestions.
This histogram is related to Omnibox.SuggestionUsed.IconOrFaviconType.
</summary>
</histogram>
<histogram name="Omnibox.InputType" enum="OmniboxInputType"
expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
The kind of input the user provided when using the omnibox to go somewhere.
The type can be misleading. For example if the user typed 'http:/', it gets
marked as a query because it cannot be opened as a URL even though the user
probably wanted and selected a URL from the list of suggestions.
In M-74 and earlier, this was only recorded if the user had no incognito
windows open. In M-75 and later, it records all omnibox interactions
regardless, in order to be consistent with how user actions and histograms
are handled.
</summary>
</histogram>
<histogram name="Omnibox.IsPasteAndGo" enum="Boolean"
expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
Whether an omnibox interaction is a paste-and-search/paste-and-go action.
(This histogram records both of these in the &quot;True&quot; bucket for
this histogram because both of these are referred to as paste-and-go in the
code.) These typically involve right-clicking in the omnibox and selecting
that option from the dropdown.
In M-74 and earlier, this was only recorded if the user had no incognito
windows open. In M-75 and later, it records all omnibox interactions
regardless, in order to be consistent with how user actions and histograms
are handled.
</summary>
</histogram>
<histogram name="Omnibox.IsPopupOpen" enum="Boolean" expires_after="2021-08-29">
<owner>mpearson@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
Whether the omnibox popup (a.k.a. dropdown) is open at the time the user
used the omnibox to go somewhere. It can be closed if, for instance, the
user clicked in the omnibox and hit return to reload the same page. Also,
because paste-and-search/paste-and-go actions ignore the current content of
the omnibox dropdown (if it is open) when they happen, we pretend the
dropdown is closed when logging these.
In M-74 and earlier, this was only recorded if the user had no incognito
windows open. In M-75 and later, it records all omnibox interactions
regardless, in order to be consistent with how user actions and histograms
are handled.
</summary>
</histogram>
<histogram name="Omnibox.JustDeletedText" enum="Boolean"
expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
Whether the user deleted text immediately before selecting an omnibox
suggestion. This is usually the result of pressing backspace or delete.
In M-74 and earlier, this was only recorded if the user had no incognito
windows open. In M-75 and later, it records all omnibox interactions
regardless, in order to be consistent with how user actions and histograms
are handled.
</summary>
</histogram>
<histogram name="Omnibox.Lens.LensSupportStatus" enum="LensSupportStatus"
expires_after="2021-11-18">
<obsolete>
Removed 2021-03. Switch to use Omnibox.LensSupportStatus.
</obsolete>
<owner>yusuyoutube@google.com</owner>
<owner>benwgold@google.com</owner>
<owner>fgorski@chromium.org</owner>
<owner>wylieb@chromium.org</owner>
<owner>lens-chrome@google.com</owner>
<summary>
Whether the user supports the camera assisted search with Google Lens and if
not, the reason why. Recorded only if the feature is enabled when the
omnibox is loaded.
</summary>
</histogram>
<histogram name="Omnibox.Lens.TimeSpentInLens" units="ms" expires_after="M94">
<obsolete>
Removed 2021-03. Switch to use Omnibox.TimeSpentBeforeDismissLens.
</obsolete>
<owner>yusuyoutube@google.com</owner>
<owner>benwgold@google.com</owner>
<owner>fgorski@chromium.org</owner>
<owner>wylieb@chromium.org</owner>
<owner>lens-chrome@google.com</owner>
<summary>
Logged the elapsed time between the time when user enters the Google Lens
and the time when user returns to Chrome. Only logged on Android.
</summary>
</histogram>
<histogram name="Omnibox.LensSupportStatus" enum="LensSupportStatus"
expires_after="2021-11-18">
<owner>yusuyoutube@google.com</owner>
<owner>benwgold@google.com</owner>
<owner>fgorski@chromium.org</owner>
<owner>wylieb@chromium.org</owner>
<owner>lens-chrome@google.com</owner>
<summary>
Whether the user supports the camera assisted search with Google Lens and if
not, the reason why. Recorded only if the feature is enabled when the
omnibox is loaded.
</summary>
</histogram>
<histogram name="Omnibox.LocalHistoryZeroSuggest.AsyncDeleteTime" units="ms"
expires_after="2022-01-01">
<owner>mahmadi@chromium.org</owner>
<owner>tommycli@chromium.org</owner>
<summary>
The length of time it takes for the corresponding URLs that would produce a
deleted match to be queried asynchronously and deleted. Triggered when user
deletes a local history zero-prefix suggestion.
</summary>
</histogram>
<histogram name="Omnibox.LocalHistoryZeroSuggest.SearchTermsExtractedCount"
units="count" expires_after="2022-01-01">
<owner>mahmadi@chromium.org</owner>
<owner>tommycli@chromium.org</owner>
<summary>
The number of search terms extracted from the keyword search terms database
and examined (e.g., sorted) to produce local zero-prefix suggestions.
Triggered when zero-prefix suggestions are enabled and requested as a result
of user focus into the Omnibox or the Realbox on the NTP.
</summary>
</histogram>
<histogram name="Omnibox.LocalHistoryZeroSuggest.SearchTermsExtractionTime"
units="ms" expires_after="2022-01-01">
<owner>mahmadi@chromium.org</owner>
<owner>tommycli@chromium.org</owner>
<summary>
The length of time it takes to extract search terms from the keyword search
terms database and examine (e.g., sort) them to produce local zero-prefix
suggestions.
</summary>
</histogram>
<histogram name="Omnibox.LocalHistoryZeroSuggest.SyncDeleteTime" units="ms"
expires_after="2022-01-01">
<owner>mahmadi@chromium.org</owner>
<owner>tommycli@chromium.org</owner>
<summary>
The length of time it takes to handle the deletion request for a match and
to update the list of provider matches synchronously. Triggered when user
requests to delete a local history zero-prefix suggestion.
</summary>
</histogram>
<histogram name="Omnibox.MatchStability.AsyncMatchChange2" units="position"
expires_after="2021-08-29">
<owner>tommycli@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<summary>
This tracks how unstable our matches are due to asynchronous updates.
Whenever a dropdown position gets asynchronously set to a new match that's
different from the old match, this histogram logs the index.
We primarily care the default match, which is logged at index 0. All indices
matter though, so we track the other indices too. When the number of matches
changes asynchronously, matches that are removed are considered a
&quot;change&quot; and logged here. Matches that are appended are less
disruptive to the user, and are not logged.
This is because this metric is primarily interested in how many times the
user could be looking at a match with the intention of selecting it, and
then it surprisingly goes away.
Note that merely adding a new asynchronous provider will increase these
counts. That's intentional. Swapping matches out annoys users, and to avoid
this, we should do some things like: caching, update coaslescing, update
deferral until next keystroke, provider timeouts, etc.
This metric is designed to be normalized by the True count of
Omnibox.Start.WantAsyncMatches, which will yield the number of match changes
asynchronously per keystroke or other user gesture.
</summary>
</histogram>
<histogram name="Omnibox.MatchStability.AsyncMatchChangedInAnyPosition"
enum="BooleanChanged" expires_after="2021-08-29">
<owner>tommycli@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<summary>
This tracks how unstable our matches are due to asynchronous updates.
For each asynchronous autocomplete update, this histogram logs whether any
match in any position has changed. Note: if the only change is new matches
appended to the end of the list, that does not count as a change, since it's
not very disruptive to the user.
This metric is designed to be normalized by the True count of
Omnibox.Start.WantAsyncMatches, which will yield the number of times any
match changes asynchronously per keystroke or other user gesture.
This histogram can be considered a boolean analogue to
Omnibox.MatchStability.AsyncMatchChange2.
</summary>
</histogram>
<histogram name="Omnibox.NumEvents" enum="UsedOmnibox"
expires_after="2021-06-30">
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
The number of times users used the omnibox to go somewhere.
In M-74 and earlier, this was only recorded if the user had no incognito
windows open. In M-75 and later, it records all omnibox interactions
regardless, in order to be consistent with how user actions and histograms
are handled.
</summary>
</histogram>
<histogram name="Omnibox.NumTypedTerms" units="terms"
expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
The number of terms in the text the user entered in the omnibox when they
used the omnibox to go somewhere. Terms are defined by splitting on
whitespace. All values larger than 6 are recorded in bucket 6.
In M-74 and earlier, this was only recorded if the user had no incognito
windows open. In M-75 and later, it records all omnibox interactions
regardless, in order to be consistent with how user actions and histograms
are handled.
</summary>
</histogram>
<histogram name="Omnibox.OnDeviceHeadSuggest.AsyncQueryTime" units="ms"
expires_after="2021-10-10">
<owner>cch@chromium.org</owner>
<owner>suggest-2g@google.com</owner>
<summary>
Time it takes for omnibox on device head provider to fulfill the
asynchronous suggest request.
</summary>
</histogram>
<histogram name="Omnibox.OnDeviceHeadSuggest.ResultCount" units="count"
expires_after="2021-08-09">
<owner>cch@chromium.org</owner>
<owner>suggest-2g@google.com</owner>
<summary>
The number of results returned by the on device head model which matches the
user input. Note all numbers greater than 5 are recorded in bucket 5.
</summary>
</histogram>
<histogram name="Omnibox.PaintTime" units="ms" expires_after="2021-08-29">
<owner>asvitkine@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<summary>
Records the time to paint the omnibox contents. This is a subcomponent of
Omnibox.CharTypedToRepaintLatency. Implemented on desktop platforms.
</summary>
</histogram>
<histogram name="Omnibox.Paste" units="count" expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
The number of paste commands on the text in the omnibox. Reported every time
a paste command is done.
</summary>
</histogram>
<histogram name="Omnibox.PasteAndGo" units="count" expires_after="M89">
<obsolete>
Removed 2021-01 due to redundancy with Omnibox.IsPasteAndGo.
</obsolete>
<owner>mpearson@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<summary>
The number of paste-and-go commands on the text in the omnibox. Reported
every time a paste-and-go command is done.
</summary>
</histogram>
<histogram name="Omnibox.PedalShown" enum="SuggestionPedalType"
expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>orinj@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
Counts the type (concept ID) of omnibox pedals shown when the user used the
omnibox to go somewhere.
Pedals are a button attached to a search suggestion that either navigate to
a chrome:// URL or trigger a Chrome action (for example, opening the page
translation dialog or opening a new window in Incognito mode).
Note that, while it is uncommon, it is possible for multiple pedals to be
shown at one time so this can't be used as a count of how many times a pedal
or pedals were present.
This histogram is related to Omnibox.SuggestionUsed.Pedal.
</summary>
</histogram>
<histogram name="Omnibox.ProviderTime2" units="ms" expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
The length of time taken by the named provider&quot;s synchronous pass.
</summary>
</histogram>
<histogram name="Omnibox.QueryTime2" units="ms" expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
Time it takes for the omnibox to become responsive to user input after the
user has typed N characters. This measures the time it takes to start all
autocomplete providers (but not wait for the asynchronous ones to finish).
</summary>
</histogram>
<histogram name="Omnibox.Search.OffTheRecord" enum="BooleanOffTheRecord"
expires_after="2021-06-30">
<owner>rhalavati@chromium.org</owner>
<owner>chrome-privacy-core@google.com</owner>
<summary>
This histogram records the number of searches done from omnibox using
default search engine on desktop and android devices, sliced based on being
in regular mode or private modes.
</summary>
</histogram>
<histogram name="Omnibox.SearchEngineType" enum="OmniboxSearchEngineType"
expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
The type of search engine associated with a match opened from the omnibox.
</summary>
</histogram>
<histogram name="Omnibox.SearchPrefetch.PrefetchEligibilityReason"
enum="SearchPrefetchEligibilityReason" expires_after="M94">
<owner>ryansturm@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
The reason that a search prefetch request from the autocomplete/omnibox
suggest pipeline was not eligible to be prefetched (or 'Prefetched' if it
was prefetched). Recorded when a prefetch is requested from suggest if the
prefetch match type (default match) is allowed by feature policy.
</summary>
</histogram>
<histogram name="Omnibox.SearchPrefetch.PrefetchFinalStatus"
enum="SearchPrefetchFinalStatus" expires_after="M94">
<owner>ryansturm@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
The status of a Search Prefetch request when it is deleted by expiration or
by serving the request.
</summary>
</histogram>
<histogram name="Omnibox.SearchPrefetch.PrefetchServingReason"
enum="SearchPrefetchServingReason" expires_after="M94">
<owner>ryansturm@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
The reason that a navigation request could or could not serve a prefetch
request. Recorded for all main frame navigations.
</summary>
</histogram>
<histogram name="Omnibox.SearchProviderMatches" units="units"
expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
The number of matches returned by SearchProvider. Emitted on every call to
SearchProvider::Start(), which effectively means every key stroke in the
omnibox.
</summary>
</histogram>
<histogram name="Omnibox.SelectedPosition" units="position"
expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
The index of the item that the user selected in the omnibox popup (a.k.a.
dropdown) list. 0 means the inline suggestion shown within the omnibox. This
is also the same suggestion shown as the top item in the dropdown. The
second item in the dropdown will be recorded as bucket 1. The selected
position is always set to 0 when the popup is closed at the time of
navigation or if the user did a paste-and-search or paste-and-go action.
In M-74 and earlier, this was only recorded if the user had no incognito
windows open. In M-75 and later, it records all omnibox interactions
regardless, in order to be consistent with how user actions and histograms
are handled.
</summary>
</histogram>
<histogram name="Omnibox.ShowFullUrlsEnabled" enum="BooleanEnabled"
expires_after="M88">
<obsolete>
Removed 2020-10.
</obsolete>
<owner>livvielin@chromium.org</owner>
<owner>tommycli@chromium.org</owner>
<summary>
Tracks whether the context menu option to prevent URL elisions in the
omnibox is enabled. Recorded when the pref is toggled.
</summary>
</histogram>
<histogram name="Omnibox.Start.WantAsyncMatches" enum="Boolean"
expires_after="2021-08-29">
<owner>tommycli@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<summary>
Whether asynchronous matches are requested. Recorded every time
AutocompleteController::Start() is called.
False counts roughly correspond to non-interactive invocations of
AutocompleteController - like when we are classifying user text as a Search
or URL.
True counts roughly correspond to keystrokes or on-focus events, and can be
used as a normalizer for per-user-gesture metrics.
</summary>
</histogram>
<histogram name="Omnibox.SuggestionUsed.AnswerInSuggest"
enum="SuggestionAnswerOptionalType" expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
Counts how often omnibox suggestions are used, and in the case an Answer
suggestion was selected - records the type of an answer. This histogram is
useful because there is no distinct suggestion type recorded for answers so
their use is not recorded by Omnibox.SuggestionUsed.ProviderAndResultType.
</summary>
</histogram>
<histogram name="Omnibox.SuggestionUsed.OfferedTabMatch" enum="BooleanOffered"
expires_after="2021-09-19">
<owner>gangwu@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<summary>
Measures whether the suggestion that was selected by the user offered a tab
match. A tab match occurs when the URL specified by the suggestion matches
the URL navigated to by another tab in the browser, within the margin of our
URL stripping scheme.
This metric typically only makes sense with respect to
Omnibox.SuggestionUsed.OfferedTabMatch. Only recent versions of the browser
send the metric. Therefore, other metrics may include datapoints not covered
by this metric (unless one narrows the data by version.)
In M-74 and earlier, this was only recorded if the user had no incognito
windows open. In M-75 and later, it records all omnibox interactions
regardless, in order to be consistent with how user actions and histograms
are handled.
</summary>
</histogram>
<histogram name="Omnibox.SuggestionUsed.Pedal" enum="SuggestionPedalType"
expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>orinj@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
Counts how often omnibox pedals are used and records the type (concept ID)
of the pedal used.
Pedals are a button attached to a search suggestion that either navigate to
a chrome:// URL or trigger a Chrome action (for example, opening the page
translation dialog or opening a new window in Incognito mode).
This histogram is related to Omnibox.PedalShown.
</summary>
</histogram>
<histogram
name="Omnibox.SuggestionUsed.Search.Experimental.NavigationToFirstMeaningfulPaint"
units="ms" expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
Measures the time from navigation start to first meaningful paint. Only
recorded for a search query suggestion selected from the omnibox.
</summary>
</histogram>
<histogram
name="Omnibox.SuggestionUsed.Search.NavigationToFirstContentfulPaint"
units="ms" expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
Measures the time from navigation start to first contentful paint. Only
recorded for a search query suggestion selected from the omnibox.
</summary>
</histogram>
<histogram name="Omnibox.SuggestionUsed.SelectedTabMatch"
enum="BooleanSelected" expires_after="2021-09-19">
<owner>gangwu@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<summary>
Measures whether the suggestion that was selected by the user offered a tab
match and specifically that the user chose the tab match over normal
navigation. A tab match occurs when the URL specified by the suggestion
matches the URL navigated to by another tab in the browser, within the
margin of our URL stripping scheme. By selecting the tab match, the browser
simply switches focus to the matching tab.
This metric typically only makes sense with respect to
Omnibox.SuggestionUsed.OfferedTabMatch. Only recent versions of the browser
send the metric. Therefore, other metrics may include datapoints not covered
by this metric (unless one narrows the data by version.)
This metric should be stricly less than
Omnibox.SuggestionUsed.OfferedTabMatch, and is typically used to discover
the percentage of offered tab matches that the user accepts.
In M-74 and earlier, this was only recorded if the user had no incognito
windows open. In M-75 and later, it records all omnibox interactions
regardless, in order to be consistent with how user actions and histograms
are handled.
</summary>
</histogram>
<histogram
name="Omnibox.SuggestionUsed.URL.Experimental.NavigationToFirstMeaningfulPaint"
units="ms" expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
Measures the time from navigation start to first meaningful paint. Only
recorded for a URL suggestion selected from the omnibox.
</summary>
</histogram>
<histogram name="Omnibox.SuggestionUsed.URL.NavigationToFirstContentfulPaint"
units="ms" expires_after="2021-08-29">
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
Measures the time from navigation start to first contentful paint. Only
recorded for a URL suggestion selected from the omnibox.
</summary>
</histogram>
<histogram name="Omnibox.SuggestRequest.Failure.GoogleResponseTime" units="ms"
expires_after="2021-08-29">
<owner>mpearson@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<owner>cch@chromium.org</owner>
<summary>
The time elapsed between the sending of a suggest request to Google until
the time the request was returned with status==failed. Ignores requests that
were canceled before being returned.
</summary>
</histogram>
<histogram name="Omnibox.SuggestRequest.Success.GoogleResponseTime" units="ms"
expires_after="2021-08-29">
<owner>mpearson@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<owner>cch@chromium.org</owner>
<summary>
The time elapsed between the sending of a suggest request to Google until
the time the request was returned with status==success. Ignores requests
that were canceled before being returned.
</summary>
</histogram>
<histogram name="Omnibox.SuggestRequest.Success.PrefetchImagesCount"
units="count" expires_after="2021-08-29">
<owner>manukh@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
The number of images prefetched by the search provider on retrieving a
successful search response.
</summary>
</histogram>
<histogram name="Omnibox.SuggestRequests" enum="OmniboxSuggestRequests"
expires_after="2021-08-29">
<owner>mpearson@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<owner>cch@chromium.org</owner>
<summary>
Counts about the number of suggest requests the omnibox sent, invalidated,
and replies received.
</summary>
</histogram>
<histogram name="Omnibox.TabMatchTime" units="microseconds"
expires_after="2021-08-29">
<owner>gangwu@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
This histogram reports the amount of time it takes to match one set of
suggestions against all open tabs. This metric is collected once for every
time a new set of suggestions is received. This includes the Omnibox Focus
event (when zero-prefix suggestions are offered) and every subsequent key
stroke, including deletion, backspace etc.
Each keystroke produces multiple events offering autocomplete matches: a)
one synchronous, when Start() is called. b) any number of intermediate
events, depending on whether Providers request the update. c) one at the
end, when the process completes.
Since these are produced about 3 times per keystroke, the total time
consumed per Omnibox interaction is - optimistically -
3*Omnibox.TypedLength*TabMatchTime. this excludes all the time spent
formulating the query, such as correcting the input. This metric does not
express the cumulative time spent matching the tabs (because we do not have
a metric that counts the number of suggestions the user actually fetched -
eg. we do not count the number of suggestions received when user pressed the
backspace key).
This histogram only records metrics on machines with high-resolution clocks.
</summary>
</histogram>
<histogram name="Omnibox.TimeSpentBeforeDismissLens" units="ms"
expires_after="M94">
<owner>yusuyoutube@google.com</owner>
<owner>benwgold@google.com</owner>
<owner>fgorski@chromium.org</owner>
<owner>wylieb@chromium.org</owner>
<owner>lens-chrome@google.com</owner>
<summary>
Logs the elapsed time between the time when user enters the Google Lens and
the time when user dismisses Lens and returns to Chrome. Only logged on
Android.
</summary>
</histogram>
<histogram name="Omnibox.ToggleSuggestionGroupId.Off" enum="SuggestionGroupId"
expires_after="2021-10-17">
<owner>mahmadi@google.com</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
Counts the number of times a suggestion group ID is prevented form appearing
in the results. This is recorded when the user hides a set of grouped
suggestions, such as proactive zero-suggest, in the omnibox UI using the
control in the grouped suggestions' header.
</summary>
</histogram>
<histogram name="Omnibox.ToggleSuggestionGroupId.On" enum="SuggestionGroupId"
expires_after="2021-10-04">
<owner>mahmadi@google.com</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
Counts the number of times a suggestion group ID is permitted to appear in
the results. This is recorded when the user makes a set of previously hidden
grouped suggestions, such as proactive zero-suggest, visible in the omnibox
UI using the control in the grouped suggestions' header.
</summary>
</histogram>
<histogram name="Omnibox.URLNavigationScheme" enum="NavigationScheme"
expires_after="2021-08-29">
<owner>mpearson@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
The scheme of the destination URL for the selected omnibox suggestion. This
could be a what-you-typed suggestion (if the user fully typed a URL), an
inline autocompletion, or something in the dropdown, anything as long as
it's a URL navigation, not a search query. Excludes omnibox URL navigations
that are effectively reloads as well as cut-and-pastes of URLs. Also does
not take into account any redirects that destination URL may do before
finally serving a page. In other words, it's the scheme of the first request
in a possible chain.
Due to a bug, recorded paste-and-go actions through M-88 (inclusive).
Excluded in M-89+.
</summary>
</histogram>
<histogram name="Omnibox.UserTextCleared" enum="OmniboxUserTextCleared"
expires_after="M85">
<obsolete>
Removed 2021-01.
</obsolete>
<owner>kenjibaheux@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<summary>
Counts the number of times that the user text is cleared. IME users are
sometimes in the situation that IME was unintentionally turned on and failed
to input latin alphabets (ASCII characters) or the opposite case. In that
case, users may delete all the text and the user text gets cleared. This
histogram helps us estimate how often this scenario happens.
Note that since we don't currently correlate &quot;text cleared&quot; events
with IME usage, this also captures many other cases where users clear the
text; though it explicitly doesn't log deleting all the permanent text as
the first action of an editing sequence (see comments in
OnAfterPossibleChange()).
</summary>
</histogram>
<histogram name="Omnibox.WarmupTime" units="ms" expires_after="M85">
<obsolete>
Deprecated as of 03/2021. Code is removed.
</obsolete>
<owner>etienneb@chromium.org</owner>
<owner>mpearson@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<summary>
Time it takes for the omnibox to process the first user interaction after
startup. This measures the time it takes to start all autocomplete providers
and their initialisation steps. This metric may be recorded twice as there
is the normal omnibox path and also the &quot;classify text&quot; path to
the autocomplete system.
</summary>
</histogram>
<histogram name="Omnibox.ZeroSuggest.Eligible.OnFocusV2"
enum="ZeroSuggestEligibleOnFocus" expires_after="2021-08-29">
<owner>mpearson@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<summary>
Whether the user has settings configured so that the current page URL can be
sent to the suggest server to request contextual suggestions. For example,
this is only supported for users who have Google as their default search
engine (unmodified version of Google), have search suggest enabled, are
signed-in and syncing without a custom passphrase, and don't have an
incognito window open. There are other criteria too. Recorded on focus in
the omnibox if there is default search provider and we've constructed a
suggest URL.
Some additional guidelines: if an incognito window is open, all focus events
will go into the &quot;generally ineligible&quot; bucket. Likewise, if the
current page is a search results page, we don't allow contextual suggestions
either so focus events on those pages go in the &quot;generally
ineligible&quot; bucket. The difference between &quot;eligible&quot; and
&quot;generally eligible but not this time&quot; depends only the properties
of the current URL.
Recorded regardless of whether contextual or non-contextual zero suggest is
currently enabled on the user's platform. However, if zero suggest (in all
forms) is entirely disabled, the user will be perpetually ineligible.
This histogram captures all scenarios that are generally ineligible for zero
suggest suggestions (including incognito mode), and reports eligibility for
suggestions even if kOmniboxPopupShortcutIconsInZeroState is enabled
(meaning: suggestions are not shown, but current URL is eligible).
</summary>
</histogram>
<histogram name="Omnibox.ZeroSuggest.Eligible.OnProfileOpen"
enum="BooleanSupported" expires_after="2021-08-29">
<owner>mpearson@chromium.org</owner>
<owner>jdonnelly@chromium.org</owner>
<summary>
Whether the user has settings configured so that the current page URL could
be sent to the suggest server to request contextual suggestions. For
example, this is only supported for users who have Google as their default
search engine (unmodified version of Google), have search suggest enabled,
and are signed-in and syncing without a custom passphrase. There are other
criteria too. Recorded on profile open. Note that opening an incognito
window (if none are currently open under the given profile) counts as
opening a new profile.
Some additional guidelines: unlike Omnibox.ZeroSuggest.Eligible.OnFocus,
because this is recorded on profile open, users cannot be declared
ineligible because they have an incognito window open (it's impossible to
have an incognito window open for a given profile at the time of profile
open) and also cannot be declared ineligible because the user is viewing a
search results page. (We test this on-profile-open using an arbitrary URL.)
Recorded regardless of whether contextual or non-contextual zero suggest is
currently enabled on the user's platform. However, if zero suggest (in all
forms) is entirely disabled, the user will be perpetually ineligible.
</summary>
</histogram>
<histogram name="Omnibox.ZeroSuggestRequests" enum="OmniboxZeroSuggestRequests"
expires_after="2021-08-29">
<owner>ender@chromium.org</owner>
<owner>tommycli@chromium.org</owner>
<owner>chrome-omnibox-team@google.com</owner>
<summary>
Counts about the number of zero suggest requests (requests for suggestions
when the user has focused but not modified the omnibox) the omnibox sent,
invalidated, and replies received.
</summary>
</histogram>
</histograms>
</histogram-configuration>