| <!-- |
| Copyright 2020 The Chromium Authors |
| 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 follow the instructions in the OWNERS file in this directory to find a |
| reviewer. If no OWNERS file exists, please consider signing up at |
| go/reviewing-metrics (Googlers only), as all subdirectories are expected to |
| have an OWNERS file. As a last resort you can send the CL to |
| chromium-metrics-reviews@google.com. |
| --> |
| |
| <histogram-configuration> |
| |
| <histograms> |
| |
| <variants name="NavigationOrSuggestionPrefetch"> |
| <variant name="NavigationPrefetch" |
| summary="Recorded for prefetches where Chrome is relatively confident |
| an omnibox navigation is about to occur (i.e. the user |
| selected a search suggestion). These prefetches allow Chrome |
| to kickstart the request without waiting until before unload |
| handlers or other navigation pre-processing mechanisms in |
| Chrome."/> |
| <variant name="SuggestionPrefetch" |
| summary="Recorded for prefetches where an omnibox suggestion from the |
| suggestion server recommends a prefetch of a suggestion |
| results page."/> |
| </variants> |
| |
| <variants name="NavigationPrefetchOnly"> |
| <variant name="NavigationPrefetch" |
| summary="Recorded for prefetches where Chrome is relatively confident |
| an omnibox navigation is about to occur (i.e. the user |
| selected a search suggestion). These prefetches allow Chrome |
| to kickstart the request without waiting until before unload |
| handlers or other navigation pre-processing mechanisms in |
| Chrome."/> |
| </variants> |
| |
| <variants name="OmniboxAutocompleteUpdateSlice"> |
| <variant name="" |
| summary="This slice measures match changes for all updates, regardless |
| of whether it or the previous update were asynchronous or |
| synchronous. Logged exactly once per update; 0, 1, or multiple |
| times per input. The count here will be the sum of the counts |
| for the other 2 slices."/> |
| <variant name=".Async" |
| summary="This slice measures match changes between the last update for |
| the current input, whether it be asynchronous or synchronous, |
| and the current asynchronous, i.e. non-first, update of the |
| current input. Logged exactly once per asynchronous update; 0, |
| 1, or multiple times per input."/> |
| <variant name=".CrossInput" |
| summary="This slice measures match changes between the last update for |
| the previous input, whether it be asynchronous or synchronous, |
| and the synchronous, i.e. first, update of the current input. |
| Logged exactly once per synchronous update; at most once per |
| input."/> |
| </variants> |
| |
| <variants name="OmniboxProviders"> |
| <variant name="Bookmark"/> |
| <variant name="Builtin"/> |
| <variant name="Clipboard"/> |
| <variant name="Contact"/> |
| <variant name="Document"/> |
| <variant name="ExtensionApp"/> |
| <variant name="HistoryCluster"/> |
| <variant name="HistoryContents"/> |
| <variant name="HistoryFuzzy"/> |
| <variant name="HistoryQuick"/> |
| <variant name="HistoryURL"/> |
| <variant name="Keyword"/> |
| <variant name="LocalHistoryZeroSuggest"/> |
| <variant name="MostVisitedSites"/> |
| <variant name="OnDeviceHead"/> |
| <variant name="OpenTab"/> |
| <variant name="QueryTile"/> |
| <variant name="Search"/> |
| <variant name="Shortcuts"/> |
| <variant name="VerbatimMatch"/> |
| <variant name="VoiceSuggest"/> |
| <variant name="ZeroSuggest"/> |
| </variants> |
| |
| <variants name="SearchPrefetch"> |
| <variant name="SearchPrefetch" |
| summary="Search Prefetch issues results page requests in response to |
| either the suggestion server or the Omnibox client being |
| confident that the user will navigate to a specific search |
| suggestion. These requests are then served instantly to the |
| user when the user navigates to a search suggestion with the |
| same search terms. These requests can have mismatching query |
| params as the Omnibox client updates the search navigation URL |
| as the user types more into the Omnibox. The suggestion server |
| issues prefetch hints along with the suggestion request. |
| Additionally, the Omnibox client decides to prefetch when the |
| user has chosen (or likely chosen) a search suggestion to |
| initiate the search suggestion navigation earlier."/> |
| </variants> |
| |
| <variants name="SuggestionPrefetchOnly"> |
| <variant name="SuggestionPrefetch" |
| summary="Recorded for prefetches where an omnibox suggestion from the |
| suggestion server recommends a prefetch of a suggestion |
| results page."/> |
| </variants> |
| |
| <histogram name="Omnibox.AcceptedKeywordSuggestion" |
| enum="OmniboxEnteredKeywordMode2" expires_after="2023-10-08"> |
| <owner>yoangela@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Records number of accepted keyword searches enumerated by how the user |
| entered the keyword mode. See also Omnibox.EnteredKeywordMode2 for the total |
| number of times a user enters keyword mode whether or not the keyword |
| suggestion was accepted. Note that this only records when a user accepts a |
| search suggestion for the keyword search engine and does not record for URL |
| suggestions even if the user is in keyword mode. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.ActionInSuggest.{ShownOrUsed}" |
| enum="ActionInSuggestType" expires_after="2023-08-20"> |
| <owner>ender@google.com</owner> |
| <owner>chrome-mobile-search@google.com</owner> |
| <summary> |
| Counts how often Omnibox Action in Suggest are {ShownOrUsed} and records the |
| type (Omnibox Action in Suggest Type) of every {ShownOrUsed} action. |
| |
| Recorded once at the end of the interaction with the Omnibox Suggestions for |
| every Action presented to the user. Not recorded for Suggestions that are |
| annotated with Action in Suggest, where the Action in Suggest row was not |
| shown to the user. |
| |
| Action in Suggest are the Omnibox Action chips attached to a search |
| suggestion. |
| </summary> |
| <token key="ShownOrUsed"> |
| <variant name="Shown" summary="shown"/> |
| <variant name="Used" summary="used"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Omnibox.AnswerParseSuccess" enum="BooleanSuccess" |
| expires_after="2023-10-01"> |
| <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="2023-10-22"> |
| <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.AssistedQueryStats.Length" units="chars" |
| expires_after="2023-10-08"> |
| <owner>mahmadi@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Records the length of the aqs= param in the Search Result Page request URLs. |
| Recorded every time a Search Result Page URL is generated in the |
| omnibox/realbox. This happens either when the user selects a suggestion in |
| order to load Search Result Page or when a proactive request is made to |
| prefetch the Search Result Page. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Omnibox.AsyncAutocompletionTime2.Provider.{Provider}{Completed}" |
| units="ms" expires_after="2023-12-01"> |
| <owner>manukh@chromium.org</owner> |
| <owner>jdonnelly@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| When the user focuses or types into the omnibox, the dropdown results can be |
| updated multiple times per input (i.e. when focused, per char typed, |
| backspace, etc). |
| |
| Specifically, the set of events that trigger dropdown updates are: |
| |
| - synchronous suggestions |
| |
| - asynchronous suggestions. Can trigger multiple times per input. These are |
| often generated on different threads. |
| |
| - expiring copied matches |
| |
| - interruptions e.g. additional user input changes or closing the dropdown |
| |
| A sample flow looks like: |
| |
| 1) User types a character. |
| |
| 2) 10ms later, update results with synchronous suggestions. |
| |
| 3) 50ms later, update results with some asynchronous suggestions. |
| |
| 4) 50ms later, update results with more asynchronous suggestions. |
| |
| 5) 400ms later, update results by removing copied matches from the previous |
| input. |
| |
| 6) 50 later, update results with the last batch of asynchronous suggestions. |
| |
| The 'Provider.*' slices measure the time between the input change and the |
| last async update of that provider is done or interrupted. Includes async |
| updates that have no user visible change (i.e. that do not produce async |
| matches or produce only async matches that get deduped, culled, or are the |
| same as the existing match in its position). Only logged for asynchronous |
| providers. Emitted exactly once per input per asynchronous provider; |
| additionally emits to exactly one of the 'Completed' and 'Interrupted' |
| slices per input per asynchronous provider. |
| |
| {Completed} |
| </summary> |
| <token key="Provider" variants="OmniboxProviders"/> |
| <token key="Completed"> |
| <variant name=""/> |
| <variant name=".Completed" |
| summary="The 'Completed' slice only includes inputs that completed; |
| i.e. the last async update completed without interruption |
| by, e.g., closing the omnibox dropdown."/> |
| <variant name=".Interrupted" |
| summary="The 'Interrupted' slice only includes inputs that were |
| interrupted; i.e. the last async update was interrupted by, |
| e.g., closing the omnibox dropdown before completing. It can |
| be misleading to interpret this slice, as neither an |
| increase or decrease is necessarily good."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Omnibox.AsyncAutocompletionTime2.{Change}{Completed}" |
| units="ms" expires_after="2023-12-01"> |
| <owner>manukh@chromium.org</owner> |
| <owner>jdonnelly@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| When the user focuses or types into the omnibox, the dropdown results can be |
| updated multiple times per input (i.e. when focused, per char typed, |
| backspace, etc). |
| |
| Specifically, the set of events that trigger dropdown updates are: |
| |
| - synchronous suggestions |
| |
| - asynchronous suggestions. Can trigger multiple times per input. These are |
| often generated on different threads. |
| |
| - expiring copied matches |
| |
| - interruptions e.g. additional user input changes or closing the dropdown |
| |
| A sample flow looks like: |
| |
| 1) User types a character. |
| |
| 2) 10ms later, update results with synchronous suggestions. |
| |
| 3) 50ms later, update results with some asynchronous suggestions. |
| |
| 4) 50ms later, update results with more asynchronous suggestions. |
| |
| 5) 400ms later, update results by removing copied matches from the previous |
| input. |
| |
| 6) 50 later, update results with the last batch of asynchronous suggestions. |
| |
| {Change} |
| |
| {Completed} |
| </summary> |
| <token key="Change"> |
| <variant name="Done" |
| summary="The 'Done' slice measures the time between input change and |
| the last async update is done or interrupted. Includes async |
| updates that have no user visible change (i.e. that do not |
| produce async matches or produce only async matches that get |
| deduped, culled, or are the same as the existing match in |
| its position). Emitted exactly once per input; additionally |
| emits to exactly one of the 'Completed' and 'Interrupted' |
| slices per input."/> |
| <variant name="LastChange" |
| summary="The 'LastChange' slice measures the time between input |
| change and the last async update that made at least 1 change |
| to the results. Updates that produce only async matches that |
| get deduped, culled, or are the same as the existing match |
| in its position are not included. Emitted exactly once per |
| input; additionally emits to exactly one of the 'Completed' |
| and 'Interrupted' slices per input."/> |
| <variant name="LastDefaultChange" |
| summary="The 'LastDefaultChange' slice measures the time between |
| input change and the last async update that changed the |
| default suggestion. Updates that produce an async default |
| match that is the same as the existing default match are not |
| included. Emitted exactly once per input; additionally emits |
| to exactly one of the 'Completed' and 'Interrupted' slices |
| per input."/> |
| </token> |
| <token key="Completed"> |
| <variant name=""/> |
| <variant name=".Completed" |
| summary="The 'Completed' slice only includes inputs that completed; |
| i.e. the last async update completed without interruption |
| by, e.g., closing the omnibox dropdown."/> |
| <variant name=".Interrupted" |
| summary="The 'Interrupted' slice only includes inputs that were |
| interrupted; i.e. the last async update was interrupted by, |
| e.g., closing the omnibox dropdown before completing. It can |
| be misleading to interpret this slice, as neither an |
| increase or decrease is necessarily good."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Omnibox.AutocompleteClassifierClassifyTime" units="ms" |
| expires_after="2023-12-01"> |
| <owner>manukh@chromium.org</owner> |
| <owner>jdonnelly@chromium.org</owner> |
| <owner>chrome-desktop-search@google.com</owner> |
| <summary> |
| The time `AutocompleteClassifier::Classify()` took. This is invoked on |
| multiple user actions in the omnibox; e.g. typing, selecting, copying, |
| focusing, etc. `Classify()` runs the autocomplete sync pass, which is |
| non-trivial work, but much shorter than full autocompletion. |
| |
| This is intended to measure some performance optimization features and be |
| removed after. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.AutocompletionTime.UpdateResult{Slice}" units="ms" |
| expires_after="2023-12-01"> |
| <owner>manukh@chromium.org</owner> |
| <owner>jdonnelly@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| The time `AutocompleteController::UpdateResult()` took. |
| |
| That method is invoked, and this histogram is recorded: a) Once for the sync |
| autocomplete update that occurs when the omnibox input changes (e.g. the |
| user types a character, pastes text, focuses the omnibox, etc). b) Once for |
| each async autocomplete update that occurs asyncly after the omnibox input |
| changes and the various async providers complete. Usually occurs up to 3 |
| times per input change. But can be less if the updates are interrupted (e.g. |
| the popup is closed or input changed again) or include no new suggestions. |
| c) Once when copied matches from the previous autocomplete pass expire. This |
| happens at most once per input change, but may not occur if all providers |
| complete or the input changes prior to the expiration. |
| |
| Because this encompasses both sync and async omnibox updates, and the number |
| of async updates per sync update is not fixed, it's not a good |
| representative of how a feature effects user experienced latency. E.g., a |
| feature that makes users type slower will bias this metric towards async |
| updates. Besides, this is only a small segment of the user experienced |
| latency. This is only intended to measure changes in the actual |
| implementation of `UpdateResult()`. |
| |
| {Slice} |
| </summary> |
| <token key="Slice"> |
| <variant name=""/> |
| <variant name=".SortAndCull" |
| summary="The '.SortAndCull' slice measures the time |
| `AutocompleteResult::SortAndCull()` took. This is invoked |
| only from `AutocompleteController::UpdateResult()`; i.e., |
| this is included in the unsliced metric, `SortAndCull()` can |
| be called up to twice per `UpdateResult()`. For all but the |
| last async update, it's called twice; for the last async |
| update (which may not occur if interrupted), it's called |
| once."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Omnibox.BitmapFetchLatency" units="ms" |
| expires_after="2022-09-11"> |
| <obsolete> |
| 3/2022; feature launched. |
| </obsolete> |
| <!-- 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="2024-02-01"> |
| <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="2024-02-01"> |
| <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. |
| |
| Note: Compositor-provided timestamps are taken using presentation time |
| callbacks. Before M110 the callbacks used for this histogram might be called |
| even if the next submitted frame fails to present which means that the |
| character is not really rendered on-screen yet. From M110 onward, this is |
| fixed by using callbacks that are only called after the first following |
| successful presentation, so a slight change might be noticed in the |
| histogram values. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.CharTypedToRepaintLatency.PaintToPresent" units="ms" |
| expires_after="2024-02-01"> |
| <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. |
| |
| Note: Compositor-provided timestamps are taken using presentation time |
| callbacks. Before M110 the callbacks used for this histogram might be called |
| even if the next submitted frame fails to present which means that the |
| character is not really rendered on-screen yet. From M110 onward, this is |
| fixed by using callbacks that are only called after the first following |
| successful presentation, so a slight change might be noticed in the |
| histogram values. |
| |
| Warning: this histogram was expired from 2021-06-30 to 2022-12-12; data may |
| be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.CharTypedToRepaintLatency.ToPaint" units="ms" |
| expires_after="2024-02-01"> |
| <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="2022-09-11"> |
| <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="2023-10-22"> |
| <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="2023-10-22"> |
| <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="2022-10-01"> |
| <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="2023-09-03"> |
| <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="2023-12-01"> |
| <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.RequestTime" units="ms" |
| expires_after="2023-12-01"> |
| <owner>manukh@chromium.org</owner> |
| <owner>jdonnelly@chromium.org</owner> |
| <summary> |
| Measures the duration between when the async backend request was sent and |
| response received. |
| |
| Recorded exactly once per backend request. This will be a subset of times |
| document suggestions were requested, as 1) the provider is debounced, 2) the |
| provider may be interrupted (e.g. due to a new input) before the request is |
| sent (i.e. before the oauth token is ready), and 3) some provider requests |
| are filtered (e.g. input too short). |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.DocumentSuggest.RequestTime.Interrupted" units="ms" |
| expires_after="2023-12-01"> |
| <owner>manukh@chromium.org</owner> |
| <owner>jdonnelly@chromium.org</owner> |
| <summary> |
| Measures the duration between when the async backend request was sent and |
| response received. |
| |
| Recorded at most once per backend request. This will be a subset of times |
| document suggestions were requested, as 1) the provider is debounced, 2) the |
| provider may be interrupted (e.g. due to a new input) before the request is |
| sent (i.e. before the oauth token is ready), and 3) some provider requests |
| are filtered (e.g. input too short). |
| |
| Only recorded if the backend request was invalidated; i.e., the provider was |
| interrupted before the response was received. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.DocumentSuggest.RequestTime.NotInterrupted" units="ms" |
| expires_after="2023-12-01"> |
| <owner>manukh@chromium.org</owner> |
| <owner>jdonnelly@chromium.org</owner> |
| <summary> |
| Measures the duration between when the async backend request was sent and |
| response received. |
| |
| Recorded at most once per backend request. This will be a subset of times |
| document suggestions were requested, as 1) the provider is debounced, 2) the |
| provider may be interrupted (e.g. due to a new input) before the request is |
| sent (i.e. before the oauth token is ready), and 3) some provider requests |
| are filtered (e.g. input too short). |
| |
| Only recorded if the backend request was not invalidated; i.e., the provider |
| was not interrupted before the response was received. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.DocumentSuggest.ResultCount" units="count" |
| expires_after="2023-12-01"> |
| <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.DocumentSuggest.TotalTime" units="ms" |
| expires_after="2023-12-01"> |
| <owner>manukh@chromium.org</owner> |
| <owner>jdonnelly@chromium.org</owner> |
| <summary> |
| Measures the duration between when the provider begins (after a debouncing |
| delay) and ends. |
| |
| Recorded exactly once per processed provider request. This will be a subset |
| of times document suggestions were requested, as 1) the provider is |
| debounced, and 2) some provider requests are filtered (e.g. input too |
| short). |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.DocumentSuggest.TotalTime.Interrupted" units="ms" |
| expires_after="2023-12-01"> |
| <owner>manukh@chromium.org</owner> |
| <owner>jdonnelly@chromium.org</owner> |
| <summary> |
| Measures the duration between when the provider begins (after a debouncing |
| delay) and ends. |
| |
| Recorded at most once per processed provider request. This will be a subset |
| of times document suggestions were requested, as 1) the provider is |
| debounced, and 2) some provider requests are filtered (e.g. input too |
| short). |
| |
| Only recorded if the provider was interrupted (e.g. due to a new input). |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.DocumentSuggest.TotalTime.NotInterrupted" units="ms" |
| expires_after="2023-12-01"> |
| <owner>manukh@chromium.org</owner> |
| <owner>jdonnelly@chromium.org</owner> |
| <summary> |
| Measures the duration between when the provider begins (after a debouncing |
| delay) and ends. |
| |
| Recorded at most once per processed provider request. This will be a subset |
| of times document suggestions were requested, as 1) the provider is |
| debounced, and 2) some provider requests are filtered (e.g. input too |
| short). |
| |
| Only recorded if the provider was not interrupted (e.g. due to a new input). |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.EnteredKeywordMode2" enum="OmniboxEnteredKeywordMode2" |
| expires_after="2023-10-22"> |
| <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 |
| "Search ___ for:" 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.Escape" enum="OmniboxEscapeAction" |
| expires_after="2023-12-01"> |
| <owner>manukh@chromium.org</owner> |
| <owner>jdonnelly@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| When the omnibox is focused and escape is pressed, the 1st of the following |
| occurs: |
| |
| 1) If there is temporary text (i.e. a non default suggestion is selected), |
| it is cleared. |
| |
| 2) If the popup is open and the `kClosePopupWithEscape` feature is enabled, |
| the popup is closed. |
| |
| 3) If the popup is open, which is considered as user input in progress, then |
| the popup is closed and user input is cleared. |
| |
| 4) If user input is in progress, it is cleared. This state (i.e. input in |
| progress with the popup closed) typically occurs when input was in progress, |
| then the omnibox was blurred, and then it was refocused. |
| |
| 5) The omnibox is blurred. |
| |
| This histogram records which of the above occurred. |
| |
| It is recorded every time escape is pressed with the omnibox focused. |
| Pressing escape repeatedly e.g. 10 times will emits at most 4 times until |
| the omnibox is blurred. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.FocusResultedInNavigation" enum="BooleanNavigated" |
| expires_after="2023-08-27"> |
| <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="2022-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="2024-02-01"> |
| <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.GroupId.ToggledOff" enum="GroupId" |
| expires_after="2024-05-03"> |
| <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 trending zero-suggest, in the omnibox UI using the |
| control in the grouped suggestions' header. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.GroupId.ToggledOn" enum="GroupId" |
| expires_after="2024-05-03"> |
| <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 trending zero-suggest, visible in the omnibox |
| UI using the control in the grouped suggestions' header. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.HistoryFuzzy.MatchConversion.{SubProvider}" |
| units="counts" expires_after="M119"> |
| <owner>orinj@chromium.org</owner> |
| <owner>jdonnelly-team@google.com</owner> |
| <summary> |
| Fuzzy match conversion produces modified matches from other synchronous |
| autocomplete providers (sub-providers) using alternative inputs: what the |
| user might have typed, the automatic corrections. This metric is logged once |
| per sub-provider per omnibox input if and only if the fuzzy provider runs a |
| search (not all omnibox inputs result in search) and finds any corrections |
| (this includes the zero case where corrections are found but produce no |
| matches). Logs for each fuzzy sub-provider the number of correction matches |
| converted to fuzzy provider matches for a single omnibox input. This |
| measures how many 'best' matches (among all the sub-provider's matches for a |
| specific correction) are converted from this sub-provider, summed for the |
| various corrections of a single user input (will not exceed |
| `provider_max_matches_` even in unlikely extreme cases). This is useful in |
| evaluating the efficacy of various sub-providers for fuzzy matching. |
| </summary> |
| <token key="SubProvider"> |
| <variant name="Bookmark" summary="Bookmark conversion count"/> |
| <variant name="HistoryQuick" summary="HistoryQuick conversion count"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Omnibox.HistoryFuzzy.Precision" enum="Boolean" |
| expires_after="M119"> |
| <owner>orinj@chromium.org</owner> |
| <owner>jdonnelly-team@google.com</owner> |
| <summary> |
| When a fuzzy match was offered at the moment the user opened a match, this |
| measures whether a fuzzy suggestion was taken. This is only recorded when at |
| least one fuzzy match is in the result set, so it is useful to measure total |
| presence and engagement with fuzzy URL suggestions. It can be interpreted as |
| a click through rate for fuzzy match presentation as a whole: given that any |
| fuzzy matches were presented at the moment a match was selected by the user, |
| how often was the selected match a fuzzy URL suggestion? |
| |
| Context: Fuzzy match conversion produces modified matches from other |
| synchronous autocomplete providers (sub-providers) using alternative inputs: |
| what the user might have typed, the automatic corrections. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.HistoryFuzzy.SearchDuration" units="ms" |
| expires_after="M119"> |
| <owner>orinj@chromium.org</owner> |
| <owner>jdonnelly-team@google.com</owner> |
| <summary> |
| The time taken by HistoryFuzzyProvider to search for fuzzy input |
| corrections. This is measured if and only if a search is performed, so many |
| input states will not result in recording this metric (for example if the |
| input contains a space, that's taken as a hint that the user may be |
| searching instead of typing a domain name so no fuzzy search is performed). |
| It is useful to distinguish portions of the total time taken by the |
| provider, particularly as separate from sub-provider match gathering, so |
| that if there are any pathological cases in the search algorithm then they |
| will be apparent here. |
| |
| Context: Fuzzy match conversion produces modified matches from other |
| synchronous autocomplete providers (sub-providers) using alternative inputs: |
| what the user might have typed, the automatic corrections. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.HoverTime" units="ms" expires_after="2021-10-31"> |
| <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.InputType" enum="OmniboxInputType" |
| expires_after="2023-08-27"> |
| <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.IPv4AddressPartsCount" units="count" |
| expires_after="2023-09-10"> |
| <owner>gjc@chromium.org</owner> |
| <owner>blink-network-stack@google.com</owner> |
| <summary> |
| The number of IPv4 address parts input by the user. The histogram is used to |
| verify whether shortened IPv4 addresses like 127.1 are still used. This |
| histogram is recorded when the user fully types the URL in the omnibox and |
| the URL uses an IPv4 address or IPv4 embedded IPv6 address as the host. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.IsPasteAndGo" enum="Boolean" |
| expires_after="2024-02-01"> |
| <owner>jdonnelly@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 "True" 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="2024-02-01"> |
| <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="2023-08-27"> |
| <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.KeywordModeUsageByEngineType.{Usage}" |
| enum="OmniboxBuiltinEngineType" expires_after="2023-08-15"> |
| <owner>yoangela@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Records number of times users use keyword mode enumerated by the type of |
| search engine (whether the engine is "built-in"). |
| |
| {Usage} |
| </summary> |
| <token key="Usage"> |
| <variant name="Accepted" |
| summary="Logged when a user accepts a keyword suggestion while in |
| keyword mode. Not logged if a user enters keyword mode but |
| doesn't complete a search. Not logged if a user enters |
| keyword mode, but selects a URL suggestion or a search |
| suggestion that is not for the keyword mode search engine."/> |
| <variant name="Activated" |
| summary="Logged each time a search engine's active status is switched |
| from inactive to active by the user. Not logged if the |
| search engine is switched to active automatically based on |
| prior usage."/> |
| <variant name="ActiveOnStartup" |
| summary="Counts the number of search engines that are active at load |
| time (usually on start up). Only gets logged once each time |
| the search engines are loaded from the database. If a user |
| changes the active status of a search engine during the same |
| browser session, this does not get logged again."/> |
| <variant name="Deactivated" |
| summary="Logged each time a search engine's active status is switched |
| from active to inactive by the user. Not logged when a new |
| search engine is added in a default-inactive state."/> |
| <variant name="Entered" |
| summary="Logged each time the user enters keyword mode. If a user |
| enters, then leaves, then re-enters keyword mode during the |
| same session (i.e. without selecting a navigation), this is |
| logged twice. If the user doesn't accept the keyword |
| suggestion, this is still logged."/> |
| <variant name="InactiveOnStartup" |
| summary="Counts the number of search engines that are inactive at |
| load time (usually on start up). Only gets logged once each |
| time the search engines are loaded from the database. If a |
| user changes the active status of a search engine during the |
| same browser session, this does not get logged again."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Omnibox.LocalHistoryPrefixSuggest.SearchTermsExtractedCount" |
| units="counts" expires_after="2023-04-23"> |
| <obsolete> |
| Expired in M110. |
| </obsolete> |
| <owner>mahmadi@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| The number of search terms extracted from the database to produce local |
| prefix search suggestions. Emitted when prefix search suggestions are |
| requested as a result of the user typing into the Omnibox or the Realbox on |
| the NTP. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.LocalHistoryPrefixSuggest.SearchTermsExtractionTime" |
| units="ms" expires_after="2023-04-23"> |
| <obsolete> |
| Expired in M110 in favor of |
| Omnibox.LocalHistoryPrefixSuggest.SearchTermsExtractionTimeV2 |
| </obsolete> |
| <owner>mahmadi@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| The amount of time it takes to extract search terms from the database and |
| sort them by recency (if needed) to produce local prefix search suggestions. |
| Emitted when prefix search suggestions are requested as a result of the user |
| typing into the Omnibox or the Realbox on the NTP. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.LocalHistoryPrefixSuggest.SearchTermsExtractionTimeV2" |
| units="ms" expires_after="2023-12-20"> |
| <owner>mahmadi@chromium.org</owner> |
| <owner>chrome-desktop-search@google.com</owner> |
| <summary> |
| The amount of time it takes to extract up to the requested number of search |
| terms from the database for both the default and the keyword providers (if |
| applicable) and sort them by recency to produce local prefix search |
| suggestions. Emitted when prefix search suggestions are requested as a |
| result of the user typing into the Omnibox or the NTP Realbox. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.LocalHistoryZeroSuggest.AsyncDeleteTime" units="ms" |
| expires_after="2023-08-27"> |
| <owner>mahmadi@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| The length of time it takes for the corresponding URLs that would produce a |
| deleted match to be queried asynchronously and deleted. Emitted when user |
| deletes a local history zero-prefix suggestion. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.LocalHistoryZeroSuggest.SearchTermsExtractedCount" |
| units="counts" expires_after="2023-04-23"> |
| <obsolete> |
| Expired in M110. |
| </obsolete> |
| <owner>mahmadi@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| The number of search terms extracted from the database to produce local |
| zero-prefix suggestions. Emitted when zero-prefix suggestions are requested |
| as a result of the user focusing into the Omnibox or the Realbox on the NTP. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.LocalHistoryZeroSuggest.SearchTermsExtractionTime" |
| units="ms" expires_after="2023-04-23"> |
| <obsolete> |
| Expired in M110 in favor of |
| Omnibox.LocalHistoryZeroSuggest.SearchTermsExtractionTimeV2 |
| </obsolete> |
| <owner>mahmadi@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| The amount of time it takes to extract search terms from the database and |
| sort them by frecency to produce local zero-prefix suggestions. Emitted when |
| zero-prefix suggestions are requested as a result of the user focusing into |
| the Omnibox or the Realbox on the NTP. In M103, this was changed to no |
| longer include the construction of the AutocompleteMatch values. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.LocalHistoryZeroSuggest.SearchTermsExtractionTimeV2" |
| units="ms" expires_after="2023-12-20"> |
| <owner>mahmadi@chromium.org</owner> |
| <owner>chrome-desktop-search@google.com</owner> |
| <summary> |
| The amount of time it takes to extract up to the requested number of search |
| terms from the database and sort them by frecency to produce local |
| zero-prefix suggestions. Emitted when zero-prefix suggestions are requested |
| as a result of the user focusing into the Omnibox or the NTP Realbox. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.LocalHistoryZeroSuggest.SyncDeleteTime" units="ms" |
| expires_after="2023-08-27"> |
| <owner>mahmadi@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</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. Emitted when user |
| requests to delete a local history zero-prefix suggestion. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Omnibox.MatchStability2.MatchChangeInAnyPosition{OmniboxAutocompleteUpdateSlice}" |
| enum="BooleanChanged" expires_after="2023-12-01"> |
| <owner>tommycli@chromium.org</owner> |
| <owner>manukh@chromium.org</owner> |
| <owner>jdonnelly@chromium.org</owner> |
| <summary> |
| This tracks how unstable omnibox matches are. |
| |
| Typically, each input change is followed by a single synchronous update, and |
| then approximately 3 asynchronous updates. There may be more or less |
| asynchronous updates depending on which providers are enabled for the |
| particular platform/user, the input (e.g. some providers don't run for |
| 0-length inputs), and how quickly the input changes occur (e.g. if the |
| inputs update rapidly, slower async providers won't have time to provide |
| updates before they're aborted by newer inputs). |
| |
| For each autocomplete update, this histogram logs whether any match position |
| changes. If 1 or more matches changed, logs true once; otherwise false once. |
| |
| When the number of matches changes, matches that are removed are considered |
| a 'change', while matches that are appended are less disruptive to the user |
| and not considered a 'change'. 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 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 coalescing, 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 |
| per keystroke or other user gesture. |
| |
| There're the related Omnibox.MatchStability2.InAnyPosition.* slices for |
| tracking match instability for all, asynchronous, and synchronous updates. |
| |
| This histogram can be considered a boolean analogue to the |
| Omnibox.MatchStability2.Index.* histogram which tracks which matches |
| changed. |
| |
| {OmniboxAutocompleteUpdateSlice} |
| </summary> |
| <token key="OmniboxAutocompleteUpdateSlice" |
| variants="OmniboxAutocompleteUpdateSlice"/> |
| </histogram> |
| |
| <histogram |
| name="Omnibox.MatchStability2.MatchChangeIndex{OmniboxAutocompleteUpdateSlice}" |
| units="position" expires_after="2023-12-01"> |
| <owner>tommycli@chromium.org</owner> |
| <owner>manukh@chromium.org</owner> |
| <owner>jdonnelly@chromium.org</owner> |
| <summary> |
| This tracks how unstable omnibox matches are. |
| |
| Typically, each input change is followed by a single synchronous update, and |
| then approximately 3 asynchronous updates. There may be more or less |
| asynchronous updates depending on which providers are enabled for the |
| particular platform/user, the input (e.g. some providers don't run for |
| 0-length inputs), and how quickly the input changes occur (e.g. if the |
| inputs update rapidly, slower async providers won't have time to provide |
| updates before they're aborted by newer inputs). |
| |
| For each match change, this histogram logs the index of the match change. |
| Match changes occur when any match position changes; i.e. is set to a new |
| match different from the old match in that position, even if the new match |
| was contained in the old matches set. If multiple matches change in a single |
| autocomplete update, logs each. If none change in a single autocomplete |
| update, this histogram is not logged. |
| |
| We primarily care about 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, matches that are removed are considered |
| a 'change', while matches that are appended are less disruptive to the user |
| and not considered a 'change'. 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 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 coalescing, 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 |
| per keystroke or other user gesture. |
| |
| There're the related Omnibox.MatchStability2.Index.* slices for tracking |
| match instability for all, asynchronous, and synchronous updates. |
| |
| There's the related Omnibox.MatchStability2.InAnyPosition histogram for |
| tracking whether any match changed per autocomplete update. |
| |
| {OmniboxAutocompleteUpdateSlice} |
| </summary> |
| <token key="OmniboxAutocompleteUpdateSlice" |
| variants="OmniboxAutocompleteUpdateSlice"/> |
| </histogram> |
| |
| <histogram name="Omnibox.NumTypedTerms" units="terms" |
| expires_after="2023-10-22"> |
| <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.OmniboxEditModelOpenMatchTime" units="ms" |
| expires_after="2023-12-01"> |
| <owner>manukh@chromium.org</owner> |
| <owner>jdonnelly@chromium.org</owner> |
| <owner>chrome-desktop-search@google.com</owner> |
| <summary> |
| The time `OmniboxEditModel::OpenMatch()` took. This is invoked on selecting |
| an omnibox suggestion (including a 'switch to tab' chip) and paste and |
| go/search. Besides kicking off the navigation, it includes non-negligible |
| logging (including the omnibox event proto) and some miscellaneous steps. |
| |
| This is intended to measure some performance optimization features and be |
| removed after. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.OmniboxViewRevertAll" units="ms" |
| expires_after="2023-12-01"> |
| <owner>manukh@chromium.org</owner> |
| <owner>jdonnelly@chromium.org</owner> |
| <owner>chrome-desktop-search@google.com</owner> |
| <summary> |
| The time `OmniboxView::RevertAll()` took. This is invoked on multiple user |
| actions that affect the omnibox state; e.g. tab switch, omnibox navigation, |
| etc. It includes the time to a) revert the edit model, b) close the popup, |
| and c) refresh the model. This is intended to measure some performance |
| optimization features and be removed after. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.OnDeviceHeadSuggest.AsyncQueryTime" units="ms" |
| expires_after="2021-12-12"> |
| <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-12-12"> |
| <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="2024-02-01"> |
| <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="2024-02-01"> |
| <owner>jdonnelly@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.PedalShown" enum="SuggestionPedalType" |
| expires_after="2023-10-22"> |
| <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.{OmniboxProvider}" units="ms" |
| expires_after="2024-02-01"> |
| <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 {OmniboxProvider}Provider's synchronous |
| pass. |
| </summary> |
| <token key="OmniboxProvider" variants="OmniboxProviders"/> |
| </histogram> |
| |
| <histogram name="Omnibox.QueryTime2" units="ms" expires_after="2024-02-01"> |
| <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 (for 'Omnibox.QueryTime2.N') or any length input |
| (for 'Omnibox.QueryTime2'). 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.ResumeJourneyShown" units="position" |
| expires_after="2023-09-03"> |
| <owner>tommycli@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Emits the position of any "Resume Journey" omnibox actions shown |
| in the popup. The position index is 0-based, so an action shown in the |
| topmost match is logged as value 0, consistent with |
| Omnibox.SelectedPosition. |
| |
| Note that these are emitted when the user uses the omnibox to go somewhere. |
| When that happens, one count is emitted per action visible in the popup. |
| These are NOT emitted per-keystroke, in order to make this a suitable |
| denominator for Omnibox.SuggestionUsed.ResumeJourney. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.ResumeJourneyShown.ClusterKeywordScore" units="count" |
| expires_after="2023-09-10"> |
| <owner>junzou@chromium.org</owner> |
| <owner>chrome-intelligence-core@google.com</owner> |
| <summary> |
| Emits the score of matched cluster keyword of any "Resume Journey" |
| omnibox actions shown in the popup. |
| |
| Note that these are emitted when the user uses the omnibox to go somewhere. |
| When that happens, one keyword type is emitted per action visible in the |
| popup. These are NOT emitted per-keystroke, in order to make this a suitable |
| denominator for Omnibox.SuggestionUsed.ResumeJourney.ClusterKeywordScore. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.ResumeJourneyShown.ClusterKeywordType" |
| enum="HistoryClusterKeywordType" expires_after="2023-10-22"> |
| <owner>junzou@chromium.org</owner> |
| <owner>chrome-intelligence-core@google.com</owner> |
| <summary> |
| Emits the type of the matched cluster keyword of any "Resume |
| Journey" omnibox actions shown in the popup. The types indicate the |
| sources from which the keywords are generated in the history clustering |
| backend. |
| |
| Note that these are emitted when the user uses the omnibox to go somewhere. |
| When that happens, one keyword type is emitted per action visible in the |
| popup. These are NOT emitted per-keystroke, in order to make this a suitable |
| denominator for Omnibox.SuggestionUsed.ResumeJourney.ClusterKeywordType. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.ResumeJourneyShown.PageEntityCollection" |
| enum="OptimizationGuidePageEntityCollection" expires_after="2023-10-22"> |
| <owner>junzou@chromium.org</owner> |
| <owner>chrome-intelligence-core@google.com</owner> |
| <summary> |
| Emits the top entity collection of any "Resume Journey" omnibox |
| actions shown in the popup. The collections are high-level verticals the |
| keywords belong to. |
| |
| Note that these are emitted when the user uses the omnibox to go somewhere. |
| When that happens, one collection is emitted per action visible in the |
| popup. These are NOT emitted per-keystroke, in order to make this a suitable |
| denominator for Omnibox.SuggestionUsed.ResumeJourney.PageEntityCollection. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.RichAutocompletion.Triggered" |
| enum="OmniboxRichAutocompletionType" expires_after="2023-12-01"> |
| <owner>manukh@chromium.org</owner> |
| <owner>jdonnelly@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Measures the number of sessions for which each type of rich autocompletion |
| triggered; does not measure the number of times each type of rich |
| autocompletion triggered. |
| |
| As the user types into the omnibox, the omnibox suggestions are updated. |
| Some of those suggestions may have rich autocompletion. No suggestion may |
| have multiple types of rich autocompletion. A type of rich autocompletion is |
| considered triggered only if the default suggestion has rich autocompletion. |
| If a non-default suggestion has rich autocompletion, does not suffice. If |
| any input during the session triggered a rich autocompletion type, that type |
| is considered triggered for the entire session. |
| |
| Recorded multiple times per omnibox session (i.e. per user selecting a |
| suggestion). Recorded once for each type of rich autocompletion that |
| triggered during the session (i.e. while the user was typing their input). |
| If a rich autocompletion type triggered multiple times during the session |
| (very common), it will be logged exactly once. Hence, it's impossible for |
| any single bucket's count to be larger than the count of omnibox sessions or |
| Omnibox.RichAutocompletion.Triggered.Any. If multiple rich autocompletion |
| types triggered during the session (less common), each will be logged. |
| Hence, it's possible for the total count of this histogram to be larger than |
| the count of omnibox sessions. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.RichAutocompletion.Triggered.Any" units="Boolean" |
| expires_after="2023-10-22"> |
| <owner>manukh@chromium.org</owner> |
| <owner>jdonnelly@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Measures the number of sessions for which any type of rich autocompletion |
| triggered. |
| |
| As the user types into the omnibox, the omnibox suggestions are updated. |
| Some of those suggestions may have rich autocompletion. No suggestion may |
| have multiple types of rich autocompletion. A type of rich autocompletion is |
| considered triggered only if the default suggestion has rich autocompletion. |
| If a non-default suggestion has rich autocompletion, does not suffice. If |
| any input during the session triggered a rich autocompletion type, that type |
| is considered triggered for the entire session. |
| |
| The related "Omnibox.RichAutocompletion.Triggered" histogram |
| breaks down the trigger count for each rich autocompletion type. |
| |
| Recorded exactly once per omnibox session (i.e. per user selecting a |
| suggestion). |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.Search.OffTheRecord" enum="BooleanOffTheRecord" |
| expires_after="2024-02-01"> |
| <owner>jdonnelly@chromium.org</owner> |
| <owner>roagarwal@chromium.org</owner> |
| <owner>chrome-incognito@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.SearchboxStats.Length" units="chars" |
| expires_after="2023-10-08"> |
| <owner>mahmadi@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Records the length of the gs_lcrp= param in the Search Result Page request |
| URLs. Recorded every time a Search Result Page URL is generated in the |
| omnibox/realbox. This happens either when the user selects a suggestion in |
| order to load Search Result Page or when a proactive request is made to |
| prefetch the Search Result Page. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.SearchEngineType" enum="OmniboxSearchEngineType" |
| expires_after="2023-10-22"> |
| <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.SearchWhatYouTypedWasAlsoSuggested.{HistoryOrSuggest}" |
| units="boolean" expires_after="2023-05-02"> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Records whether a "search what you type" omnibox navigation was |
| also a {HistoryOrSuggest} type. Recorded when the user navigates to a search |
| via typing the full query into the omnibox. |
| </summary> |
| <token key="HistoryOrSuggest"> |
| <variant name="History" summary="history"/> |
| <variant name="HistoryOrSuggest" summary="history or suggest"/> |
| <variant name="Suggest" summary="suggest"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Omnibox.SearchPreload.ForwardingResult.NotServedToPrerender" |
| enum="SearchPreloadForwardingResult" expires_after="2023-10-15"> |
| <owner>lingqi@chromium.org</owner> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>chrome-prerendering@google.com</owner> |
| <summary> |
| Recorded when posting a task to destroy StreamingSearchPrefetchURLLoader. |
| Used to track whether the native forwarding works as expected. Together with |
| Omnibox.SearchPreload.ForwardingResult.WasServedToPrerender, these two |
| metrics are used to monitor whether shareable cache does not break the |
| forwarding logic. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.SearchPreload.ForwardingResult.WasServedToPrerender" |
| enum="SearchPreloadForwardingResult" expires_after="2023-10-15"> |
| <owner>lingqi@chromium.org</owner> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>chrome-prerendering@google.com</owner> |
| <summary> |
| Recorded when posting a task to destroy StreamingSearchPrefetchURLLoader. |
| Together with Omnibox.SearchPreload.ForwardingResult.NotServedToPrerender, |
| these two metrics are used to monitor whether shareable cache does not break |
| the forwarding logic. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.SearchPreload.ResponseDataReaderFinalStatus.Prerender" |
| enum="SearchPrefetchResponseDataReaderStatus" expires_after="2023-10-15"> |
| <owner>lingqi@chromium.org</owner> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>chrome-prerendering@google.com</owner> |
| <summary> |
| Tracks whether the StreamingSearchPrefetchURLLoader::ResponseReader can |
| successfully serving to prerender clients. Recorded when a |
| `StreamingSearchPrefetchURLLoader::ResponseReader` is destroyed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.SearchProviderMatches" units="units" |
| expires_after="2022-09-11"> |
| <obsolete> |
| Obsolete as of M112. |
| </obsolete> |
| <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.Start.WantAsyncMatches" enum="Boolean" |
| expires_after="2023-10-22"> |
| <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="2023-09-03"> |
| <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.ClientSummarizedResultType" |
| enum="ClientSummarizedResultType" expires_after="2023-09-03"> |
| <owner>nyquist@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <owner>tommycli@chromium.org</owner> |
| <owner>chrome-segmentation-platform@google.com</owner> |
| <summary> |
| For each user navigation using the omnibox, logs the selected omnibox result |
| as one of a limited set of result types, based on the autocomplete match. |
| |
| As an example, HISTORY_URL and HISTORY_TITLE are both summarized into the |
| Url summarized result type. |
| |
| This histogram intended to match the server-side histograms that use |
| OmniboxSummarizedResultType such as Omnibox.SuggestionUsed.SearchVsUrl. This |
| is also calculated on the client side to enable functionality that is based |
| on listening to local metrics at runtime. |
| |
| Logged whenever a user navigates using the omnibox. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.SuggestionUsed.OfferedTabMatch" enum="BooleanOffered" |
| expires_after="2023-10-22"> |
| <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="2023-10-22"> |
| <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.ResumeJourney" units="position" |
| expires_after="2023-09-03"> |
| <owner>tommycli@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Logs the position of "Resume Journey" omnibox actions actually |
| selected by the user. The position index is 0-based, so a selected action in |
| the topmost match is logged as value 0, consistent with |
| Omnibox.SelectedPosition. |
| |
| This can be combined with Omnibox.ResumeJourneyShown to compute the Usage |
| (or CTR) of the "Resume Journey" omnibox action on a per-position |
| basis. |
| |
| It's safe to compare the total count of this metric to the total count of |
| Omnibox.ResumeJourneyShown because within a single popup, only zero or one |
| "Resume Journey" can be shown. If multiple actions start being |
| shown in the popup, comparing to the total count becomes misleading to |
| interpret as a CTR. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.SuggestionUsed.ResumeJourney.ClusterKeywordScore" |
| units="count" expires_after="2023-08-20"> |
| <owner>junzou@chromium.org</owner> |
| <owner>chrome-intelligence-core@google.com</owner> |
| <summary> |
| Logs the score of the matched cluster keyword of "Resume Journey" |
| omnibox actions actually selected by the user. |
| |
| This can be combined with Omnibox.ResumeJourneyShown.ClusterKeywordScore to |
| compute the precision (or CTR) of the "Resume Journey" omnibox |
| action on a keyword score bucket. |
| |
| It's safe to compare the total count of this metric to the total count of |
| Omnibox.ResumeJourneyShown.ClusterKeywordScore because within a single |
| popup, only zero or one "Resume Journey" can be shown. If multiple |
| actions start being shown in the popup, comparing to the total count becomes |
| misleading to interpret as a CTR. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.SuggestionUsed.ResumeJourney.ClusterKeywordType" |
| enum="HistoryClusterKeywordType" expires_after="2023-08-27"> |
| <owner>junzou@chromium.org</owner> |
| <owner>chrome-intelligence-core@google.com</owner> |
| <summary> |
| Logs the type of the matched cluster keyword of "Resume Journey" |
| omnibox actions actually selected by the user. |
| |
| This can be combined with Omnibox.ResumeJourneyShown.ClusterKeywordType to |
| compute the precision (or CTR) of the "Resume Journey" omnibox |
| action on a keyword type basis. |
| |
| It's safe to compare the total count of this metric to the total count of |
| Omnibox.ResumeJourneyShown.ClusterKeywordType because within a single popup, |
| only zero or one "Resume Journey" can be shown. If multiple |
| actions start being shown in the popup, comparing to the total count becomes |
| misleading to interpret as a CTR. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Omnibox.SuggestionUsed.ResumeJourney.ClusterKeywordType.{ClusterKeywordTypeLabel}.CTR" |
| enum="BooleanSelected" expires_after="2022-12-10"> |
| <owner>junzou@chromium.org</owner> |
| <owner>chrome-intelligence-core@google.com</owner> |
| <summary> |
| Emitted when the user uses the omnibox to go somewhere AND the "Resume |
| Journey" chip triggered by {ClusterKeywordTypeLabel} was offered in any |
| position. |
| |
| This metric records "Selected" if the offered action chip was |
| selected, and records "Not Selected" if the offered action chip |
| was not selected. |
| |
| Therefore the "Selected" bucket proportion is the CTR of the |
| action chip. Higher is better. The count of this bucket matches the |
| {ClusterKeywordTypeLabel} bucket of |
| Omnibox.SuggestionUsed.ResumeJourney.ClusterKeywordType. |
| |
| The total count of both buckets is how many times we've offered the chip |
| triggered by {ClusterKeywordTypeLabel} in total, and matches the |
| {ClusterKeywordTypeLabel} bucket of |
| Omnibox.ResumeJourneyShown.ClusterKeywordType. |
| </summary> |
| <token key="ClusterKeywordTypeLabel"> |
| <variant name="Entity"/> |
| <variant name="EntityAlias"/> |
| <variant name="EntityCategory"/> |
| <variant name="SearchTerms"/> |
| <variant name="Unknown"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Omnibox.SuggestionUsed.ResumeJourney.PageEntityCollection" |
| enum="OptimizationGuidePageEntityCollection" expires_after="2023-09-03"> |
| <owner>junzou@chromium.org</owner> |
| <owner>chrome-intelligence-core@google.com</owner> |
| <summary> |
| Logs the top entity collection of "Resume Journey" omnibox actions |
| actually selected by the user. |
| |
| This can be combined with Omnibox.ResumeJourneyShown.PageEntityCollection to |
| compute the precision (or CTR) of the "Resume Journey" omnibox |
| action on a per-collection basis. |
| |
| It's safe to compare the total count of this metric to the total count of |
| Omnibox.ResumeJourneyShown.PageEntityCollection because within a single |
| popup, only zero or one "Resume Journey" can be shown. If multiple |
| actions start being shown in the popup, comparing to the total count becomes |
| misleading to interpret as a CTR. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Omnibox.SuggestionUsed.ResumeJourney.PageEntityCollection.{CollectionLabel}.CTR" |
| enum="BooleanSelected" expires_after="2022-12-08"> |
| <owner>junzou@chromium.org</owner> |
| <owner>chrome-intelligence-core@google.com</owner> |
| <summary> |
| Emitted when the user uses the omnibox to go somewhere AND the "Resume |
| Journey" chip triggered by {CollectionLabel} was offered in any |
| position. |
| |
| This metric records "Selected" if the offered action chip was |
| selected, and records "Not Selected" if the offered action chip |
| was not selected. |
| |
| Therefore the "Selected" bucket proportion is the CTR of the |
| action chip. Higher is better. The count of this bucket matches the |
| {CollectionLabel} bucket of |
| Omnibox.SuggestionUsed.ResumeJourney.PageEntityCollection. |
| |
| The total count of both buckets is how many times we've offered the chip |
| triggered by {CollectionLabel} in total, and matches the {CollectionLabel} |
| bucket of Omnibox.ResumeJourneyShown.PageEntityCollection. |
| </summary> |
| <token key="CollectionLabel"> |
| <variant name="Accommodations"/> |
| <variant name="Actors"/> |
| <variant name="Airports"/> |
| <variant name="AnatomicalStructures"/> |
| <variant name="Artworks"/> |
| <variant name="Athletes"/> |
| <variant name="Authors"/> |
| <variant name="BookEditions"/> |
| <variant name="BusinessOperations"/> |
| <variant name="Cars"/> |
| <variant name="CausesOfDeath"/> |
| <variant name="CelestialObjectWithCoordinateSystems"/> |
| <variant name="ChemicalCompounds"/> |
| <variant name="ConsumerProducts"/> |
| <variant name="Cuisines"/> |
| <variant name="CulinaryMeasures"/> |
| <variant name="Currencies"/> |
| <variant name="Diets"/> |
| <variant name="DiseaseOrMedicalConditions"/> |
| <variant name="EducationalInstitutions"/> |
| <variant name="Employers"/> |
| <variant name="Events"/> |
| <variant name="FictionalCharacters"/> |
| <variant name="FilmActors"/> |
| <variant name="Films"/> |
| <variant name="FilmScreeningVenues"/> |
| <variant name="FilmSeries"/> |
| <variant name="Foods"/> |
| <variant name="Garments"/> |
| <variant name="GeoBusinessChain"/> |
| <variant name="GeoEstablishment"/> |
| <variant name="GeoLocality"/> |
| <variant name="GeoNaturalFeature"/> |
| <variant name="GeoPolitical"/> |
| <variant name="Holidays"/> |
| <variant name="HumanLanguages"/> |
| <variant name="JobTitles"/> |
| <variant name="LiterarySeries"/> |
| <variant name="LocalShoppingBuyables"/> |
| <variant name="Materials"/> |
| <variant name="MedicalTreatments"/> |
| <variant name="Models"/> |
| <variant name="MusicalAlbums"/> |
| <variant name="MusicalArtists"/> |
| <variant name="MusicalGenres"/> |
| <variant name="MusicalGroups"/> |
| <variant name="MusicalRecordings"/> |
| <variant name="MusicalReleases"/> |
| <variant name="MusicGroupMembers"/> |
| <variant name="Musicians"/> |
| <variant name="OrganismClassifications"/> |
| <variant name="Organizations"/> |
| <variant name="People"/> |
| <variant name="Periodicals"/> |
| <variant name="Politicians"/> |
| <variant name="RecordingClusters"/> |
| <variant name="Religions"/> |
| <variant name="Restaurants"/> |
| <variant name="RideOfferingServices"/> |
| <variant name="ShoppingCenters"/> |
| <variant name="SocialNetworkServiceWebsites"/> |
| <variant name="Software"/> |
| <variant name="Sports"/> |
| <variant name="SportsTeams"/> |
| <variant name="Structures"/> |
| <variant name="TouristAttractions"/> |
| <variant name="TravelDestinations"/> |
| <variant name="TvActors"/> |
| <variant name="TvEpisodes"/> |
| <variant name="TvPrograms"/> |
| <variant name="Unknown"/> |
| <variant name="Venues"/> |
| <variant name="VideoGames"/> |
| <variant name="Websites"/> |
| <variant name="WrittenWorks"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Omnibox.SuggestionUsed.ResumeJourneyCTR" |
| enum="BooleanSelected" expires_after="2023-10-22"> |
| <owner>tommycli@chromium.org</owner> |
| <owner>chrome-journeys@google.com</owner> |
| <summary> |
| Emitted when the user uses the omnibox to go somewhere AND the "Resume |
| Journey" chip was offered in any position. |
| |
| This metric records "Selected" if the offered action chip was |
| selected, and records "Not Selected" if the offered action chip |
| was not selected. |
| |
| Therefore the "Selected" bucket proportion is the CTR of the |
| action chip. Higher is better. The count of this bucket matches the sum of |
| Omnibox.SuggestionUsed.ResumeJourney. |
| |
| The total count of both buckets is how many times we've offered the chip |
| total, and matches the sum of Omnibox.ResumeJourneyShown. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.SuggestionUsed.RichAutocompletion" |
| enum="OmniboxRichAutocompletionType" expires_after="2023-10-22"> |
| <owner>manukh@chromium.org</owner> |
| <owner>jdonnelly@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Measures the number of sessions for which each type of rich autocompletion |
| was used. |
| |
| As the user types into the omnibox, the omnibox suggestions are updated. |
| Some of those suggestions may have rich autocompletion. No suggestion may |
| have multiple types of rich autocompletion. A type of rich autocompletion is |
| considered triggered only if the default suggestion has rich autocompletion. |
| If a non-default suggestion has rich autocompletion, does not suffice. If |
| any input during the session triggered a rich autocompletion type, that type |
| is considered triggered for the entire session. |
| |
| Recorded exactly once per omnibox session (i.e. per user selecting a |
| suggestion). |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Omnibox.SuggestionUsed.Search.Experimental.NavigationToFirstMeaningfulPaint" |
| units="ms" expires_after="2023-08-20"> |
| <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.InputToNavigationStart2" |
| units="ms" expires_after="2023-10-22"> |
| <owner>spelchat@chromium.org</owner> |
| <owner>chrome-brapp-loading@google.com</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Measures the time from the user selecting the omnibox suggestion and the |
| navigation start time getting ticked. Only recorded for a search query |
| suggestion selected from the omnibox. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Omnibox.SuggestionUsed.Search.NavigationToFirstContentfulPaint" |
| units="ms" expires_after="2023-10-01"> |
| <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.Search.NavigationToLargestContentfulPaint2" |
| units="ms" expires_after="2023-09-03"> |
| <owner>lingqi@chromium.org</owner> |
| <owner>chrome-prerendering@google.com</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Measures the time from navigation start to largest contentful paint |
| (https://github.com/w3c/largest-contentful-paint). Only recorded for a |
| search query suggestion selected from the omnibox. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Omnibox.SuggestionUsed.Search.NavigationToLargestContentfulPaint2Above2s" |
| units="ms" expires_after="2023-10-01"> |
| <owner>spelchat@chromium.org</owner> |
| <owner>chrome-brapp-loading@google.com</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Measures the time from navigation to the time the first largest contentful |
| paint candidate |
| (https://github.com/w3c/largest-contentful-paint#the-last-candidate) above 2 |
| seconds. Only recorded for a search query suggestion selected from the |
| omnibox. Note that this histogram is most useful for use with Chrometto in |
| order to record a high LCP trace as soon as it happens (rather than only |
| once the slow page loads gets discarded). |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.SuggestionUsed.SelectedTabMatch" |
| enum="BooleanSelected" expires_after="2023-10-22"> |
| <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="2023-09-10"> |
| <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.InputToNavigationStart2" units="ms" |
| expires_after="2023-10-22"> |
| <owner>spelchat@chromium.org</owner> |
| <owner>chrome-brapp-loading@google.com</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Measures the time from the user selecting the omnibox suggestion and the |
| navigation start time getting ticked. Only recorded for a URL suggestion |
| selected from the omnibox. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.SuggestionUsed.URL.NavigationToFirstContentfulPaint" |
| units="ms" expires_after="2023-08-27"> |
| <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.SuggestionUsed.URL.NavigationToLargestContentfulPaint2" |
| units="ms" expires_after="2023-09-03"> |
| <owner>robertlin@chromium.org</owner> |
| <owner>chrome-prerendering@google.com</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Measures the time from navigation start to largest contentful paint. Only |
| recorded for a URL suggestion selected from the omnibox. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.SuggestRequest.Failure.GoogleResponseTime" units="ms" |
| expires_after="2023-10-01"> |
| <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="2023-10-01"> |
| <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="2022-05-01"> |
| <obsolete> |
| 3/2022; feature launched. |
| </obsolete> |
| <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="2023-09-24"> |
| <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.SuggestTiles.DeletedTileIndex" units="position" |
| expires_after="2023-10-08"> |
| <owner>ender@google.com</owner> |
| <owner>mahmadi@chromium.org</owner> |
| <summary> |
| The index of the item in the MostVisited carousel that the user deleted. |
| Zero-based: the first item in the carousel is recorded in bucket 0, second |
| in bucket 1 and so on. Items beyond 16 will be stored in the overflow bucket |
| (15). |
| |
| Recorded every time the user initiates deletion of a suggest tile, even if |
| the operation is later canceled. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.SuggestTiles.DeletedTileType" enum="SuggestTileType" |
| expires_after="2023-10-08"> |
| <owner>ender@google.com</owner> |
| <owner>mahmadi@chromium.org</owner> |
| <summary> |
| Records the type of the SuggestTile that the user deleted. Most Visited URLs |
| record a URL, and Organic Repeatable Queries record a Search type. |
| |
| Recorded every time the user initiates deletion of a suggest tile, that |
| results with tile removal. Not recorded if the user chooses to cancel the |
| action. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.SuggestTiles.SelectedTileIndex" units="position" |
| expires_after="2023-10-08"> |
| <owner>ender@google.com</owner> |
| <owner>mahmadi@chromium.org</owner> |
| <summary> |
| The index of the item in the MostVisited carousel that the user opened. |
| Zero-based: the first item in the carousel is recorded in bucket 0, second |
| in bucket 1 and so on. Items beyond 16 will be stored in the overflow bucket |
| (15). |
| |
| Recorded every time the user selects the tile to initiate navigation, even |
| if the navigation could not be completed (eg. target site did not load). |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.SuggestTiles.SelectedTileType" enum="SuggestTileType" |
| expires_after="2023-06-01"> |
| <owner>ender@google.com</owner> |
| <owner>mahmadi@chromium.org</owner> |
| <summary> |
| Records the type of the SuggestTile that the user interacted with. Most |
| Visited URLs record a URL, and Organic Repeatable Queries record a Search |
| type. |
| |
| Recorded every time the user selects the tile to initiate navigation, even |
| if the navigation could not be completed (eg. target site did not load). |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.SuggestTiles.TileTypeCount.{SuggestTileType}" |
| units="count" expires_after="2023-06-01"> |
| <owner>ender@google.com</owner> |
| <owner>mahmadi@chromium.org</owner> |
| <summary> |
| Total count of offered {SuggestTileType} tile types. |
| |
| Recorded every time the current context is eligible to receive |
| MostVisitedTiles, even if there were no tiles of any kind to show. |
| </summary> |
| <token key="SuggestTileType"> |
| <variant name="Search"/> |
| <variant name="URL"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Omnibox.TabMatchTime" units="microseconds" |
| expires_after="2023-09-24"> |
| <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="2022-06-26"> |
| <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="2023-05-14"> |
| <obsolete> |
| Replaced with Omnibox.GroupId.ToggledOff in M114. |
| </obsolete> |
| <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="2023-10-08"> |
| <obsolete> |
| Replaced with Omnibox.GroupId.ToggledOn in M114. |
| </obsolete> |
| <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="2023-10-08"> |
| <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.URLScoringModelExecuted.ElapsedTime" units="ms" |
| expires_after="2024-04-14"> |
| <owner>mahmadi@chromium.org</owner> |
| <owner>yoangela@chromium.org</owner> |
| <owner>chrome-desktop-search@google.com</owner> |
| <summary> |
| The amount of time it takes to execute the URL scoring model for all the |
| eligible matches. Emitted when all the providers are done and there is at |
| least one eligible match for model execution. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.URLScoringModelExecuted.Matches" units="counts" |
| expires_after="2024-04-14"> |
| <owner>mahmadi@chromium.org</owner> |
| <owner>yoangela@chromium.org</owner> |
| <owner>chrome-desktop-search@google.com</owner> |
| <summary> |
| The number of matches the URL scoring model was executed for. Emitted when |
| all the providers are done and there is at least one eligible match for |
| model execution. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.ZeroPrefixOnFocusType" enum="OmniboxFocusType" |
| expires_after="2023-04-26"> |
| <owner>rongtan@google.com</owner> |
| <owner>ender@google.com</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Counts the type (concept ID) of omnibox zero-prefix on-focus type requests. |
| The omnibox of Chrome on Android measures use of different focus types while |
| retrieving zero prefix suggestions on supported platforms, and records |
| exactly once per every zero prefix suggestions request. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.ZeroSuggest.Eligible.OnFocusV2" |
| enum="ZeroSuggestEligibleOnFocus" expires_after="2022-12-25"> |
| <obsolete> |
| Obsolete as of M106. |
| </obsolete> |
| <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 "generally ineligible" 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 "generally |
| ineligible" bucket. The difference between "eligible" and |
| "generally eligible but not this time" 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.ZeroSuggestProvider.CacheMemoryUsage" units="Bytes" |
| expires_after="2023-09-30"> |
| <owner>mahmadi@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Emitted in ZeroSuggestCacheService, records the estimated dynamically |
| allocated memory usage of the ZeroSuggestProvider cache every time the |
| prefetch or the non-prefetch zero-suggest response is stored in the cache on |
| eligible page load / page switch events and when the user has focused or |
| cleared the omnibox but has not typed in yet, respectively. Note that the |
| max number of responses stored in the cache is always capped. The cache size |
| can build up as more responses are stored. The cache size can also decrease |
| as responses are removed from the cache when suggestions are deleted from |
| the omnibox or when the user clears the browsing data. Hence, due to the |
| dynamic nature of the cache size, this histogram is recorded on every store |
| event as opposed to the cache destructor. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.ZeroSuggestProvider.Eligibility" |
| enum="ZeroSuggestEligibility" expires_after="2023-09-30"> |
| <owner>mahmadi@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Logs whether ZeroSuggestProvider is eligible to request and display zero- |
| prefix suggestions, and if not, why not. Emitted for both |
| omit_asynchronous_matches_ true (i.e, Autocomplete classifier) and false |
| inputs (i.e, when the user has typed in, focused the omnibox, or cleared it |
| but has not typed in yet) in ZeroSuggestProvider::Start(). Also emitted on |
| applicable page load/switch events in ZeroSuggestProvider::StartPrefetch(). |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.ZeroSuggestProvider.{ResultType}.{RequestType}" |
| enum="ZeroSuggestProviderEvent" expires_after="2023-09-30"> |
| <owner>mahmadi@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Enumerates the events in the ZeroSuggestProvider as a result of |
| {RequestType} for {ResultType} (i.e., suggestions shown when the user has |
| focused or cleared the omnibox but has not typed in yet). |
| </summary> |
| <token key="ResultType"> |
| <variant name="NoURL" |
| summary="zero-prefix suggestions not based on the current page URL"/> |
| <variant name="URLBased" |
| summary="zero-prefix suggestions based on the current page URL"/> |
| </token> |
| <token key="RequestType"> |
| <variant name="NonPrefetch" summary="user-initiated requests"/> |
| <variant name="Prefetch" summary="non-user-initiated proactive requests"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Omnibox.ZeroSuggestRequests.NonPrefetch" |
| enum="OmniboxZeroSuggestRequests" expires_after="2023-09-30"> |
| <obsolete> |
| Obsolete as of M105. |
| </obsolete> |
| <owner>mahmadi@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Counts the number of non-prefetch zero suggest requests (requests for |
| suggestions when the user has focused but not modified the omnibox) the |
| omnibox sent, requests that were invalidated, responses that were received, |
| the subset of responses that were loaded from HTTP cache, and finally the |
| subset of responses that ended up updating the displayed results. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.ZeroSuggestRequests.NonPrefetch.RoundTripTime" |
| units="ms" expires_after="2023-09-30"> |
| <obsolete> |
| Obsolete as of M105. |
| </obsolete> |
| <owner>mahmadi@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Records the time elapsed between non-prefetch zero suggest requests |
| (requests for suggestions when the user has focused but not modified the |
| omnibox) sent and the responses received; whether or not the response is |
| loaded from HTTP cache. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.ZeroSuggestRequests.Prefetch" |
| enum="OmniboxZeroSuggestRequests" expires_after="2023-09-30"> |
| <obsolete> |
| Obsolete as of M105. |
| </obsolete> |
| <owner>mahmadi@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Counts the number of prefetch zero suggest requests (requests for |
| suggestions when the user opens a new tab or brings one to foreground) the |
| omnibox sent, requests that were invalidated, responses that were received, |
| the subset of responses that were loaded from HTTP cache, and finally the |
| subset of responses that ended up updating the displayed results. |
| </summary> |
| </histogram> |
| |
| <histogram name="Omnibox.ZeroSuggestRequests.Prefetch.RoundTripTime" units="ms" |
| expires_after="2023-09-30"> |
| <obsolete> |
| Obsolete as of M105. |
| </obsolete> |
| <owner>mahmadi@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| Records the time elapsed between prefetch zero suggest requests (requests |
| for suggestions when the user opens a new tab or brings one to foreground) |
| sent and the responses received; whether or not the response is loaded from |
| HTTP cache. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Omnibox.{SearchPrefetch}.ClickToNavigationIntercepted.{NavigationPrefetchOnly}" |
| units="ms" expires_after="2023-05-02"> |
| <owner>spelchat@chromium.org</owner> |
| <owner>chrome-brapp-loading@google.com</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| {SearchPrefetch} |
| |
| Measures the time between the user clicks the Omnibox suggestion and the |
| moment the navigation is intercepted by the Search Prefetch code. |
| |
| {NavigationPrefetchOnly} |
| </summary> |
| <token key="SearchPrefetch" variants="SearchPrefetch"/> |
| <token key="NavigationPrefetchOnly" variants="NavigationPrefetchOnly"/> |
| </histogram> |
| |
| <histogram name="Omnibox.{SearchPrefetch}.FetchResult.{SuggestionPrefetchOnly}" |
| enum="BooleanSuccess" expires_after="2023-05-02"> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| {SearchPrefetch} |
| |
| Whether a search prefetch request finished with a success status or a status |
| that could be served. Recorded when prefetch requests receive headers. |
| |
| {SuggestionPrefetchOnly} |
| </summary> |
| <token key="SearchPrefetch" variants="SearchPrefetch"/> |
| <token key="SuggestionPrefetchOnly" variants="SuggestionPrefetchOnly"/> |
| </histogram> |
| |
| <histogram |
| name="Omnibox.{SearchPrefetch}.NavigationInterceptedToForwardingComplete" |
| units="ms" expires_after="2023-05-02"> |
| <owner>spelchat@chromium.org</owner> |
| <owner>chrome-brapp-loading@google.com</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| {SearchPrefetch} |
| |
| Measures the time between the navigation is intercepted by the Search |
| Prefetch code and the moment the Search Prefetch URL loader has finished |
| forwarding the whole response to the navigation URL loader. This time |
| includes finishing fetching the Search response and any queuing delays in |
| the UI thread preventing the Search Prefetch URL loader from forwarding |
| bytes to the navigation code. |
| </summary> |
| <token key="SearchPrefetch" variants="SearchPrefetch"/> |
| </histogram> |
| |
| <histogram |
| name="Omnibox.{SearchPrefetch}.NavigationURLMatches.NavigationPrefetch.{NavigationPrefetchOnly}" |
| enum="Boolean" expires_after="2023-05-02"> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| {SearchPrefetch} |
| |
| Whether the prefetch URL and the navigation URL are an exact match including |
| query params in the URL. Recorded upon navigation to a matching search term. |
| |
| {NavigationPrefetchOnly} |
| </summary> |
| <token key="SearchPrefetch" variants="SearchPrefetch"/> |
| <token key="NavigationPrefetchOnly" variants="NavigationPrefetchOnly"/> |
| </histogram> |
| |
| <histogram |
| name="Omnibox.{SearchPrefetch}.PrefetchEligibilityReason.{NavigationOrSuggestionPrefetch}" |
| enum="SearchPrefetchEligibilityReason" expires_after="2023-05-02"> |
| <obsolete> |
| This is deprecated as of 07/2022. Please use |
| Omnibox.SearchPrefetch.PrefetchEligibilityReason2.{NavigationOrSuggestionPrefetch}. |
| </obsolete> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| {SearchPrefetch} |
| |
| The reason that a search prefetch request issued when a user navigates to a |
| suggestion was not eligible to be prefetched (or 'Prefetched' if it was |
| prefetched). |
| |
| {NavigationOrSuggestionPrefetch} |
| </summary> |
| <token key="SearchPrefetch" variants="SearchPrefetch"/> |
| <token key="NavigationOrSuggestionPrefetch" |
| variants="NavigationOrSuggestionPrefetch"/> |
| </histogram> |
| |
| <histogram |
| name="Omnibox.{SearchPrefetch}.PrefetchEligibilityReason2.{NavigationOrSuggestionPrefetch}" |
| enum="SearchPrefetchEligibilityReason" expires_after="2023-05-02"> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| {SearchPrefetch} |
| |
| The reason that a search prefetch request issued when a user navigates to a |
| suggestion was not eligible to be prefetched (or 'Prefetched' if it was |
| prefetched). |
| |
| {NavigationOrSuggestionPrefetch} |
| </summary> |
| <token key="SearchPrefetch" variants="SearchPrefetch"/> |
| <token key="NavigationOrSuggestionPrefetch" |
| variants="NavigationOrSuggestionPrefetch"/> |
| </histogram> |
| |
| <histogram |
| name="Omnibox.{SearchPrefetch}.PrefetchFinalStatus.{NavigationOrSuggestionPrefetch}" |
| enum="SearchPrefetchStatus" expires_after="2023-05-02"> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| {SearchPrefetch} |
| |
| The status of a Search Prefetch request when it is deleted by expiration or |
| by serving the request. |
| |
| {NavigationOrSuggestionPrefetch} |
| </summary> |
| <token key="SearchPrefetch" variants="SearchPrefetch"/> |
| <token key="NavigationOrSuggestionPrefetch" |
| variants="NavigationOrSuggestionPrefetch"/> |
| </histogram> |
| |
| <histogram |
| name="Omnibox.{SearchPrefetch}.PrefetchServingReason2{PrerenderOrNavigation}" |
| enum="SearchPrefetchServingReason" expires_after="2023-05-02"> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>lingqi@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <owner>chrome-prerendering@google.com</owner> |
| <summary> |
| {SearchPrefetch} |
| |
| The reason that a navigation request could or could not serve a search |
| prefetch request. |
| |
| {PrerenderOrNavigation} |
| </summary> |
| <token key="SearchPrefetch" variants="SearchPrefetch"/> |
| <token key="PrerenderOrNavigation"> |
| <variant name="" summary="Recorded for typical navigations."/> |
| <variant name=".Prerender" |
| summary="Recorded for prerender navigations that might consume the |
| prefetch response."/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="Omnibox.{SearchPrefetch}.PrefetchServingReason{PrerenderOrNavigation}" |
| enum="SearchPrefetchServingReason" expires_after="2023-05-02"> |
| <obsolete> |
| This is deprecated as of 08/2022. Please use |
| Omnibox.SearchPrefetch.PrefetchServingReason2{PrerenderOrNavigation}. |
| </obsolete> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>lingqi@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <owner>chrome-prerendering@google.com</owner> |
| <summary> |
| {SearchPrefetch} |
| |
| The reason that a navigation request could or could not serve a search |
| prefetch request. |
| |
| {PrerenderOrNavigation} |
| </summary> |
| <token key="SearchPrefetch" variants="SearchPrefetch"/> |
| <token key="PrerenderOrNavigation"> |
| <variant name="" summary="Recorded for typical navigations."/> |
| <variant name=".Prerender" |
| summary="Recorded for prerender navigations that might consume the |
| prefetch response."/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="Omnibox.{SearchPrefetch}.ReceivedServableResponse.{FallbackOrInitial}.{NavigationOrSuggestionPrefetch}" |
| units="ms" expires_after="2023-05-02"> |
| <obsolete> |
| Removed since M112 in favor of |
| Omnibox.{SearchPrefetch}.ReceivedServableResponse2.{FallbackOrInitial}.{NavigationOrSuggestionPrefetch}. |
| </obsolete> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| {SearchPrefetch} |
| |
| This histogram records whether an activated (i.e., served) prefetch URL |
| Loader receives a servabled response from the server. |
| |
| {FallbackOrInitial} |
| |
| {NavigationOrSuggestionPrefetch} |
| </summary> |
| <token key="SearchPrefetch" variants="SearchPrefetch"/> |
| <token key="FallbackOrInitial"> |
| <variant name="Fallback" |
| summary="Recorded for the fallback request after the prefetch fails."/> |
| <variant name="Initial" |
| summary="Recorded for the initial prefetch request."/> |
| </token> |
| <token key="NavigationOrSuggestionPrefetch" |
| variants="NavigationOrSuggestionPrefetch"/> |
| </histogram> |
| |
| <histogram |
| name="Omnibox.{SearchPrefetch}.ReceivedServableResponse2.{FallbackOrInitial}.{NavigationOrSuggestionPrefetch}" |
| units="ms" expires_after="2023-05-02"> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <owner>chrome-prerendering@google.com</owner> |
| <summary> |
| {SearchPrefetch} |
| |
| This histogram records whether an activated (i.e., served) prefetch URL |
| Loader receives a servabled response from the server. |
| |
| A servabled reasponse should contain valid headers and body, with any 200 |
| response code. |
| |
| {FallbackOrInitial} |
| |
| {NavigationOrSuggestionPrefetch} |
| </summary> |
| <token key="SearchPrefetch" variants="SearchPrefetch"/> |
| <token key="FallbackOrInitial"> |
| <variant name="Fallback" |
| summary="Recorded for the fallback request after the prefetch fails."/> |
| <variant name="Initial" |
| summary="Recorded for the initial prefetch request."/> |
| </token> |
| <token key="NavigationOrSuggestionPrefetch" |
| variants="NavigationOrSuggestionPrefetch"/> |
| </histogram> |
| |
| <histogram name="Omnibox.{SearchPrefetch}.StartTime.{NavigationPrefetchOnly}" |
| units="ms" expires_after="2023-05-02"> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>chrome-omnibox-team@google.com</owner> |
| <summary> |
| {SearchPrefetch} |
| |
| The amount of time it takes to start a prefetch request. |
| |
| {NavigationPrefetchOnly} |
| </summary> |
| <token key="SearchPrefetch" variants="SearchPrefetch"/> |
| <token key="NavigationPrefetchOnly" variants="NavigationPrefetchOnly"/> |
| </histogram> |
| |
| <histogram name="Realbox.CharTypedToRepaintLatency.ToPaint" units="ms" |
| expires_after="2024-02-01"> |
| <owner>mahmadi@chromium.org</owner> |
| <owner>chrome-desktop-search@google.com</owner> |
| <summary> |
| Records the time taken between a keystroke being typed in the NTP realbox |
| and the time when we're ready to render the results in the DOM. If there are |
| multiple keystrokes before the results are rendered, logs the time since the |
| earliest. This is comparable to Omnibox.CharTypedToRepaintLatency.ToPaint as |
| it does not take into account the time the DOM change task spends in the |
| message loop nor its duration. |
| </summary> |
| </histogram> |
| |
| <histogram name="Realbox.ResultChangedToRepaintLatency.ToPaint" units="ms" |
| expires_after="2024-02-01"> |
| <owner>mahmadi@chromium.org</owner> |
| <owner>chrome-desktop-search@google.com</owner> |
| <summary> |
| Records the time taken between AutocompleteController::Observer's |
| OnResultChanged is called and the time when we're ready to render the |
| results in the NTP realbox. If there are multiple calls to OnResultChanged |
| before the results are rendered, logs the time since the earliest. This is |
| comparable to Realbox.CharTypedToRepaintLatency.ToPaint but excludes the |
| time taken to send the input to the browser and process it. Similarly this |
| does not take into account the time the DOM change task spends in the |
| message loop nor its duration. |
| </summary> |
| </histogram> |
| |
| </histograms> |
| |
| </histogram-configuration> |