Commit 1a43eb76 authored by Alexander Timin's avatar Alexander Timin Committed by Commit Bot

[histograms] Clean up histograms and add myself as owner

- Merge back_forward_cache into navigation folder.
- Move scheduling-related histograms from other to scheduler/.
- Add myself as owner for scheduler/ and navigation/.

R=sweilun@chromium.org,isherman@chromium.org

Change-Id: I6b4d296be8316d65fd6e7da1371f986fcf2fe706
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2503730Reviewed-by: default avatarIlya Sherman <isherman@chromium.org>
Commit-Queue: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#821899}
parent 381c1c32
......@@ -42,7 +42,6 @@ template("generate_expired_histograms_array") {
"//tools/metrics/histograms/histograms_xml/auth/histograms.xml",
"//tools/metrics/histograms/histograms_xml/auto/histograms.xml",
"//tools/metrics/histograms/histograms_xml/autofill/histograms.xml",
"//tools/metrics/histograms/histograms_xml/back_forward_cache/histograms.xml",
"//tools/metrics/histograms/histograms_xml/background/histograms.xml",
"//tools/metrics/histograms/histograms_xml/blink/histograms.xml",
"//tools/metrics/histograms/histograms_xml/bluetooth/histograms.xml",
......@@ -77,8 +76,8 @@ template("generate_expired_histograms_array") {
"//tools/metrics/histograms/histograms_xml/geolocation/histograms.xml",
"//tools/metrics/histograms/histograms_xml/google/histograms.xml",
"//tools/metrics/histograms/histograms_xml/gpu/histograms.xml",
"//tools/metrics/histograms/histograms_xml/histogram_suffixes_list.xml",
"//tools/metrics/histograms/histograms_xml/hang_watcher/histograms.xml",
"//tools/metrics/histograms/histograms_xml/histogram_suffixes_list.xml",
"//tools/metrics/histograms/histograms_xml/history/histograms.xml",
"//tools/metrics/histograms/histograms_xml/holding_space/histograms.xml",
"//tools/metrics/histograms/histograms_xml/image/histograms.xml",
......@@ -121,6 +120,7 @@ template("generate_expired_histograms_array") {
"//tools/metrics/histograms/histograms_xml/renderer4/histograms.xml",
"//tools/metrics/histograms/histograms_xml/safe_browsing/histograms.xml",
"//tools/metrics/histograms/histograms_xml/sb_client/histograms.xml",
"//tools/metrics/histograms/histograms_xml/scheduler/histograms.xml",
"//tools/metrics/histograms/histograms_xml/search/histograms.xml",
"//tools/metrics/histograms/histograms_xml/security/histograms.xml",
"//tools/metrics/histograms/histograms_xml/service/histograms.xml",
......
......@@ -8,7 +8,6 @@ tools/metrics/histograms/histograms_xml/assistant/histograms.xml
tools/metrics/histograms/histograms_xml/auth/histograms.xml
tools/metrics/histograms/histograms_xml/auto/histograms.xml
tools/metrics/histograms/histograms_xml/autofill/histograms.xml
tools/metrics/histograms/histograms_xml/back_forward_cache/histograms.xml
tools/metrics/histograms/histograms_xml/background/histograms.xml
tools/metrics/histograms/histograms_xml/blink/histograms.xml
tools/metrics/histograms/histograms_xml/bluetooth/histograms.xml
......@@ -87,6 +86,7 @@ tools/metrics/histograms/histograms_xml/renderer/histograms.xml
tools/metrics/histograms/histograms_xml/renderer4/histograms.xml
tools/metrics/histograms/histograms_xml/safe_browsing/histograms.xml
tools/metrics/histograms/histograms_xml/sb_client/histograms.xml
tools/metrics/histograms/histograms_xml/scheduler/histograms.xml
tools/metrics/histograms/histograms_xml/search/histograms.xml
tools/metrics/histograms/histograms_xml/security/histograms.xml
tools/metrics/histograms/histograms_xml/service/histograms.xml
......@@ -115,4 +115,4 @@ tools/metrics/histograms/histograms_xml/web_audio/histograms.xml
tools/metrics/histograms/histograms_xml/web_core/histograms.xml
tools/metrics/histograms/histograms_xml/web_rtc/histograms.xml
tools/metrics/histograms/histograms_xml/weblayer/histograms.xml
tools/metrics/histograms/histograms_xml/windows/histograms.xml
\ No newline at end of file
tools/metrics/histograms/histograms_xml/windows/histograms.xml
<!--
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 BackForwardCache 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-04-18">
<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-04-25">
<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-04-11">
<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-04-11">
<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-04-11">
<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-03-28">
<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-03-28">
<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-04-11">
<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-04-11">
<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-04-11">
<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-04-11">
<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.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-03-07">
<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>
</histograms>
</histogram-configuration>
......@@ -4,4 +4,5 @@
# - You work in the same area as them.
# - They are already a good reviewer for the non-metrics part of the CL.
# See tools/metrics/histograms/OWNERS for details.
altimin@chromium.org
tbansal@chromium.org
......@@ -21,6 +21,400 @@ reviews. Googlers can read more about this at go/gwsq-gerrit.
<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-04-18">
<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-04-25">
<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-04-11">
<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-04-11">
<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-04-11">
<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-03-28">
<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-03-28">
<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-04-11">
<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-04-11">
<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-04-11">
<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-04-11">
<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.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-03-07">
<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">
<owner>shivanisha@chromium.org</owner>
......
......@@ -12271,297 +12271,6 @@ should be kept until we remove incident reporting. -->
</summary>
</histogram>
<histogram name="Scheduler.CancelableTaskTracker.TaskDuration2" units="ms"
expires_after="2021-04-04">
<!-- Name completed by histogram_suffixes name="CancelableTaskTrackerDurationTypes" -->
<owner>wez@chromium.org</owner>
<owner>scheduler-dev@chromium.org</owner>
<summary>
Time taken for a task posted to a CancelableTaskTracker to run. Durations
are not recorded for tasks skipped due to having been canceled.
</summary>
</histogram>
<histogram name="Scheduler.CancelableTaskTracker.TaskStatus"
enum="CancelableTaskStatus" expires_after="2021-04-04">
<owner>wez@chromium.org</owner>
<owner>scheduler-dev@chromium.org</owner>
<summary>
Records whether a task posted to CancelableTaskTracker was canceled before
it got the chance to run, and whether it was same-sequence or off-sequence.
Recorded for every task posted via CancelableTaskTracker, immediately before
it would be run.
</summary>
</histogram>
<histogram base="true"
name="Scheduler.DOMScheduler.QueueingDurationPerPriority" units="ms"
expires_after="2020-12-01">
<!-- Name completed by histogram_suffixes name="Scheduler.DOMScheduler.Priority" -->
<owner>kdillon@chromium.org</owner>
<owner>shaseley@chromium.org</owner>
<summary>
Queueing time of a task posted via the postTask API. Reported when the task
is starts and bycked by priority. Tasks who have had their priority changed
are skipped.
</summary>
</histogram>
<histogram name="Scheduler.DOMScheduler.TaskSignalPriorityWasChanged"
enum="PriorityChangeStatus" expires_after="2020-12-01">
<owner>kdillon@chromium.org</owner>
<owner>shaseley@chromium.org</owner>
<summary>
Records whether or not a task posted via scheduler.postTask had it's
priority changed. Records when the task is started.
</summary>
</histogram>
<histogram name="Scheduler.Experimental.CPUTimePerThread"
enum="SchedulerThreadType" expires_after="M81">
<owner>altimin@chromium.org</owner>
<summary>
Total wall time of all tasks in scheduler-managed threads split per thread.
The bucket value is the sum of thread durations of all tasks in this thread
across all browsing instances. This metric is reported each time we execute
a task which has cpu time measurement.
</summary>
</histogram>
<histogram base="true" name="Scheduler.Experimental.Renderer.CPUTimePerThread"
enum="RendererSchedulerThreadType" expires_after="M85">
<owner>altimin@chromium.org</owner>
<summary>
Total cpu time of scheduler-managed threads in the renderer process.
It is supposed that Scheduler.Experimental.Renderer.CPUTimePerThread.Tracked
and Scheduler.Experimental.Renderer.CPUTimePerThread.Untracked histograms
should be analysed together.
The bucket value is the sum of thread durations of all tasks in this thread
across all browsing instances. This metric is reported each time we execute
a task. Due to thread time being expensive to measure, only 0.01% of threads
report this metric.
</summary>
</histogram>
<histogram base="true"
name="Scheduler.Experimental.Renderer.TotalTime.Wall.MainThread" units="s"
expires_after="M81">
<owner>altimin@chromium.org</owner>
<summary>
Sum of durations of all scheduler-managed tasks in the renderer process.
Due to implementation constraints a difference between .Positive and
.Negative subhistograms should be analysed. See
blink::scheduler::TotalDurationMetricReporter for details.
These metrics are updated each time a new task is executed.
</summary>
</histogram>
<histogram name="Scheduler.Experimental.Renderer.UkmRecordingStatus"
enum="SchedulerUkmRecordingStatus" expires_after="M81">
<owner>altimin@chromium.org</owner>
<summary>
The results of the attempts to sample scheduling tasks into the UKM. Used to
ensure that we're not silently dropping tasks, which can lead to biases in
our analyses.
Recorded each time a scheduling task UKM is recorded.
</summary>
</histogram>
<histogram name="Scheduler.Experimental.WallTimePerThread"
enum="SchedulerThreadType" expires_after="M77">
<owner>altimin@chromium.org</owner>
<summary>
Total wall time of all tasks in scheduler-managed threads split per thread.
The bucket value is the sum of thread durations of all tasks in this thread
across all browsing instances. This metric is reported each time we execute
a task which has wall time measurement.
</summary>
</histogram>
<histogram name="Scheduling.BeginImplFrameLatency2" units="microseconds"
expires_after="M85">
<owner>stanisc@chromium.org</owner>
<summary>
The time from v-sync to when the main side actually starts the
BeginImplFrame.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Scheduling.CommitToReadyToActivateDuration2"
units="microseconds" expires_after="M85">
<owner>vmiura@chromium.org</owner>
<owner>sadrul@chromium.org</owner>
<summary>
How long it takes for the compositor to rasterize pending tree content after
a commit before it is ready for activation.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Scheduling.DrawDuration2" units="microseconds"
expires_after="M85">
<owner>vmiura@chromium.org</owner>
<owner>sadrul@chromium.org</owner>
<summary>
How long it takes the compositor to draw a frame.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Scheduling.InvalidationToReadyToActivateDuration2"
units="microseconds" expires_after="M85">
<owner>vmiura@chromium.org</owner>
<owner>sadrul@chromium.org</owner>
<summary>
How long it takes for the compositor to rasterize pending tree content after
an impl-side invalidation before it is ready for activation.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Scheduling.PrepareTilesDuration2" units="microseconds"
expires_after="M85">
<owner>vmiura@chromium.org</owner>
<owner>sadrul@chromium.org</owner>
<summary>
How long it takes the compositor to PreapreTiles, which determines what
rasterization work to do.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Scheduling.Renderer.BeginMainFrameQueueDurationNotCritical2"
units="microseconds" expires_after="M77">
<owner>vmiura@chromium.org</owner>
<owner>sadrul@chromium.org</owner>
<summary>
How long it takes for the main side to start the BeginMainFrame in response
to the compositor's SendBeginMainFrame when the on_critical_path flag is not
set.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Scheduling.Renderer.DrawInterval2" units="microseconds"
expires_after="never">
<!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) -->
<owner>vmiura@chromium.org</owner>
<owner>sadrul@chromium.org</owner>
<owner>speed-metrics-dev@chromium.org</owner>
<owner>chrome-analysis-team@google.com</owner>
<summary>
The time delta between the draw times of back-to-back BeginImplFrames,
regardless of whether or not they result in a swap.
The interval is only recorded when every BeginImplFrame wants to draw.
Do not modify this metric in any way without contacting
speed-metrics-dev@chromium.org AND chrome-analysis-team@google.com.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_HIGH_RESOLUTION_TIMES for
the solution.
</summary>
</histogram>
<histogram name="Scheduling.Renderer.DrawIntervalWithCustomPropertyAnimations2"
units="microseconds" expires_after="2020-10-01">
<owner>xidachen@chromium.org</owner>
<owner>animations-dev@chromium.org</owner>
<summary>
The time delta between the draw times of back-to-back BeginImplFrames,
regardless of whether or not they result in a swap, when there is at least
one custom property animation.
The interval is only recorded when every BeginImplFrame wants to draw.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Scheduling.Renderer.PendingTreeRasterDuration"
units="microseconds" expires_after="2020-02-16">
<owner>khushalsagar@chromium.org</owner>
<summary>
Time between starting raster work on the pending tree and when it is ready
to activate. Unlike PendingTreeDuration which - includes the time to commit
to this tree, the raster duration and the time for which the pending tree
waits before it can be activated - this only measures the time taken to
rasterize tiles required for activation.
The interval is recorded each time we are notifed that a pending tree is
ready for activation.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Scheduling.SwapToAckLatency2" units="microseconds"
expires_after="M85">
<owner>vmiura@chromium.org</owner>
<owner>sadrul@chromium.org</owner>
<summary>
How long it takes the swap ack to return after a swap.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="ScreenLocker.AuthenticationFailure" enum="UnlockType"
expires_after="2021-03-28">
<owner>antrim@chromium.org</owner>
......@@ -14887,79 +14596,6 @@ should be kept until we remove incident reporting. -->
</summary>
</histogram>
<histogram base="true" name="ThreadPool.DetachDuration" units="ms"
expires_after="M85">
<obsolete>
Removed 10/2020. Not actively used.
</obsolete>
<owner>fdoray@chromium.org</owner>
<owner>gab@chromium.org</owner>
<owner>robliao@chromium.org</owner>
<summary>
Time elapsed between when the thread managed by a SchedulerWorker is
detached and when the main function of a new thread managed by the same
SchedulerWorker is entered (following a wake up). Recorded each time that a
thread is recreated for a given SchedulerWorker.
</summary>
</histogram>
<histogram base="true" name="ThreadPool.HeartbeatLatencyMicroseconds"
units="microseconds" expires_after="M85">
<owner>fdoray@chromium.org</owner>
<owner>gab@chromium.org</owner>
<owner>robliao@chromium.org</owner>
<summary>
Latency of dummy &quot;heartbeat&quot; tasks posted with specific traits
(see suffix). The heartbeat recording avoids dependencies between this
report and other work in the system. See
ThreadPool.TaskLatencyMicroseconds.* for a metric that is closer to the real
workload.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram base="true" name="ThreadPool.NumTasksBeforeDetach" units="tasks"
expires_after="M85">
<owner>fdoray@chromium.org</owner>
<owner>gab@chromium.org</owner>
<owner>robliao@chromium.org</owner>
<summary>
Number of tasks executed by a SchedulerWorker before it detached. Recorded
when a SchedulerWorker detaches.
</summary>
</histogram>
<histogram base="true" name="ThreadPool.NumTasksRunWhileQueuing" units="tasks"
expires_after="2019-10-01">
<obsolete>
Removed 10/2020. Not actively used.
</obsolete>
<owner>fdoray@chromium.org</owner>
<summary>
Number of tasks run by ThreadPool while task was queuing (from time task was
posted until time it was run). Recorded for dummy &quot;heartbeat&quot;
tasks posted with specific traits (see suffix). The heartbeat recording
avoids dependencies between this report and other work in the system.
Recorded every time the ServiceThread performs a heartbeat latency report.
</summary>
</histogram>
<histogram base="true" name="ThreadPool.TaskLatencyMicroseconds"
units="microseconds" expires_after="M85">
<owner>fdoray@chromium.org</owner>
<owner>gab@chromium.org</owner>
<owner>robliao@chromium.org</owner>
<summary>
Time elapsed between when a task is posted and when it starts to run.
Recorded for each task that runs inside the ThreadPool.
</summary>
</histogram>
<histogram name="ThreadWatcher.ResponseTime" units="ms"
expires_after="2021-05-11">
<owner>dschinazi@chromium.org</owner>
......
# If none of these reviewers are available, please send CLs to
# <chromium-metrics-reviews@google.com>.
# See tools/metrics/histograms/histograms_xml/OWNERS for details.
altimin@chromium.org
<!--
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 others 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="Scheduler.CancelableTaskTracker.TaskDuration2" units="ms"
expires_after="2021-04-04">
<!-- Name completed by histogram_suffixes name="CancelableTaskTrackerDurationTypes" -->
<owner>wez@chromium.org</owner>
<owner>scheduler-dev@chromium.org</owner>
<summary>
Time taken for a task posted to a CancelableTaskTracker to run. Durations
are not recorded for tasks skipped due to having been canceled.
</summary>
</histogram>
<histogram name="Scheduler.CancelableTaskTracker.TaskStatus"
enum="CancelableTaskStatus" expires_after="2021-04-04">
<owner>wez@chromium.org</owner>
<owner>scheduler-dev@chromium.org</owner>
<summary>
Records whether a task posted to CancelableTaskTracker was canceled before
it got the chance to run, and whether it was same-sequence or off-sequence.
Recorded for every task posted via CancelableTaskTracker, immediately before
it would be run.
</summary>
</histogram>
<histogram base="true"
name="Scheduler.DOMScheduler.QueueingDurationPerPriority" units="ms"
expires_after="2020-12-01">
<!-- Name completed by histogram_suffixes name="Scheduler.DOMScheduler.Priority" -->
<owner>kdillon@chromium.org</owner>
<owner>shaseley@chromium.org</owner>
<summary>
Queueing time of a task posted via the postTask API. Reported when the task
is starts and bycked by priority. Tasks who have had their priority changed
are skipped.
</summary>
</histogram>
<histogram name="Scheduler.DOMScheduler.TaskSignalPriorityWasChanged"
enum="PriorityChangeStatus" expires_after="2020-12-01">
<owner>kdillon@chromium.org</owner>
<owner>shaseley@chromium.org</owner>
<summary>
Records whether or not a task posted via scheduler.postTask had it's
priority changed. Records when the task is started.
</summary>
</histogram>
<histogram name="Scheduler.Experimental.CPUTimePerThread"
enum="SchedulerThreadType" expires_after="M81">
<owner>altimin@chromium.org</owner>
<summary>
Total wall time of all tasks in scheduler-managed threads split per thread.
The bucket value is the sum of thread durations of all tasks in this thread
across all browsing instances. This metric is reported each time we execute
a task which has cpu time measurement.
</summary>
</histogram>
<histogram base="true" name="Scheduler.Experimental.Renderer.CPUTimePerThread"
enum="RendererSchedulerThreadType" expires_after="M85">
<owner>altimin@chromium.org</owner>
<summary>
Total cpu time of scheduler-managed threads in the renderer process.
It is supposed that Scheduler.Experimental.Renderer.CPUTimePerThread.Tracked
and Scheduler.Experimental.Renderer.CPUTimePerThread.Untracked histograms
should be analysed together.
The bucket value is the sum of thread durations of all tasks in this thread
across all browsing instances. This metric is reported each time we execute
a task. Due to thread time being expensive to measure, only 0.01% of threads
report this metric.
</summary>
</histogram>
<histogram base="true"
name="Scheduler.Experimental.Renderer.TotalTime.Wall.MainThread" units="s"
expires_after="M81">
<owner>altimin@chromium.org</owner>
<summary>
Sum of durations of all scheduler-managed tasks in the renderer process.
Due to implementation constraints a difference between .Positive and
.Negative subhistograms should be analysed. See
blink::scheduler::TotalDurationMetricReporter for details.
These metrics are updated each time a new task is executed.
</summary>
</histogram>
<histogram name="Scheduler.Experimental.Renderer.UkmRecordingStatus"
enum="SchedulerUkmRecordingStatus" expires_after="M81">
<owner>altimin@chromium.org</owner>
<summary>
The results of the attempts to sample scheduling tasks into the UKM. Used to
ensure that we're not silently dropping tasks, which can lead to biases in
our analyses.
Recorded each time a scheduling task UKM is recorded.
</summary>
</histogram>
<histogram name="Scheduler.Experimental.WallTimePerThread"
enum="SchedulerThreadType" expires_after="M77">
<owner>altimin@chromium.org</owner>
<summary>
Total wall time of all tasks in scheduler-managed threads split per thread.
The bucket value is the sum of thread durations of all tasks in this thread
across all browsing instances. This metric is reported each time we execute
a task which has wall time measurement.
</summary>
</histogram>
<histogram name="Scheduling.BeginImplFrameLatency2" units="microseconds"
expires_after="M85">
<owner>stanisc@chromium.org</owner>
<summary>
The time from v-sync to when the main side actually starts the
BeginImplFrame.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Scheduling.CommitToReadyToActivateDuration2"
units="microseconds" expires_after="M85">
<owner>vmiura@chromium.org</owner>
<owner>sadrul@chromium.org</owner>
<summary>
How long it takes for the compositor to rasterize pending tree content after
a commit before it is ready for activation.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Scheduling.DrawDuration2" units="microseconds"
expires_after="M85">
<owner>vmiura@chromium.org</owner>
<owner>sadrul@chromium.org</owner>
<summary>
How long it takes the compositor to draw a frame.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Scheduling.InvalidationToReadyToActivateDuration2"
units="microseconds" expires_after="M85">
<owner>vmiura@chromium.org</owner>
<owner>sadrul@chromium.org</owner>
<summary>
How long it takes for the compositor to rasterize pending tree content after
an impl-side invalidation before it is ready for activation.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Scheduling.PrepareTilesDuration2" units="microseconds"
expires_after="M85">
<owner>vmiura@chromium.org</owner>
<owner>sadrul@chromium.org</owner>
<summary>
How long it takes the compositor to PreapreTiles, which determines what
rasterization work to do.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Scheduling.Renderer.BeginMainFrameQueueDurationNotCritical2"
units="microseconds" expires_after="M77">
<owner>vmiura@chromium.org</owner>
<owner>sadrul@chromium.org</owner>
<summary>
How long it takes for the main side to start the BeginMainFrame in response
to the compositor's SendBeginMainFrame when the on_critical_path flag is not
set.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Scheduling.Renderer.DrawInterval2" units="microseconds"
expires_after="never">
<!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) -->
<owner>vmiura@chromium.org</owner>
<owner>sadrul@chromium.org</owner>
<owner>speed-metrics-dev@chromium.org</owner>
<owner>chrome-analysis-team@google.com</owner>
<summary>
The time delta between the draw times of back-to-back BeginImplFrames,
regardless of whether or not they result in a swap.
The interval is only recorded when every BeginImplFrame wants to draw.
Do not modify this metric in any way without contacting
speed-metrics-dev@chromium.org AND chrome-analysis-team@google.com.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_HIGH_RESOLUTION_TIMES for
the solution.
</summary>
</histogram>
<histogram name="Scheduling.Renderer.DrawIntervalWithCustomPropertyAnimations2"
units="microseconds" expires_after="2020-10-01">
<owner>xidachen@chromium.org</owner>
<owner>animations-dev@chromium.org</owner>
<summary>
The time delta between the draw times of back-to-back BeginImplFrames,
regardless of whether or not they result in a swap, when there is at least
one custom property animation.
The interval is only recorded when every BeginImplFrame wants to draw.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Scheduling.Renderer.PendingTreeRasterDuration"
units="microseconds" expires_after="2020-02-16">
<owner>khushalsagar@chromium.org</owner>
<summary>
Time between starting raster work on the pending tree and when it is ready
to activate. Unlike PendingTreeDuration which - includes the time to commit
to this tree, the raster duration and the time for which the pending tree
waits before it can be activated - this only measures the time taken to
rasterize tiles required for activation.
The interval is recorded each time we are notifed that a pending tree is
ready for activation.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram name="Scheduling.SwapToAckLatency2" units="microseconds"
expires_after="M85">
<owner>vmiura@chromium.org</owner>
<owner>sadrul@chromium.org</owner>
<summary>
How long it takes the swap ack to return after a swap.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram base="true" name="ThreadPool.DetachDuration" units="ms"
expires_after="M85">
<obsolete>
Removed 10/2020. Not actively used.
</obsolete>
<owner>fdoray@chromium.org</owner>
<owner>gab@chromium.org</owner>
<owner>robliao@chromium.org</owner>
<summary>
Time elapsed between when the thread managed by a SchedulerWorker is
detached and when the main function of a new thread managed by the same
SchedulerWorker is entered (following a wake up). Recorded each time that a
thread is recreated for a given SchedulerWorker.
</summary>
</histogram>
<histogram base="true" name="ThreadPool.HeartbeatLatencyMicroseconds"
units="microseconds" expires_after="M85">
<owner>fdoray@chromium.org</owner>
<owner>gab@chromium.org</owner>
<owner>robliao@chromium.org</owner>
<summary>
Latency of dummy &quot;heartbeat&quot; tasks posted with specific traits
(see suffix). The heartbeat recording avoids dependencies between this
report and other work in the system. See
ThreadPool.TaskLatencyMicroseconds.* for a metric that is closer to the real
workload.
Warning: This metric may include reports from clients with low-resolution
clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports
will cause this metric to have an abnormal distribution. When considering
revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the
solution.
</summary>
</histogram>
<histogram base="true" name="ThreadPool.NumTasksBeforeDetach" units="tasks"
expires_after="M85">
<owner>fdoray@chromium.org</owner>
<owner>gab@chromium.org</owner>
<owner>robliao@chromium.org</owner>
<summary>
Number of tasks executed by a SchedulerWorker before it detached. Recorded
when a SchedulerWorker detaches.
</summary>
</histogram>
<histogram base="true" name="ThreadPool.NumTasksRunWhileQueuing" units="tasks"
expires_after="2019-10-01">
<obsolete>
Removed 10/2020. Not actively used.
</obsolete>
<owner>fdoray@chromium.org</owner>
<summary>
Number of tasks run by ThreadPool while task was queuing (from time task was
posted until time it was run). Recorded for dummy &quot;heartbeat&quot;
tasks posted with specific traits (see suffix). The heartbeat recording
avoids dependencies between this report and other work in the system.
Recorded every time the ServiceThread performs a heartbeat latency report.
</summary>
</histogram>
<histogram base="true" name="ThreadPool.TaskLatencyMicroseconds"
units="microseconds" expires_after="M85">
<owner>fdoray@chromium.org</owner>
<owner>gab@chromium.org</owner>
<owner>robliao@chromium.org</owner>
<summary>
Time elapsed between when a task is posted and when it starts to run.
Recorded for each task that runs inside the ThreadPool.
</summary>
</histogram>
</histograms>
</histogram-configuration>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment