[go: nahoru, domu]

blob: 792acba8448db91f116162c9a5a64438345cd902 [file] [log] [blame]
<!--
Copyright 2020 The Chromium Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<!--
This file is used to generate a comprehensive list of 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>
<variants name="FrameTypes">
<variant name="MainFrame"/>
<variant name="Subframe"/>
</variants>
<variants name="NavigationThrottleEvents">
<variant name="WillFailRequest"/>
<variant name="WillProcessResponse"/>
<variant name="WillRedirectRequest"/>
<variant name="WillStartRequest"/>
</variants>
<histogram name="BackForwardCache.AllSites.EvictedAfterDocumentRestoredReason"
enum="BackForwardCacheEvictedAfterDocumentRestoredReason"
expires_after="2022-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-12-26">
<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="2022-01-02">
<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="2022-02-20">
<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">
<obsolete>
Removed from code in Mar 2021.
</obsolete>
<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.DisabledForRenderFrameHostReason2"
enum="BackForwardCacheDisabledForRenderFrameHostReason2"
expires_after="2022-10-01">
<owner>carlscab@chromium.org</owner>
<owner>hajimehoshi@chromium.org</owner>
<owner>bfcache-dev@chromium.org</owner>
<summary>
For history navigations, records the reason passed to
BackForwardCache::DisableForRenderFrameHost calls.
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-12-19">
<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.CountEntriesWithoutRendererAck" units="count"
expires_after="2021-10-01">
<owner>yuzus@chromium.org</owner>
<owner>bfcache-dev@chromium.org</owner>
<summary>
This metric is emitted when we try to enforce the cache size limit, which is
1) when a page enters BackForwardCache and 2) when a page entering
BackForwardCache receives an acknowledgement from the renderer.
This reports the number of the entries that have not received an
acknowledgement from the renderer.
</summary>
</histogram>
<histogram name="BackForwardCache.EvictedAfterDocumentRestoredReason"
enum="BackForwardCacheEvictedAfterDocumentRestoredReason"
expires_after="2021-12-19">
<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.Renderer"
enum="BackForwardCacheRendererEvictionReason" expires_after="2022-02-06">
<owner>rakina@chromium.org</owner>
<owner>bfcache-dev@chromium.org</owner>
<summary>
Records the reason of renderer-initiated back-forward cache eviction.
Emitted when renderer evicts the page from back-forward cache.
</summary>
</histogram>
<histogram name="BackForwardCache.Eviction.TimeUntilProcessKilled" units="ms"
expires_after="2022-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-10-04">
<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-10-04">
<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="2022-02-06">
<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-12-19">
<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-12-19">
<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-08-15">
<obsolete>
Removed from code in Mar 2021.
</obsolete>
<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.DisabledForRenderFrameHostReason2"
enum="BackForwardCacheDisabledForRenderFrameHostReason2"
expires_after="2022-01-01">
<owner>carlscab@chromium.org</owner>
<owner>hajimehoshi@chromium.org</owner>
<owner>bfcache-dev@chromium.org</owner>
<summary>
For history navigations, records the reason passed to
BackForwardCache::DisableForRenderFrameHost calls.
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.HistoryNavigationOutcome.DisallowActivationReason"
enum="BackForwardCacheDisallowActivationReason" expires_after="2021-11-30">
<owner>carlscab@chromium.org</owner>
<owner>hajimehoshi@chromium.org</owner>
<owner>bfcache-dev@chromium.org</owner>
<summary>
For history navigations, records the reason passed to
RenderFrameHost::IsInactiveAndDisallowActivation calls.
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.HistoryNavigationOutcome.NotRestoredReason"
enum="BackForwardCacheNotRestoredReason" expires_after="2022-02-20">
<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">
<obsolete>
Removed from code in Feb 2021.
</obsolete>
<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">
<obsolete>
Removed from code in Feb 2021.
</obsolete>
<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">
<obsolete>
Removed from code in Feb 2021.
</obsolete>
<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="2022-02-06">
<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="2022-02-06">
<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-12-05">
<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="2022-01-23">
<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="2022-01-01">
<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
&quot;message_handling_when_cached&quot;.
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">
<obsolete>
No longer logged as of 2021-06.
</obsolete>
<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">
<obsolete>
No longer gathered as of 2021-06.
</obsolete>
<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">
<obsolete>
No longer gathered as of 2021-06.
</obsolete>
<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">
<obsolete>
No longer gathered as of 2021-06.
</obsolete>
<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.CodeCacheTime.{CodeCacheType}" units="ms"
expires_after="2021-12-29">
<owner>cduvall@chromium.org</owner>
<owner>jam@chromium.org</owner>
<summary>
Measures how long it takes to fetch from the code cache. Logged every time
the code cache is fetched for the navigation body or a resource.
</summary>
<token key="CodeCacheType">
<variant name="MainFrame"/>
<variant name="Resource"/>
<variant name="Subframe"/>
</token>
</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="2022-01-09">
<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="2022-01-02">
<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">
<obsolete>
Removed from code in Jan 2021.
</obsolete>
<owner>ajuma@chromium.org</owner>
<owner>gambard@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-12-12">
<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="2022-01-16">
<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-10-04">
<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-12-12">
<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="2021-12-12">
<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="2022-02-06">
<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="2022-02-06">
<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-12-12">
<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="M110">
<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">
<obsolete>
Removed September 2021.
</obsolete>
<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.OriginAgentCluster.Result"
enum="OriginAgentClusterEndResult" expires_after="2022-01-26">
<owner>alexmos@chromium.org</owner>
<owner>creis@chromium.org</owner>
<owner>wjmaclean@chromium.org</owner>
<summary>
For every successful cross-document commit, this logs whether or how
OriginAgentCluster was involved. It tracks whether it was requested, as well
as whether the isolation was granted, which can be affected by other
documents in the same browsing context group.
</summary>
</histogram>
<histogram name="Navigation.PolicyBlocklistNavigationThrottle.PolicyLoadDelay"
units="ms" expires_after="2022-01-02">
<owner>ydago@chromium.org</owner>
<owner>pastarmovj@chromium.org</owner>
<summary>
The time spent waiting for policies to load before checking a navigation
against url blocking policies.
</summary>
</histogram>
<histogram
name="Navigation.PolicyBlocklistNavigationThrottle.PolicyLoadTimeout"
enum="Boolean" expires_after="2022-01-02">
<owner>ydago@chromium.org</owner>
<owner>pastarmovj@chromium.org</owner>
<summary>
Records if the policy load delay before PolicyBlocklistNavigationThrottle
checks a navigation against url blocking policies timed out. In case of a
timeout, the navigation resumes ignoring potential policy restrictions.
</summary>
</histogram>
<histogram name="Navigation.Prerender.ActivationCommitDeferTime" units="ms"
expires_after="2022-01-01">
<owner>sreejakshetty@chromium.org</owner>
<owner>altimin@chromium.org</owner>
<summary>
Measures time a PrerenderCommitDeferringCondition defers activation waiting
to commit an ongoing mainframe prerender navigation. Logged every time a
PrerenderCommitDeferringCondition defers navigation.
</summary>
</histogram>
<histogram name="Navigation.QueueTime.{Method}.{FrameType}" units="ms"
expires_after="2022-09-08">
<owner>cduvall@chromium.org</owner>
<owner>jam@chromium.org</owner>
<summary>
Measures the amount of time the task to run {Method} was queued before
running. Logged every time {Method} is run for a {FrameType} in
NavigationURLLoaderImpl with a valid queue time.
</summary>
<token key="Method">
<variant name="OnReceiveRedirect"/>
<variant name="OnReceiveResponse"/>
<variant name="OnStartLoadingResponseBody"/>
</token>
<token key="FrameType" variants="FrameTypes"/>
</histogram>
<histogram name="Navigation.ReadyToCommitUntilCommit2" units="ms"
expires_after="2022-02-20">
<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).
Warning: this histogram was expired after M85 and brought back 2021-04-13;
data may be missing.
</summary>
</histogram>
<histogram name="Navigation.RendererDidNavigateTime.{FrameType}" units="ms"
expires_after="2022-09-07">
<owner>cduvall@chromium.org</owner>
<owner>jam@chromium.org</owner>
<summary>
Measures time it takes to call
NavigationControllerImpl::RendererDidNavigate. Recorded for each navigation
that is not a same document navigation.
</summary>
<token key="FrameType" variants="FrameTypes"/>
</histogram>
<histogram name="Navigation.RequestBeginMainFrameNotExpectedCrash"
enum="BooleanPresent" expires_after="2021-08-22">
<owner>rakina@chromium.org</owner>
<owner>dcheng@chromium.org</owner>
<summary>
Logs cases where ChromeClientImpl::RequestBeginMainFrameNotExpected() is
about to crash, which will trigger crbug.com/838348. This is used to trigger
traces to be uploaded to analyze what happened in these traces.
</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="2022-02-20">
<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.
Warning: this histogram was expired after M85 and brought back 2021-04-13;
data may be missing.
</summary>
</histogram>
<histogram name="Navigation.ThrottleDeferTime.{Event}" units="ms"
expires_after="2022-03-11">
<owner>cduvall@chromium.org</owner>
<owner>jam@chromium.org</owner>
<summary>
Measures time a navigation throttle was deferred when on {Event}. Logged
every time a throttle defers a navigation.
</summary>
<token key="Event" variants="NavigationThrottleEvents"/>
</histogram>
<histogram name="Navigation.ThrottleExecutionTime.{Event}" units="ms"
expires_after="2022-03-11">
<owner>cduvall@chromium.org</owner>
<owner>jam@chromium.org</owner>
<summary>
Measures time a navigation throttle took to execute {Event}. Logged every
time a throttle runs.
</summary>
<token key="Event" variants="NavigationThrottleEvents"/>
</histogram>
<histogram name="Navigation.TimeToActivatePrerender" units="ms"
expires_after="2022-01-01">
<owner>sreejakshetty@chromium.org</owner>
<owner>altimin@chromium.org</owner>
<summary>
The time needed to commit a navigation using prerender activation. This is
the time from the beginning of NavigationStart to the end of
DidCommitPageActivation.
This metric is logged everytime prerender activation navigation commits.
</summary>
</histogram>
<histogram name="Navigation.TimeToReadyToCommit2" units="ms"
expires_after="2022-02-20">
<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.
Warning: this histogram was expired after M85 and brought back 2021-04-13;
data may be missing.
</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 name="Navigation.UserAgentStringType" enum="UserAgentStringType"
expires_after="M100">
<owner>abeyad@chromium.org</owner>
<owner>aarontag@chromium.org</owner>
<summary>
The type of the user agent string value sent in the User-Agent header on a
navigation request. The reduced user agent string is only sent in the
presence of a valid UserAgentReduction origin trial token. This histogram is
recorded when a NavigationRequest is constructed, prior to sending the
request to the network stack.
</summary>
</histogram>
<histogram name="Navigation.VerifyDidCommitParams"
enum="VerifyDidCommitParamsDifference" expires_after="2021-12-26">
<owner>rakina@chromium.org</owner>
<owner>altimin@chromium.org</owner>
<summary>
Logs inconsistencies between browser- vs renderer-calculated values of
DidCommitProvisionalLoadParams which are detected in RenderFrameHostImpl's
VerifyThatBrowserAndRendererCalculatedDidCommitParamsMatch(). This is used
to trigger traces to be uploaded to analyze what happened in these
navigations.
</summary>
</histogram>
<histogram base="true" name="NavigationPredictor.ActionTaken"
enum="NavigationPredictorActionTaken" expires_after="M85">
<obsolete>
Removed 04/2020.
</obsolete>
<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">
<obsolete>
Removed 04/2020.
</obsolete>
<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">
<obsolete>
Removed 04/2020.
</obsolete>
<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">
<obsolete>
Removed 04/2020.
</obsolete>
<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">
<obsolete>
Predictions from external Android apps are no longer supported. Removed
2021/04.
</obsolete>
<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-08-22">
<obsolete>
Removed 04/2020.
</obsolete>
<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">
<obsolete>
Removed 04/2020.
</obsolete>
<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">
<obsolete>
Removed 04/2020.
</obsolete>
<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.DigitalAssetLinks.Event"
enum="NavigationSuggestionDigitalAssetLinkValidationEvent"
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 and a
Digital Asset Link validation must be made between the lookalike and target
sites. If both sites serve valid asset links pointing to each other, the
lookalike warning UI is surpressed.
</summary>
</histogram>
<histogram name="NavigationSuggestion.DigitalAssetLinks.ValidationTime"
units="ms" expires_after="2021-08-30">
<owner>meacer@chromium.org</owner>
<owner>security-enamel@chromium.org</owner>
<summary>
Records the time duration to validate lookalike and target manifests. Only
recorded when both manifests are validated.
</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-10-25">
<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 -&gt; site.com -&gt;
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>
<histogram name="Prerender.Experimental.PrerenderCancelledInterface"
enum="PrerenderCancelledInterface" expires_after="2022-01-27">
<owner>falken@chromium.org</owner>
<owner>nhiroki@chromium.org</owner>
<owner>toyoshim@chromium.org</owner>
<owner>lingqi@chromium.org</owner>
<summary>
Mojo interfaces that cause the cancellation of prerendering. Recorded by
MojoBinderPolicyApplier in the browser process once it receives the binding
request of a kCancel Mojo interface.
</summary>
</histogram>
<histogram
name="Prerender.Experimental.PrerenderHostCancelReasonBeforeActivation"
enum="PrerenderHostFinalStatus" expires_after="2021-08-06">
<obsolete>
Removed from code in July 2021.
</obsolete>
<owner>falken@chromium.org</owner>
<owner>nhiroki@chromium.org</owner>
<owner>toyoshim@chromium.org</owner>
<owner>lingqi@chromium.org</owner>
<summary>
Reason of cancelling a prerendering attempt requested before activation
starts. Recorded by PrerenderHostRegistry in the browser process when the
cancellation is requested.
</summary>
</histogram>
<histogram
name="Prerender.Experimental.PrerenderHostCancelReasonDuringActivation"
enum="PrerenderHostFinalStatus" expires_after="2022-08-06">
<obsolete>
Removed from code in July 2021.
</obsolete>
<owner>falken@chromium.org</owner>
<owner>nhiroki@chromium.org</owner>
<owner>toyoshim@chromium.org</owner>
<owner>lingqi@chromium.org</owner>
<summary>
Reason of cancelling a prerendering attempt requested during activation.
Recorded by PrerenderHostRegistry in the browser process when the
cancellation is requested.
</summary>
</histogram>
<histogram name="Prerender.Experimental.PrerenderHostFinalStatus"
enum="PrerenderHostFinalStatus" expires_after="2022-01-27">
<owner>falken@chromium.org</owner>
<owner>nhiroki@chromium.org</owner>
<owner>toyoshim@chromium.org</owner>
<owner>lingqi@chromium.org</owner>
<summary>
Final status for a prerendering attempt. Recorded by PrerenderHost or
PrerenderHostRegistry in the browser process when the attempt finishes.
</summary>
</histogram>
<histogram name="Prerender.FinalStatus" enum="PrerenderFinalStatus"
expires_after="2021-10-31">
<owner>ryansturm@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
Final status for prerender pages - either success, or why it was canceled.
</summary>
</histogram>
<histogram name="Prerender.NetworkBytesTotalForProfile" units="bytes"
expires_after="M77">
<owner>hajimehoshi@chromium.org</owner>
<owner>jkarlin@chromium.org</owner>
<owner>kouhei@chromium.org</owner>
<summary>
Number of bytes transferred on the network for URLRequests (not including
HTTP/TLS/TCP/IP overhead). Reported on event of a PrerenderContents
deletion. Includes prerender bytes. Bytes are only counted when prerendering
is enabled and not in a control group. The sum of the distribution for a
single user represents all of that user's network transfers for resource for
that time period while prerendering was enabled.
</summary>
</histogram>
<histogram name="Prerender.NetworkBytesWasted" units="bytes"
expires_after="M77">
<owner>hajimehoshi@chromium.org</owner>
<owner>jkarlin@chromium.org</owner>
<owner>kouhei@chromium.org</owner>
<summary>
Number of bytes transferred on the network for URLRequests (not including
HTTP/TLS/TCP/IP overhead) for a prerender that was not used. All
nostate-prefetch bytes are currently counted as wasted because it is hard to
track byte use in HTTP cache.
</summary>
</histogram>
<histogram name="Prerender.NoStatePrefetchMainResourceRedirects"
units="redirects" expires_after="M85">
<owner>droger@chromium.org</owner>
<owner>mattcary@chromium.org</owner>
<owner>pasko@chromium.org</owner>
<summary>
Length of the redirect chain for main resources loaded by NoStatePrefetch.
Recorded when the final response in the chain is received.
</summary>
</histogram>
<histogram name="Prerender.NoStatePrefetchRendererLifetimeExtension" units="ms"
expires_after="M77">
<owner>jam@chromium.org</owner>
<summary>
Time a prefetch renderer is kept alive after parsing to wait for
subresources to finish loading.
</summary>
</histogram>
<histogram name="Prerender.NoStatePrefetchRendererParseTime" units="ms"
expires_after="M81">
<owner>jam@chromium.org</owner>
<summary>
Time between prefetch renderer startup and when parsing is complete.
</summary>
</histogram>
<histogram name="Prerender.NoStatePrefetchResponseTypes"
enum="NoStatePrefetchResponseType" expires_after="M85">
<owner>droger@chromium.org</owner>
<owner>mattcary@chromium.org</owner>
<owner>pasko@chromium.org</owner>
<summary>
Type of responses received by NoStatePrefetch, distinguishing cacheable
resources from no-store resources, and main resources from sub-resources.
Recorded when a response is received, including on each redirect.
</summary>
</histogram>
<histogram name="Prerender.NoStatePrefetchSubResourceRedirects"
units="redirects" expires_after="M85">
<owner>droger@chromium.org</owner>
<owner>mattcary@chromium.org</owner>
<owner>pasko@chromium.org</owner>
<summary>
Length of the redirect chain for sub-resources loaded by NoStatePrefetch.
Recorded when the final response in the chain is received.
</summary>
</histogram>
<histogram name="Prerender.PrerenderLoadComplete" units="BooleanSuccess"
expires_after="2022-03-30">
<owner>gambard@chromium.org</owner>
<owner>justincohen@chromium.org</owner>
<summary>
Whether the load was completed when the pre-render was used. If the
prerender is cancelled, this is not logged. Only on iOS.
</summary>
</histogram>
<histogram name="Prerender.PrerenderLoadedOnFirstNTP" enum="Boolean"
expires_after="M81">
<owner>justincohen@chromium.org</owner>
<summary>
Whether or not a successful prerender happens on a NTP with no history.
</summary>
</histogram>
<histogram name="Prerender.PrerenderLoadedOnIndex" units="units"
expires_after="M81">
<owner>justincohen@chromium.org</owner>
<summary>
The last comitted index before a successful preload is committed. Recorded
only on iOS.
</summary>
</histogram>
<histogram name="Prerender.PrerendersPerSessionCount" units="units"
expires_after="2021-04-22">
<owner>ryansturm@chromium.org</owner>
<owner>tbansal@chromium.org</owner>
<summary>
The number of sessions that have at least X successful prerenders. Recorded
only on iOS since 2017-09.
</summary>
</histogram>
<histogram name="Prerender.PrerenderTimeSaved" units="ms"
expires_after="2022-03-30">
<owner>gambard@chromium.org</owner>
<owner>justincohen@chromium.org</owner>
<summary>
This is the time from when a prerendered page begins to load to when it is
swapped in as the main page load or to when the pre-loaded page is fully
loaded, whichever came first. Recorded when the swap occurs, only on iOS.
</summary>
</histogram>
<histogram name="Prerender.TabContentsDeleterTimeout"
enum="BooleanCloseTimeout" expires_after="M85">
<owner>pasko@chromium.org</owner>
<summary>
A boolean that indicates how often we fail to delete an old prerendered tab
before the timeout.
</summary>
</histogram>
</histograms>
</histogram-configuration>