| <!-- |
| Copyright 2020 The Chromium Authors. All rights reserved. |
| Use of this source code is governed by a BSD-style license that can be |
| found in the LICENSE file. |
| --> |
| |
| <!-- |
| This file is used to generate a comprehensive list of Navigation histograms |
| along with a detailed description for each histogram. |
| |
| For best practices on writing histogram descriptions, see |
| https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md |
| |
| Please send CLs to chromium-metrics-reviews@google.com rather than to specific |
| individuals. These CLs will be automatically reassigned to a reviewer within |
| about 5 minutes. This approach helps the metrics team to load-balance incoming |
| reviews. Googlers can read more about this at go/gwsq-gerrit. |
| --> |
| |
| <histogram-configuration> |
| |
| <histograms> |
| |
| <histogram name="BackForwardCache.AllSites.EvictedAfterDocumentRestoredReason" |
| enum="BackForwardCacheEvictedAfterDocumentRestoredReason" |
| expires_after="2021-10-01"> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| Records the reason why the page is evicted from the back-forward cache but |
| after the document is restored. This happens when there is a race between |
| eviction and restoring. This also records when the page is restored to |
| calculate how often this eviction happens. |
| |
| This is recorded for all websites regardless whether back-forward cache is |
| enabled or not. |
| </summary> |
| </histogram> |
| |
| <histogram name="BackForwardCache.AllSites.HistoryNavigationOutcome" |
| enum="BackForwardCacheHistoryNavigationOutcome" expires_after="2021-06-20"> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| When navigating back to a page in the session history, this records whether |
| the page was restored from the BackForwardCache or not. |
| |
| This is recorded for all websites regardless whether back-forward cache is |
| enabled or not. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="BackForwardCache.AllSites.HistoryNavigationOutcome.BlocklistedFeature" |
| enum="WebSchedulerTrackedFeature" expires_after="2021-06-27"> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| When navigating back to a page in the session history, this records what |
| blocklisted features were used when the page was loaded and prevented this |
| page from being stored in the back-forward cache. Multiple blocklisted |
| features can be recorded for the same page. |
| |
| This is recorded for all websites regardless whether back-forward cache is |
| enabled or not. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="BackForwardCache.AllSites.HistoryNavigationOutcome.BrowsingInstanceNotSwappedReason" |
| enum="BackForwardCacheBrowsingInstanceNotSwappedReason" |
| expires_after="2021-06-13"> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| When navigating back to a page in the session history and the |
| BackForwardCache wasn't used because of the related browsing instances, this |
| records the reason why the browsing instance wasn't swapped. |
| |
| This is recorded for all websites regardless whether back-forward cache is |
| enabled or not. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="BackForwardCache.AllSites.HistoryNavigationOutcome.DisabledForRenderFrameHostReason" |
| enum="BackForwardCacheDisabledForRenderFrameHostReason" |
| expires_after="2021-10-01"> |
| <owner>carlscab@chromium.org</owner> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| For history navigations, records the reasons passed to |
| BackForwardCache::DisableForRenderFrameHost calls. These reasons are |
| specified as strings, so this histograms contains their hashes computed as |
| base::HashMetricName. |
| |
| The metric is recorded when a history navigation commits and emits a sample |
| for each reason. Compare this with |
| BackForwardCache.HistoryNavigationOutcome, which contains the total number |
| of navigations which where not cached |
| |
| This is recorded for all websites regardless whether back-forward cache is |
| enabled or not. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="BackForwardCache.AllSites.HistoryNavigationOutcome.NotRestoredReason" |
| enum="BackForwardCacheNotRestoredReason" expires_after="2021-06-13"> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| When navigating back to a page in the session history, record why it wasn't |
| restored from the cache. The page might not have entered the back-forward in |
| the first place based on the features used, or it might have been evicted |
| while being in the cache. |
| |
| This is recorded for all websites regardless whether back-forward cache is |
| enabled or not. |
| </summary> |
| </histogram> |
| |
| <histogram name="BackForwardCache.EvictedAfterDocumentRestoredReason" |
| enum="BackForwardCacheEvictedAfterDocumentRestoredReason" |
| expires_after="2021-06-13"> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| Records the reason why the page is evicted from the back-forward cache but |
| after the document is restored. This happens when there is a race between |
| eviction and restoring. This also records when the page is restored to |
| calculate how often this eviction happens. |
| |
| This is recorded when back-forward cache is enabled for this navigation |
| (back-forward cache feature is enabled and the domain is in the scope of the |
| experiment). |
| </summary> |
| </histogram> |
| |
| <histogram name="BackForwardCache.Eviction.TimeUntilProcessKilled" units="ms" |
| expires_after="2021-10-01"> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| Records the time duration between the last time when the entry goes to the |
| back-forward cache and the time when the process is killed. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="BackForwardCache.Experimental.UnexpectedIPCMessagePostedToCachedFrame.MethodHash" |
| enum="MojoInterfaceName" expires_after="2021-05-30"> |
| <owner>hbolaria@chromium.org</owner> |
| <owner>altimin@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| Track number of times an unexpected IPC message is posted to frames in the |
| renderer process while they are frozen in the back-forward cache. IPC tasks |
| are denoted by md5 hash of the mojo bindings method name or message hash for |
| legacy IPCs. |
| |
| Recorded when an IPC task is posted to frames that have already been stored |
| in the back-forward cache, after a 15 second delay to account for completion |
| of all freezing-related operations. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="BackForwardCache.Experimental.UnexpectedIPCMessagePostedToCachedFrame.TimeUntilIPCReceived" |
| units="ms" expires_after="2021-05-30"> |
| <owner>hbolaria@chromium.org</owner> |
| <owner>altimin@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| Duration between start of page being stored in the back-forward cache and |
| when the unexpected IPC call is received by a frame while in the cache. |
| |
| Recorded when an IPC task is posted to frames that have already been stored |
| in the back-forward cache, after a 15 second delay to account for completion |
| of all freezing-related operations. |
| </summary> |
| </histogram> |
| |
| <histogram name="BackForwardCache.HistoryNavigationOutcome" |
| enum="BackForwardCacheHistoryNavigationOutcome" expires_after="2021-10-01"> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| When navigating back to a page in the session history, this records whether |
| the page was restored from the BackForwardCache or not. |
| |
| This is recorded when back-forward cache is enabled for this navigation |
| (back-forward cache feature is enabled and the domain is in the scope of the |
| experiment). |
| </summary> |
| </histogram> |
| |
| <histogram name="BackForwardCache.HistoryNavigationOutcome.BlocklistedFeature" |
| enum="WebSchedulerTrackedFeature" expires_after="2021-06-13"> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| When navigating back to a page in the session history, this records what |
| blocklisted features were used when the page was loaded and prevented this |
| page from being stored in the back-forward cache. Multiple blocklisted |
| features can be recorded for the same page. |
| |
| This is recorded when back-forward cache is enabled for this navigation |
| (back-forward cache feature is enabled and the domain is in the scope of the |
| experiment). |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="BackForwardCache.HistoryNavigationOutcome.BrowsingInstanceNotSwappedReason" |
| enum="BackForwardCacheBrowsingInstanceNotSwappedReason" |
| expires_after="2021-06-13"> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| When navigating back to a page in the session history and the |
| BackForwardCache wasn't used because of the related browsing instances, this |
| records the reason why the browsing instance wasn't swapped. |
| |
| This is recorded when back-forward cache is enabled for this navigation |
| (back-forward cache feature is enabled and the domain is in the scope of the |
| experiment). |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="BackForwardCache.HistoryNavigationOutcome.DisabledForRenderFrameHostReason" |
| enum="BackForwardCacheDisabledForRenderFrameHostReason" |
| expires_after="2021-06-13"> |
| <owner>carlscab@chromium.org</owner> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| For history navigations, records the reasons passed to |
| BackForwardCache::DisableForRenderFrameHost calls. These reasons are |
| specified as strings, so this histograms contains their hashes computed as |
| base::HashMetricName. |
| |
| The metric is recorded when a history navigation commits and emits a sample |
| for each reason. Compare this with |
| BackForwardCache.HistoryNavigationOutcome, which contains the total number |
| of navigations which where not cached |
| |
| This is recorded when back-forward cache is enabled for this navigation |
| (back-forward cache feature is enabled and the domain is in the scope of the |
| experiment). |
| </summary> |
| </histogram> |
| |
| <histogram name="BackForwardCache.HistoryNavigationOutcome.NotRestoredReason" |
| enum="BackForwardCacheNotRestoredReason" expires_after="2021-06-13"> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| When navigating back to a page in the session history, record why it wasn't |
| restored from the cache. The page might not have entered the back-forward in |
| the first place based on the features used, or it might have been evicted |
| while being in the cache. |
| |
| This is recorded when back-forward cache is enabled for this navigation |
| (back-forward cache feature is enabled and the domain is in the scope of the |
| experiment). |
| </summary> |
| </histogram> |
| |
| <histogram name="BackForwardCache.MainFrameHasPageshowListenersOnRestore" |
| enum="BooleanPresent" expires_after="M82"> |
| <owner>altimin@chromium.org</owner> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| Records whether a page restored from the back-forward cache has pageshow |
| handlers installed in its main frame. Recorded when the renderer resumes |
| page when restoring it from the back-forward cache. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="BackForwardCache.ProactiveSameSiteBISwap.EligibilityDuringCommit" |
| enum="BackForwardCacheEligibilityDuringCommit" expires_after="M88"> |
| <owner>rakina@chromium.org</owner> |
| <owner>altimin@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| Records whether a page where we did a same-site proactive BrowsingInstance |
| swap on (with the intention on storing it in the back-forward cache later) |
| is still eligible for back-forward cache when swapping out the old page |
| during navigation commit. Recorded when we have just finished committing the |
| new page on the renderer side, and during the commit of the new page in the |
| browser side. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="BackForwardCache.ProactiveSameSiteBISwap.SameSiteNavigationDidSwap" |
| enum="BackForwardCacheSameSiteNavigationDidSwap" expires_after="M88"> |
| <owner>rakina@chromium.org</owner> |
| <owner>altimin@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| Records whether we did a same-site proactive BrowsingInstance swap or not |
| for a same-site cross-document navigation. Recorded when we are committing |
| the navigation. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="BackForwardCache.ProactiveSameSiteBISwap.UnloadRunsAfterCommit" |
| enum="BackForwardCacheUnloadRunsAfterCommit" expires_after="M88"> |
| <owner>rakina@chromium.org</owner> |
| <owner>altimin@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| Records whether a page where we did a same-site proactive BrowsingInstance |
| swap on (with the intention on storing it in the back-forward cache later) |
| is no longer eligible for back-forward cache after the navigation committed |
| and the page has unload handlers that will run after commit, which is a |
| web-observable behavior change for same-site navigations. Recorded when we |
| have just finished committing the new page on the renderer side, and during |
| the commit of the new page in the browser side. |
| </summary> |
| </histogram> |
| |
| <histogram name="BackForwardCache.ReloadsAfterHistoryNavigation" |
| enum="BackForwardCacheReloadsAfterHistoryNavigation" |
| expires_after="2021-10-01"> |
| <owner>sreejakshetty@chromium.org</owner> |
| <owner>altimin@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| Records the number of reloads after a history navigation both for the cases |
| when page is served and not served from back-forward cache. |
| |
| This is recorded when navigation is committed, only for the domains which |
| are in the scope of back-forward cache experiment and they are of same |
| NavigationEntry (e.g. back and reload in different tab do not count). |
| </summary> |
| </histogram> |
| |
| <histogram name="BackForwardCache.ReloadsAndHistoryNavigations" |
| enum="BackForwardCacheReloadsAndHistoryNavigations" |
| expires_after="2021-10-01"> |
| <owner>sreejakshetty@chromium.org</owner> |
| <owner>altimin@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| Records the total number of history navigations along with the number of |
| reloads if the previous navigation was a history one. |
| |
| This is recorded when navigation is committed, only for the domains which |
| are in the scope of back-forward cache experiment. |
| </summary> |
| </histogram> |
| |
| <histogram name="BackForwardCache.Restore.DisableEvictionDelay" units="ms" |
| expires_after="2021-10-01"> |
| <owner>carlscab@google.com</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| Delay introduced by the IPC round trips to disable eviction in all the |
| renderers of a page stored in the back-forward cache. That is, the interval |
| of time between sending an SetPageLifecycleState IPC to each renderer and |
| receiving all the responses. |
| |
| Recorded on reception of the last ACK reply. We added this histogram to |
| measure the impact of this extra round trip to the renderer when restoring a |
| page from the back-forward cache. |
| </summary> |
| </histogram> |
| |
| <histogram name="BackForwardCache.Restore.NavigationToFirstPaint" units="ms" |
| expires_after="2021-10-01"> |
| <owner>sreejakshetty@chromium.org</owner> |
| <owner>altimin@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| Duration between start of navigation restoring a document from back-forward |
| cache and the first paint. |
| |
| This is recorded when a history navigation is served from back-forward cache |
| but in a foreground tab. |
| </summary> |
| </histogram> |
| |
| <histogram name="BackForwardCache.SameSite.ActionAfterPagehide2" |
| enum="BackForwardCacheActionAfterPagehide" expires_after="M88"> |
| <owner>rakina@chromium.org</owner> |
| <owner>altimin@chromium.org</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| Records occurences of certain actions triggered by script running on a page |
| after the pagehide event gets dispatched in the page, which might be |
| possible if we dispatch the pagehide event without unloading/freezing the |
| page (only happens when we're doing a same-site navigation and we did a |
| proactive BrowsingInstance swap but we're reusing the old page's process). |
| |
| Note: We will only track actions that might affect the user after we've |
| navigated away from the old page, such as modifications to storage, |
| navigations, or sending/receiving postMessage. |
| |
| Note 2: We will not track actions taken when the unload event is currently |
| in progress, which means the page is not actually stored in the back-forward |
| cache and the actions are expected to happen after pagehide. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="BackForwardCache.UnexpectedRendererToBrowserMessage.InterfaceName" |
| enum="MojoInterfaceName" expires_after="2021-05-09"> |
| <owner>carlscab@google.com</owner> |
| <owner>bfcache-dev@chromium.org</owner> |
| <summary> |
| Hash (base::HashMetricName) of a mojo interface name. |
| |
| A sample is recorded for every message the browser receives from a renderer |
| for a page that is in the back-forward cache. Logging can be disabled via |
| the back-forward cache feature parameter |
| "message_handling_when_cached". |
| |
| Renderers should not be sending messages back to the browser for pages that |
| are in the back-forward cache. Eventually we will be killing such renderers |
| (as we could assume that it is misbehaving because it got compromised). But |
| first we must make sure that we are not sending messages by mistake (i.e. |
| bugs in the renderer). |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.BackForward.AllBackTargetsSkippable" enum="Boolean" |
| expires_after="2019-12-31"> |
| <owner>shivanisha@chromium.org</owner> |
| <owner>csharrison@chromium.org</owner> |
| <summary> |
| This metric logs true if all the previous entries are marked to be skipped |
| on back/forward button via the history manipulation intervention. This is |
| logged when back button is pressed (see crbug.com/907167). The goal of the |
| intervention is to intervene against pages that manipulate browser history |
| such that the user is not able to use the back button to go to the previous |
| site they interacted with. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.BackForward.BackTargetSkipped" units="units" |
| expires_after="M85"> |
| <owner>shivanisha@chromium.org</owner> |
| <owner>csharrison@chromium.org</owner> |
| <summary> |
| This metric counts the number of entries the history manipulation |
| intervention would have skipped when the user presses the back button (see |
| crbug.com/907167). The goal of the intervention is to intervene against |
| pages that manipulate browser history such that the user is not able to use |
| the back button to go to the previous site they interacted with. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.BackForward.CacheFlags" enum="NavigationCacheEnum" |
| expires_after="M85"> |
| <owner>clamy@chromium.org</owner> |
| <summary>The cache flags set on back-forward navigations.</summary> |
| </histogram> |
| |
| <histogram name="Navigation.BackForward.ForwardTargetSkipped" units="units" |
| expires_after="M85"> |
| <owner>shivanisha@chromium.org</owner> |
| <owner>csharrison@chromium.org</owner> |
| <summary> |
| This metric counts the number of entries the history manipulation |
| intervention would have skipped when the user presses the forward button |
| (see crbug.com/907167). The goal of the intervention is to intervene against |
| pages that manipulate browser history such that the user is not able to use |
| the back button to go to the previous site they interacted with. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.BackForward.NavigatingToEntryMarkedToBeSkipped" |
| enum="Boolean" expires_after="2019-12-31"> |
| <owner>shivanisha@chromium.org</owner> |
| <owner>csharrison@chromium.org</owner> |
| <summary> |
| This metric logs true if the existing entry being navigated to is marked to |
| be skipped on back/forward UI. This is logged at the start of navigation |
| initiated using long-press back/forward button. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.BackForward.SetShouldSkipOnBackForwardUI" |
| enum="Boolean" expires_after="M85"> |
| <owner>shivanisha@chromium.org</owner> |
| <owner>csharrison@chromium.org</owner> |
| <summary> |
| Whether an entry in the back-forward list is marked to be skipped on |
| subsequent back/forward button clicks as part of the history manipulation |
| intervention. This is logged when the entry is navigated away from. The goal |
| is to intervene against pages that manipulate browser history such that the |
| user is not able to use the back button to go to the previous site they |
| interacted with. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.BackForward.WasCached" |
| enum="NavigationWasServedFromCache" expires_after="M85"> |
| <owner>clamy@chromium.org</owner> |
| <summary>Whether the back-forward navigation was served from cache.</summary> |
| </histogram> |
| |
| <histogram name="Navigation.ClearSiteData.Duration" units="ms" |
| expires_after="M77"> |
| <owner>msramek@chromium.org</owner> |
| <summary> |
| Recorded when a navigation is deferred while clearing site data. Indicates |
| how much time the clearing took. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.ClearSiteData.Parameters" |
| enum="ClearSiteDataParameters" expires_after="M77"> |
| <owner>msramek@chromium.org</owner> |
| <summary> |
| The parameters of the Clear-Site-Data header. Recorded when the header is |
| successfully parsed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.CommitTimeout.ErrorCode" enum="NetErrorCodes" |
| expires_after="M82"> |
| <owner>cduvall@chromium.org</owner> |
| <owner>cmumford@chromium.org</owner> |
| <summary> |
| Logs the error code for each navigation commit timeout. This will be used to |
| debug http://crbug.com/934317. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.CommitTimeout.IsMainFrame" enum="BooleanMainFrame" |
| expires_after="M82"> |
| <owner>cduvall@chromium.org</owner> |
| <owner>cmumford@chromium.org</owner> |
| <summary> |
| Logs whether this was a main frame navigation for each navigation commit |
| timeout. This will be used to debug http://crbug.com/934317. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.CommitTimeout.IsRendererProcessReady" |
| enum="BooleanReady" expires_after="M82"> |
| <owner>cduvall@chromium.org</owner> |
| <owner>cmumford@chromium.org</owner> |
| <summary> |
| Logged with the status of the renderer process for each navigation commit |
| timeout. This will be used to debug http://crbug.com/934317. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.CommitTimeout.NetworkServiceAvailability" |
| enum="NetworkServiceAvailability" expires_after="M82"> |
| <owner>cduvall@chromium.org</owner> |
| <owner>cmumford@chromium.org</owner> |
| <summary> |
| Logged with the status of the network service for each navigation commit |
| timeout. This will be used to debug http://crbug.com/934317. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.CommitTimeout.NetworkServiceLastCrashTime" |
| units="ms" expires_after="M82"> |
| <owner>cduvall@chromium.org</owner> |
| <owner>cmumford@chromium.org</owner> |
| <summary> |
| Logged with the time since the last network service crash if available for |
| each navigation commit timeout. This will be used to debug |
| http://crbug.com/934317. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.CommitTimeout.NetworkServicePingTime" units="ms" |
| expires_after="M82"> |
| <owner>cduvall@chromium.org</owner> |
| <owner>cmumford@chromium.org</owner> |
| <summary> |
| Logs the time it takes to make a round trip call to the network service for |
| each navigation commit timeout. This will be used to debug |
| http://crbug.com/934317. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.CommitTimeout.Scheme" enum="NavigationURLScheme" |
| expires_after="M82"> |
| <owner>cduvall@chromium.org</owner> |
| <owner>cmumford@chromium.org</owner> |
| <summary> |
| Logged with the navigation URL scheme for each navigation commit timeout. |
| This will be used to debug http://crbug.com/934317. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.DownloadPolicy.LogArbitraryPolicyPerDownload" |
| enum="NavigationDownloadPolicy" expires_after="2020-11-01"> |
| <owner>csharrison@chromium.org</owner> |
| <owner>yaoxia@chromium.org</owner> |
| <summary> |
| When a navigation results in a download, logs the download policy applied to |
| that navigation. This is logged once per download and when multiple policies |
| exist, an arbitrary one will be chosen. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.DownloadPolicy.LogPerPolicyApplied" |
| enum="NavigationDownloadPolicy" expires_after="2020-11-01"> |
| <owner>csharrison@chromium.org</owner> |
| <owner>yaoxia@chromium.org</owner> |
| <summary> |
| When a navigation results in a download, for each download policy applied to |
| that navigation, logs the policy. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.EngagementTime.HTTP" units="ms" expires_after="M94"> |
| <owner>estark@chromium.org</owner> |
| <owner>security-enamel@chromium.org</owner> |
| <summary> |
| The amount of time that an HTTP page was in the foreground. Recorded on |
| every page close/transition. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.EngagementTime.HTTPS" units="ms" |
| expires_after="M94"> |
| <owner>estark@chromium.org</owner> |
| <owner>security-enamel@chromium.org</owner> |
| <summary> |
| The amount of time that an HTTPS page was in the foreground. Recorded on |
| every page close/transition. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.EngagementTime.Ratio" units="%" expires_after="M89"> |
| <owner>estark@chromium.org</owner> |
| <owner>security-enamel@chromium.org</owner> |
| <summary> |
| The percentage of time that HTTPS pages were in the foreground, as compared |
| to total foreground time. Recorded whenever user metrics are uploaded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.Home.IsChromeInternal" enum="Boolean" |
| expires_after="never"> |
| <!-- expires-never: part of top-line metric (internal: go/chrome-browser-nsm) --> |
| |
| <owner>mpearson@chromium.org</owner> |
| <owner>amaralp@chromium.org</owner> |
| <owner>chrome-analysis-team@google.com</owner> |
| <summary> |
| Emitted every time a user uses a Home button to go to their home page. |
| Records whether the page is chrome-internal (most likely the New Tab Page or |
| about:blank) or not (most likely an actual web site). For the purpose of |
| this histogram, about:, chrome: and chrome-native: are considered |
| chrome-internal; everything else is not. |
| |
| The user action Navigation.Home.NotChromeInternal is also logged in the case |
| that false is logged to this histogram. |
| |
| This histogram is of special interest to the chrome-analysis-team@. Do not |
| change its semantics or retire it without talking to them first. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.IOSNullContextInDidFailProvisionalNavigation" |
| enum="Boolean" expires_after="M85"> |
| <owner>ajuma@chromium.org</owner> |
| <owner>eugenebut@chromium.org</owner> |
| <summary> |
| Logged when NavigationContext is null inside -[WKNavigationDelegate |
| webView:didFailProvisionalNavigation]. If Chrome stopped logging this metric |
| it means that it is now safe to remove workaround for |
| https://bugs.webkit.org/show_bug.cgi?id=198794. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.IsLockedProcess" enum="NavigationIsLockedProcess" |
| expires_after="2021-12-21"> |
| <owner>alexmos@chromium.org</owner> |
| <owner>lukasza@chromium.org</owner> |
| <summary> |
| Whether the navigation commits in a process that is locked to an origin. |
| Logged at ready-to-commit time for every navigation excluding same-document |
| navigations and errors. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.IsLockedProcess.HTTPOrHTTPS" |
| enum="NavigationIsLockedProcess" expires_after="2021-12-21"> |
| <owner>alexmos@chromium.org</owner> |
| <owner>lukasza@chromium.org</owner> |
| <summary> |
| Whether the navigation commits in a process that is locked to an origin. |
| Logged at ready-to-commit time for every navigation that commits with a HTTP |
| or HTTPS URL scheme, excluding same-document navigations and errors. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.IsSameBrowsingInstance" |
| enum="NavigationIsSameBrowsingInstance" expires_after="2021-05-09"> |
| <owner>arthursonzogni@chromium.org</owner> |
| <owner>clamy@chromium.org</owner> |
| <owner>nasko@chromium.org</owner> |
| <summary> |
| Whether a main frame navigation led to a change of BrowsingInstance or not. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.IsSameProcess" enum="NavigationIsSameProcess" |
| expires_after="M85"> |
| <owner>clamy@chromium.org</owner> |
| <owner>nasko@chromium.org</owner> |
| <summary>Whether the navigation led to a change of process or not.</summary> |
| </histogram> |
| |
| <histogram name="Navigation.IsSameSiteInstance" |
| enum="NavigationIsSameSiteInstance" expires_after="2021-07-11"> |
| <owner>arthursonzogni@chromium.org</owner> |
| <owner>clamy@chromium.org</owner> |
| <owner>nasko@chromium.org</owner> |
| <summary> |
| Whether the navigation led to a change of SiteInstance or not. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.LoadIfNecessaryType" |
| enum="NavigationNeedsReloadType" expires_after="never"> |
| <!-- expires-never: Generally useful metric on Android that tracks number of automatic tab reloads and their cause. --> |
| |
| <owner>boliu@chromium.org</owner> |
| <owner>alexmos@chromium.org</owner> |
| <owner>src/base/android/OWNERS</owner> |
| <summary> |
| The type of the source of a load from LoadIfNecessary. Recorded when |
| LoadIfNecessary starts a page load. For example, on Android, |
| kRequestedByClient is recorded when user switch back to a tab with a dead |
| renderer, which causes the tab to reload. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.MainFrame.FrameCount" units="frames" |
| expires_after="2021-08-01"> |
| <owner>michaelpg@chromium.org</owner> |
| <owner>yilkal@chromium.org</owner> |
| <owner>cros-families-eng@google.com</owner> |
| <summary> |
| The number of frames that are present in a WebContents. Recorded once when |
| the main frame finishes loading. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.MainFrame.MaxFrameCount" units="frames" |
| expires_after="2021-08-01"> |
| <owner>michaelpg@chromium.org</owner> |
| <owner>yilkal@chromium.org</owner> |
| <owner>cros-families-eng@google.com</owner> |
| <summary> |
| The maximum number of loaded frames that are present in a WebContents. |
| Recorded once when the main frame is moving away from current page. This can |
| be when the WebContents is being destroyed or when it starts loading new |
| content. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.MainFrame.SiteEngagementLevel" |
| enum="SiteEngagementLevel" expires_after="2021-06-06"> |
| <owner>meacer@chromium.org</owner> |
| <owner>security-enamel@chromium.org</owner> |
| <summary> |
| Site engagement level of the URL of the top frame of a navigation. Only |
| counts HTTP or HTTPS URLs and ignores downloads. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.MainFrameFormSubmission.SiteEngagementLevel" |
| enum="SiteEngagementLevel" expires_after="2021-04-04"> |
| <owner>meacer@chromium.org</owner> |
| <owner>security-enamel@chromium.org</owner> |
| <summary> |
| Site engagement level of the URL of the top frame of a form submission. This |
| is a subset of Navigation.MainFrame.SiteEngagementLevel. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.MainFrameHasRTLDomain2" enum="Boolean" |
| expires_after="M92"> |
| <owner>cthomp@chromium.org</owner> |
| <owner>security-enamel@chromium.org</owner> |
| <summary> |
| Whether the main-frame navigation was to a URL with an RTL domain name. This |
| is only recorded for finished navigations and not attempts. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.MainFrameHasRTLDomainDifferentPage2" enum="Boolean" |
| expires_after="M92"> |
| <owner>cthomp@chromium.org</owner> |
| <owner>security-enamel@chromium.org</owner> |
| <summary> |
| Whether the main-frame navigation was to a URL with an RTL domain name, |
| recorded for each main-frame avigation that replaces a document object. This |
| is not reported for reference fragment navigations, pushState/replaceState |
| or same page history navigation. This is only recorded for finished |
| navigations and not attempts. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.MainFrameProfileType2" enum="BrowserProfileType" |
| expires_after="2021-06-01"> |
| <owner>rhalavati@chromium.org</owner> |
| <owner>chrome-privacy-core@google.com</owner> |
| <summary> |
| The browser profile type for each main-frame navigation, recorded after |
| navigation completion, including NTP. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.MainFrameScheme2" enum="NavigationScheme" |
| expires_after="2021-06-01"> |
| <owner>elawrence@chromium.org</owner> |
| <owner>estark@chromium.org</owner> |
| <summary> |
| The scheme of the URL for each main-frame navigation. This is only recorded |
| for finished navigations and not attempts. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.MainFrameSchemeDifferentPage2" |
| enum="NavigationScheme" expires_after="2021-06-01"> |
| <owner>elawrence@chromium.org</owner> |
| <owner>estark@chromium.org</owner> |
| <summary> |
| The scheme of the URL for each main-frame navigation that replaces a |
| document object. This is not reported for reference fragment navigations, |
| pushState/replaceState or same page history navigation. This is only |
| recorded for finished navigations and not attempts. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.MainFrameSchemeDifferentPageOTR2" |
| enum="NavigationScheme" expires_after="2021-06-01"> |
| <owner>elawrence@chromium.org</owner> |
| <owner>estark@chromium.org</owner> |
| <summary> |
| The scheme of the URL for each main-frame navigation that replaces a |
| document object while in incognito. This is not reported for reference |
| fragment navigations, pushState/replaceState or same page history |
| navigation. This is only recorded for finished navigations and not attempts. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.MainFrameSchemeOTR2" enum="NavigationScheme" |
| expires_after="2021-06-01"> |
| <owner>elawrence@chromium.org</owner> |
| <owner>estark@chromium.org</owner> |
| <summary> |
| The scheme of the URL for each main-frame navigation while in incognito. |
| This is only recorded for finished navigations and not attempts. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.NavigationURLLoaderImplIOPostTime" |
| units="microseconds" expires_after="M79"> |
| <owner>jam@chromium.org</owner> |
| <owner>kinuko@chromium.org</owner> |
| <summary> |
| The sum of all the times spent posting tasks between the UI and IO threads |
| inside NavigationURLLoaderImpl. Recorded when each frame navigation gets the |
| response. |
| |
| Note: This metric drops reports on clients with low-resolution clocks, which |
| means these reports will be biased against a portion of the population on |
| Windows. See Windows.HasHighResolutionTimeTicks for the affected sample. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.OnBeforeUnloadOverheadTime" units="ms" |
| expires_after="M89"> |
| <owner>clamy@chromium.org</owner> |
| <owner>nasko@chromium.org</owner> |
| <summary> |
| Overhead time spent handling the OnBeforeUnload event from the browser |
| standpoint. More precisely, it is the total time between dispatch and |
| acknowledgment of the BeforeUnload event on the browser side, minus the |
| actual time spent executing the BeforeUnload handlers on the renderer side. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.OnReceiveResponseToOnStartLoadingResponseBody" |
| units="ms" expires_after="M85"> |
| <owner>falken@chromium.org</owner> |
| <owner>chrome-loading@google.com</owner> |
| <summary> |
| Time between the two messages OnReceiveResponse and |
| OnStartLoadingResponseBody as observed by the browser process during a |
| navigation by NavigationURLLoader::URLLoaderRequestController. The idea is |
| to see whether there is a performance cost in having two separate messages, |
| as the plan is to combine them into one. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.ReadyToCommitUntilCommit2" units="ms" |
| expires_after="M85"> |
| <owner>clamy@chromium.org</owner> |
| <owner>nasko@chromium.org</owner> |
| <summary> |
| The time needed to commit a navigation once it is ready to commit. This is |
| the time between ReadyToCommit and DidFinishNavigation (for a navigation |
| that commits). |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.RequiresDedicatedProcess" |
| enum="NavigationRequiresDedicatedProcess" expires_after="2021-12-21"> |
| <owner>alexmos@chromium.org</owner> |
| <owner>lukasza@chromium.org</owner> |
| <summary> |
| Whether the navigation commits in a SiteInstance that requires a dedicated |
| process. Logged at ready-to-commit time for every navigation excluding |
| same-document navigations and errors. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.RequiresDedicatedProcess.HTTPOrHTTPS" |
| enum="NavigationRequiresDedicatedProcess" expires_after="2021-12-21"> |
| <owner>alexmos@chromium.org</owner> |
| <owner>lukasza@chromium.org</owner> |
| <summary> |
| Whether the navigation commits in a SiteInstance that requires a dedicated |
| process. Logged at ready-to-commit time for every navigation that commits |
| with a HTTP or HTTPS URL scheme, excluding same-document navigations and |
| errors. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.SecureSchemeHasSSLStatus" enum="BooleanPresent" |
| expires_after="M85"> |
| <owner>jam@chromium.org</owner> |
| <summary> |
| True counts the events when a https URL commits with a SSL certificate. |
| False is when the certificate is missing. This should be at 100%, anything |
| less is probably a bug. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.StartToCommit" units="ms" expires_after="M85"> |
| <owner>nasko@chromium.org</owner> |
| <owner>csharrison@chromium.org</owner> |
| <summary> |
| The time delta between the start of a navigation and the time it is |
| committed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.TimeToReadyToCommit2" units="ms" |
| expires_after="M85"> |
| <owner>clamy@chromium.org</owner> |
| <owner>nasko@chromium.org</owner> |
| <summary> |
| The time delta between the start of a navigation and the time it is ready to |
| commit. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.TimeToURLJobStart" units="ms" expires_after="M85"> |
| <obsolete> |
| Removed from code in M89 (Nov 2020), after expiring in M85. |
| </obsolete> |
| <owner>carlosk@chromium.org</owner> |
| <summary> |
| Time between the start of a browser-started navigation request and the |
| reception of a corresponding ResourceRequest in the network stack. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Navigation.URLLoaderNetworkService.OnCompleteCertificateChainsSize" |
| units="KB" expires_after="M78"> |
| <owner>estark@chromium.org</owner> |
| <summary> |
| When the navigation URL loader receives an OnComplete message from the |
| network service that contains certificate chains, this histogram records the |
| size in KB of those pickled certificate chains. This histogram is recorded |
| by the navigation URLLoader for navigations that fetch from network, for |
| every request which contains an SSLInfo in its OnComplete notification. |
| </summary> |
| </histogram> |
| |
| <histogram name="Navigation.URLLoaderNetworkService.OnCompleteHasSSLInfo" |
| enum="BooleanPresent" expires_after="M77"> |
| <owner>estark@chromium.org</owner> |
| <summary> |
| Whether the network service's OnComplete message to the navigation URL |
| loader contains an SSLInfo, which should only be present for main-frame |
| requests with certificate errors. This histogram is recorded for every |
| request completion by the navigation URL loader that fetches from network. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="NavigationPredictor.ActionTaken" |
| enum="NavigationPredictorActionTaken" expires_after="M85"> |
| <owner>tbansal@chromium.org</owner> |
| <summary> |
| Tracks action taken by navigation predictor. Recorded at the time of page |
| load. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="NavigationPredictor.CountOfStartedPrerenders" |
| units="count" expires_after="M85"> |
| <owner>tbansal@chromium.org</owner> |
| <owner>ryansturm@chromium.org</owner> |
| <summary> |
| Reports data about the clicked link with regards to whether it was |
| prerendered by the Navigation Predictor. Recorded when the page is navigated |
| away from. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="NavigationPredictor.CountOfURLsAboveThreshold" |
| units="count" expires_after="M85"> |
| <owner>tbansal@chromium.org</owner> |
| <owner>ryansturm@chromium.org</owner> |
| <summary> |
| Reports data about the clicked link with regards to whether it was |
| prerendered by the Navigation Predictor. Recorded when the page is navigated |
| away from. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="NavigationPredictor.CountOfURLsInPredictedSet" |
| units="count" expires_after="M89"> |
| <owner>tbansal@chromium.org</owner> |
| <owner>ryansturm@chromium.org</owner> |
| <summary> |
| Reports data about the clicked link with regards to whether it was |
| prerendered by the Navigation Predictor. Recorded when the page is navigated |
| away from. |
| </summary> |
| </histogram> |
| |
| <histogram name="NavigationPredictor.ExternalAndroidApp.CountPredictedURLs" |
| units="Count" expires_after="2021-07-26"> |
| <owner>sophiechang@chromium.org</owner> |
| <owner>tbansal@chromium.org</owner> |
| <summary> |
| Count of likely URLs for the next navigation as reported by an external |
| Android app via mayLaunchUrl() Android API. Recorded at the time the |
| prediction was received by Chrome. |
| </summary> |
| </histogram> |
| |
| <histogram name="NavigationPredictor.IsPubliclyRoutable" enum="Boolean" |
| expires_after="2021-06-20"> |
| <owner>tbansal@chromium.org</owner> |
| <owner>ryansturm@chromium.org</owner> |
| <summary> |
| Set to true if the IP address of the origin of the main frame URL is |
| publically routable. Recorded everytime a preconnect attempt is made by the |
| navigation predictor. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="NavigationPredictor.LinkClickedPrerenderResult" |
| enum="NavigationPredictorLinkClickedPrerenderResult" expires_after="M85"> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>tbansal@chromium.org</owner> |
| <summary> |
| Reports data about the clicked link with regards to whether it was |
| prerendered by the Navigation Predictor. Recorded when the user clicks a |
| link. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="NavigationPredictor.SearchEnginePreconnector.IsBrowserAppLikelyInForeground" |
| enum="BooleanForeground" expires_after="M95"> |
| <owner>tbansal@chromium.org</owner> |
| <owner>ryansturm@chromium.org</owner> |
| <summary> |
| Reports if the browser app was in foreground when a preconnect attempt was |
| made to the default search engine. |
| </summary> |
| </histogram> |
| |
| <histogram name="NavigationSuggestion.Event" enum="NavigationSuggestionEvent" |
| expires_after="M89"> |
| <obsolete> |
| Replaced with NavigationSuggestion.Event2 on 2020/10 because of |
| crbug.com/1136296. |
| </obsolete> |
| <owner>meacer@chromium.org</owner> |
| <owner>security-enamel@chromium.org</owner> |
| <summary> |
| Tracks events when the currently navigated domain name is a lookalike to one |
| of the top 10K domains or a domain that the user interacted with, resulting |
| in a navigation suggestion interstitial. |
| </summary> |
| </histogram> |
| |
| <histogram name="NavigationSuggestion.Event2" enum="NavigationSuggestionEvent" |
| expires_after="2021-06-20"> |
| <owner>meacer@chromium.org</owner> |
| <owner>security-enamel@chromium.org</owner> |
| <summary> |
| Tracks events when the currently navigated domain name is a lookalike to one |
| of the top 10K domains or a domain that the user interacted with, resulting |
| in a navigation suggestion interstitial. |
| |
| Before M88, NavigationSuggestion.Event recorded a separate entry for each |
| lookalike URL in a redirect chain. E.g. lookalike1.com -> site.com -> |
| lookalike2.com recorded two events. This updated histogram only records an |
| entry for the first or last URL in the redirect if any of those is a |
| lookalike. |
| </summary> |
| </histogram> |
| |
| </histograms> |
| |
| </histogram-configuration> |