blob: 8b5d95ed9de3055098ec61c6350d736bf7d85ba6 [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 Blink 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="Blink.Accessibility.NumTreeUpdatesQueuedBeforeLayout"
units="updates" expires_after="M86">
<owner>aboxhall@chromium.org</owner>
<owner>chrome-a11y-core@chromium.org</owner>
<summary>
Records how many tree updates were queued at the time updates are being
processed after layout. If we are trying to process too many updates at
once, we should investigate how we might be able to merge similar updates
without losing important information.
</summary>
</histogram>
<histogram base="true" name="Blink.Animate.UpdateTime" units="microseconds"
expires_after="2021-05-23">
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" -->
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Time spent processing main frame animations during a main frame update.
This histogram does not record metrics on machines with low-resolution
clocks.
</summary>
</histogram>
<histogram name="Blink.Animation.CompositedAnimationFailureReason"
enum="CompositorAnimationsFailureReason" expires_after="2021-06-20">
<owner>smcgruer@chromium.org</owner>
<owner>animations-dev@chromium.org</owner>
<summary>
Reasons an Animation is not suitable for running on the compositor thread.
Note that a given Animation may have more than one reason, so this histogram
cannot be used to determine the overall rate of 'composited' vs
'noncomposited' animations.
</summary>
</histogram>
<histogram name="Blink.Canvas.2DPrintingAsVector" enum="BooleanSuccess"
expires_after="2021-01-31">
<owner>fserb@chromium.org</owner>
<owner>juanmihd@chromium.org</owner>
<summary>
Records if a Canvas is being printed as a vector or as an image.
</summary>
</histogram>
<histogram name="Blink.Canvas.ContentChangeMode"
enum="BooleanContentChangeMode" expires_after="2021-05-09">
<owner>yiyix@chromium.org</owner>
<owner>fserb@chromium.org</owner>
<summary>
Records whether the contents in the canvas buffer needed to be preserved via
a copy when replacing the target buffer for drawing a new frame. This metric
is recorded each time the target buffer needs to be replaced. It's recorded
once per frame.
</summary>
</histogram>
<histogram name="Blink.Canvas.ContextType" enum="CanvasContextType"
expires_after="2021-06-06">
<owner>fserb@chromium.org</owner>
<owner>aaronhk@chromium.org</owner>
<summary>
Records the context type names used to create canvas rendering contexts.
</summary>
</histogram>
<histogram name="Blink.Canvas.CreateImageBitmapSource"
enum="CanvasCreateImageBitmapSource" expires_after="2022-04-04">
<owner>fserb@chromium.org</owner>
<owner>aaronhk@chromium.org</owner>
<summary>
The source from which an ImageBitmap is created by a createImageBitmap call.
</summary>
</histogram>
<histogram base="true" name="Blink.Canvas.DrawImage.Duration"
units="microseconds" expires_after="2021-06-06">
<owner>fserb@chromium.org</owner>
<owner>aaronhk@chromium.org</owner>
<summary>
Time spent on the main thread during a 2D canvas drawImage API call.
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 base="true" name="Blink.Canvas.DrawImage.SqrtNumberOfPixels"
units="sqrt(pixels)" expires_after="2021-06-06">
<owner>fserb@chromium.org</owner>
<owner>aaronhk@chromium.org</owner>
<summary>
Stores the square root of the number of pixels drawn into a Canvas.
Different histograms per CanvasImageSource.
</summary>
</histogram>
<histogram base="true" name="Blink.Canvas.GetImageDataScaledDuration"
units="microseconds * 10/sqrt(pixels)" expires_after="2021-01-31">
<owner>fserb@chromium.org</owner>
<owner>aaronhk@chromium.org</owner>
<summary>
Time in microseconds * 10 (10e-5 seconds) spent on the 2D canvas
getImageData API call, divided by the square root of the total number of
pixels of the image extracted from the canvas. Smaller is faster.
The idea behind this elaborated unit is that the bigger the area of a canvas
the longer the operation GetImageData takes, so we want a way to measure the
overall performance regardless of the size of the canvas.
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="Blink.Canvas.GPUFallbackToCPU"
enum="CanvasGPUFallbackToCPUScenario" expires_after="2021-01-31">
<owner>fserb@chromium.org</owner>
<summary>Logs the occurrences of canvas fallback from GPU to CPU.</summary>
</histogram>
<histogram name="Blink.Canvas.HasRendered" enum="Boolean"
expires_after="2021-01-31">
<owner>juanmihd@chromium.org</owner>
<owner>fserb@chromium.org</owner>
<summary>
Records if the canvas has been rendered at least once. Recorded on disposal.
</summary>
</histogram>
<histogram name="Blink.Canvas.HibernationEvents" enum="CanvasHibernationEvent"
expires_after="2021-04-04">
<owner>fserb@chromium.org</owner>
<summary>
Records the occurrence of events related to 2D canvas GPU resource
hibernation.
</summary>
</histogram>
<histogram name="Blink.Canvas.IsComposited" enum="Boolean"
expires_after="2021-01-31">
<owner>aaronhk@chromium.org</owner>
<owner>fserb@chromium.org</owner>
<summary>
Records if the canvas context is composited or not. Recorded in
HTMLCanvasElement::GetCanvasRenderingContext.
Note: This has been recording bad data since at least 2020-01-01. It was
emitted in the wrong place and always recording false. Since it records the
same information as IsAccelerated, I am just going to let it expire.
</summary>
</histogram>
<histogram name="Blink.Canvas.MaximumInflightResources"
units="canvas resources" expires_after="2021-04-04">
<owner>aaronhk@chromium.org</owner>
<owner>fserb@chromium.org</owner>
<summary>
Reports the maximum number or canvas resources used at any one time by a
canvas resource provider. Logged in the destructor of
CanvasResourceProvider.
</summary>
</histogram>
<histogram name="Blink.Canvas.NumCanvasesPerPage" units="canvases"
expires_after="2021-06-06">
<owner>aaronhk@chromium.org</owner>
<owner>fserb@chromium.org</owner>
<summary>
When a Document is shutdown, reports the number of canvases on that page.
</summary>
</histogram>
<histogram base="true" name="Blink.Canvas.PutImageDataScaledDuration"
units="microseconds * 10/sqrt(pixels)" expires_after="2021-01-31">
<owner>fserb@chromium.org</owner>
<owner>aaronhk@chromium.org</owner>
<summary>
Time in microseconds * 10 (10e-5 seconds) spent on the 2D canvas
putImageData API call, divided by the square root of the total number of
pixels of the imageData painted into the canvas. Smaller is faster.
The idea behind this elaborated unit is that the bigger the area of a canvas
the longer the operation PutImageData takes, so we want a way to measure the
overall performance regardless of the size of the canvas.
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="Blink.Canvas.RasterDuration" units="microseconds"
expires_after="2021-06-06">
<owner>aaronhk@chromium.org</owner>
<owner>fserb@chromium.org</owner>
<summary>
Records the CPU, GPU and combined raster time for a random sampling of
canvas frames for accelerated and deferred canvases. Records wall time for a
random sampling of unaccelerated canvases.
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="Blink.Canvas.RequestedImageMimeTypes"
enum="RequestedImageMimeType" expires_after="2022-04-04">
<owner>fserb@chromium.org</owner>
<owner>aaronhk@chromium.org</owner>
<summary>
Records the occurence of image file formats passed into toDataURL and toBlob
functions in canvas.
</summary>
</histogram>
<histogram name="Blink.Canvas.ResourceProviderIsAccelerated"
enum="BooleanHardwareAccelerated" expires_after="2022-04-04">
<owner>aaronhk@chromium.org</owner>
<owner>fserb@chromium.org</owner>
<summary>Logs if the canvas resource provider is accelerated or not.</summary>
</histogram>
<histogram name="Blink.Canvas.ResourceProviderType"
enum="CanvasResourceProviderType" expires_after="2022-04-04">
<owner>aaronhk@chromium.org</owner>
<owner>fserb@chromium.org</owner>
<summary>Records the type of resource provider used for a canvas.</summary>
</histogram>
<histogram name="Blink.Canvas.ResourceProviderUsage"
enum="CanvasResourceProviderUsage" expires_after="2022-04-04">
<owner>aaronhk@chromium.org</owner>
<owner>fserb@chromium.org</owner>
<summary>
Records the requested resource usage for a canvas resource provider.
</summary>
</histogram>
<histogram name="Blink.Canvas.SqrtNumberOfPixels" units="sqrt(pixels)"
expires_after="2022-04-04">
<owner>aaronhk@chromium.org</owner>
<owner>fserb@chromium.org</owner>
<summary>
Stores the square root of the number of pixels in a new or resized offscreen
canvas. Emitted from CanvasRenderingContextHost::RecordCanvasSizeToUMA.
</summary>
</histogram>
<histogram base="true" name="Blink.Canvas.ToBlob.CompleteEncodingDelay"
units="microseconds" expires_after="2021-01-31">
<owner>fserb@chromium.org</owner>
<owner>aaronhk@chromium.org</owner>
<summary>
This metric measures the total time spent on completing encoding all the
rows of an image (jpeg or png), as part of a canvas.toBlob API call.
Encoding occurs during one or more idle periods on the main thread and the
waiting time of the next idle period is included in the measurement. If the
code has swtiched to force encoding path, we will not measure the delay in
this metric.
This metric is useful in helping us adjust the IdleTaskCompleteTimeoutDelay
in canvas.toBlob. When the encoding idle task is delayed for longer than
IdleTaskCompleteTimeoutDelay, the browser will switch to a non-idle task to
force encoding to happen on the main thread.
In addition, metric values from OffscreenCanvas.convertToBlob API call are
also gathered into this histogram, because the logic flow is exactly the
same as canvas.toBlob. It's worth to note that the values can come from idle
tasks on either main or worker thread.
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 base="true" name="Blink.Canvas.ToBlob.IdleTaskStatus"
enum="IdleTaskStatus" expires_after="2021-01-31">
<owner>fserb@chromium.org</owner>
<owner>aaronhk@chromium.org</owner>
<summary>
Records the status of the idle task when finishing a toBlob call.
In addition, metric values from OffscreenCanvas.convertToBlob API call are
also gathered into this histogram, because the logic flow is exactly the
same as canvas.toBlob. It's worth to note that the values can come from idle
tasks on either main or worker thread.
</summary>
</histogram>
<histogram base="true" name="Blink.Canvas.ToBlob.InitiateEncodingDelay"
units="microseconds" expires_after="2021-01-31">
<owner>fserb@chromium.org</owner>
<owner>aaronhk@chromium.org</owner>
<summary>
This metric measures the time spent from initiating image encoding (jpeg or
png) on idle task to the actual execution time of initiation, as part of a
canvas.toBlob API call.
This metric is useful in helping us adjust the IdleTaskStartTimeoutDelay in
canvas.toBlob. When the initialization idle task is delayed for longer than
IdleTaskStartTimeoutDelay, the browser will switch to a non-idle task to
force initialization and encoding to occur on the main thread.
In addition, metric values from OffscreenCanvas.convertToBlob API call are
also gathered into this histogram, because the logic flow is exactly the
same as canvas.toBlob. It's worth to note that the values can come from idle
tasks on either main or worker thread.
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 base="true" name="Blink.Canvas.ToBlob.ScaledDuration"
units="microseconds/sqrt(pixels)" expires_after="2022-04-04">
<owner>fserb@chromium.org</owner>
<owner>aaronhk@chromium.org</owner>
<summary>
Time in microseconds spent on the 2D canvas toBlob API call, divided by the
square root of the total number of pixels of the canvas.
In addition, metric values from OffscreenCanvas.convertToBlob API call are
also gathered into this histogram, because the logic flow is exactly the
same as canvas.toBlob. It's worth to note that the values can come from idle
tasks on either main or worker thread.
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 base="true" name="Blink.Canvas.ToDataURLScaledDuration"
units="microseconds/sqrt(pixels)" expires_after="2022-04-04">
<owner>fserb@chromium.org</owner>
<owner>aaronhk@chromium.org</owner>
<summary>
Time spent on 2D canvas toDataURL API call divided by the square root of the
total number of pixels of the image. Smaller is faster.
The idea behind this unit is that the bigger the area of a canvas the longer
the operation ToDataURL takes, so we want a way to measure the overall
performance regardless of the size of the canvas.
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="Blink.Canvas.WillReadFrequently"
enum="BooleanWillReadFrequently" expires_after="2021-01-31">
<owner>fserb@chromium.org</owner>
<summary>
Logs if the canvas is initialized to be read frequently or not.
</summary>
</histogram>
<histogram name="Blink.ColorGamut.Destination" enum="Gamut" expires_after="M85">
<owner>brianosman@chromium.org</owner>
<owner>mcasas@google.com</owner>
<owner>ccameron@chromium.org</owner>
<summary>Gamut properties of destination color space.</summary>
</histogram>
<histogram name="Blink.ColorSpace.Destination" enum="Gamma" expires_after="M85">
<owner>brianosman@chromium.org</owner>
<owner>mcasas@google.com</owner>
<owner>ccameron@chromium.org</owner>
<summary>Gamma properties of destination color space.</summary>
</histogram>
<histogram name="Blink.ColorSpace.Destination.NonlinearFitErrorCombined"
units="units" expires_after="M85">
<owner>brianosman@chromium.org</owner>
<owner>mcasas@google.com</owner>
<owner>ccameron@chromium.org</owner>
<summary>
The L-infinity error (in 8-bit values) of the numerical approximation of
table-based ICC profile transfer functions for all channels combined, when
the nonlinear approximation converged.
</summary>
</histogram>
<histogram base="true" name="Blink.Compositing.LayerPromotionCount"
units="units" expires_after="2021-05-30">
<owner>pdr@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Number of composited layers based on various reasons. Recorded when a page
finishes its layer updates.
</summary>
</histogram>
<histogram base="true" name="Blink.CompositingAssignments.UpdateTime"
units="microseconds" expires_after="2021-07-04">
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" -->
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Time spent updating compositing assignments in the Blink document lifecycle.
This is the legacy compositing approach.
Note: this histogram has stopped recording metrics on machines with
low-resolution clocks.
</summary>
</histogram>
<histogram base="true" name="Blink.CompositingCommit.UpdateTime"
units="microseconds" expires_after="2021-07-04">
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" -->
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Time spent updating and pushing layers at the end of the paint step in the
Blink document lifecycle. This is the new compositing approach in
CompositeAfterPaint and is largely implemented by PaintArtifactCompositor.
BlinkGenPropertyTrees is an incremental launch of part of the new
compositing approach and will use both this and
Blink.{CompositingInputs+CompositingAssignments}.UpdateTime.
Note: As of M70, this histogram has stopped recording metrics on machines
with low-resolution clocks.
</summary>
</histogram>
<histogram base="true" name="Blink.CompositingInputs.UpdateTime"
units="microseconds" expires_after="2021-07-04">
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" -->
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Time spent updating compositing inputs in the Blink document lifecycle. This
is the legacy compositing approach.
Note: this histogram has stopped recording metrics on machines with
low-resolution clocks.
</summary>
</histogram>
<histogram name="Blink.Compression.CompressionStream.Format"
enum="CompressionStreamsFormat" expires_after="2021-01-24">
<owner>ricea@chromium.org</owner>
<owner>yhirano@chromium.org</owner>
<summary>
Compression format passed to the constructor of the JavaScript API
&quot;CompressionStream&quot;, which is used for lossless compression of
arbitrary binary data. Recorded once per call to the constructor. This
measures which compression formats are most commonly used in the wild.
</summary>
</histogram>
<histogram name="Blink.Compression.DecompressionStream.Format"
enum="CompressionStreamsFormat" expires_after="2021-01-24">
<owner>ricea@chromium.org</owner>
<owner>yhirano@chromium.org</owner>
<summary>
Compression format passed to the constructor of the JavaScript API
&quot;DecompressionStream&quot;, which is used for lossless decompression of
arbitrary binary data. Recorded once per call to the constructor. This
measures which compression formats are most commonly used in the wild.
</summary>
</histogram>
<histogram name="Blink.CookieStore.MatchType" enum="CookieStoreMatchType"
expires_after="M87">
<obsolete>
Removed in M87.
</obsolete>
<owner>ayui@chromium.org</owner>
<owner>pwnall@chromium.org</owner>
<summary>
Records match type option set by the developer for Cookie Store query APIs
to measure the usage of the option during Origin Trial to better evaluate
the best shape of the API.
</summary>
</histogram>
<histogram name="Blink.CSSPaintValue.PaintOffThread"
enum="BooleanCompositorCSSPaint" expires_after="2021-09-08">
<owner>xidachen@chromium.org</owner>
<owner>smcgruer@chromium.org</owner>
<summary>
Records if a CSS Paint is painted on the compositor thread or has fallen
back to the main thread.
</summary>
</histogram>
<histogram name="Blink.DecodedImage.DensitySizeCorrectionDetected"
enum="BooleanPresent" expires_after="2021-01-03">
<obsolete>
Removed in M89.
</obsolete>
<owner>schenney@chromium.org</owner>
<owner>noam.j.rosenthal@gmail.com</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Indicates whether a decoded image contains density correction metadata, i.e.
when its resolution and dimension EXIF values match.
</summary>
</histogram>
<histogram name="Blink.DecodedImage.JpegDensity.KiBWeighted"
units="0.01 bits per pixel" expires_after="2021-06-20">
<owner>deymo@google.com</owner>
<owner>compression-dev@google.com</owner>
<summary>
The compressed image size in KiB per image density measured in 0.01 bits per
pixel. This is logged once per image load after the whole image is loaded
and only for JPEGs with at least 100 pixels on the smallest dimension (width
or height). The reported count for a sample represents the image size
rounded to the nearest KiB.
</summary>
</histogram>
<histogram name="Blink.DecodedImage.Orientation" enum="DecodedImageOrientation"
expires_after="M81">
<obsolete>
Removed in M88.
</obsolete>
<owner>andrescj@chromium.org</owner>
<owner>rob.buis@samsung.org</owner>
<summary>Image orientation inferred during decode.</summary>
</histogram>
<histogram name="Blink.DecodedImage.WebPFileFormat" enum="WebPFileFormat"
expires_after="2021-07-04">
<owner>mcasas@chromium.org</owner>
<owner>andrescj@chromium.org</owner>
<summary>
WebP file format parsed during Blink's header parsing phase (which should
happen only once per image).
</summary>
</histogram>
<histogram name="Blink.DecodedImageType" enum="DecodedImageType"
expires_after="2021-06-13">
<owner>urvang@chromium.org</owner>
<summary>Image codec inferred during decode.</summary>
</histogram>
<histogram base="true" name="Blink.DisplayLockIntersectionObserver.UpdateTime"
units="microseconds" expires_after="2021-06-06">
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" -->
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Time spent computing IntersectionObserver observations in the Blink document
lifecycle where the observation is for Display Locking. Recorded when an
intersection observation is made for the Display Locking reason.
This histogram only records metrics on machines with high-resolution clocks.
</summary>
</histogram>
<histogram name="Blink.EffectiveZoom" units="%" expires_after="2021-07-04">
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
The EffectiveZoom as reported by ComputedStyle in a Blink renderer. The
value is reported each time the effective zoom is set to a new value. The
maximum zoom reported is 400% to keep the histogram of reasonable size.
</summary>
</histogram>
<histogram name="Blink.Fetch.RequestResourceTime" units="microseconds"
expires_after="M82">
<owner>csharrison@chromium.org</owner>
<summary>
The total microseconds spent in ResourceFetcher::requestResource.
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="Blink.Fonts.AndroidFontLookupLoadFromFileTime" units="ms"
expires_after="2021-10-15">
<owner>drott@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>
Records the duration it takes to load the font lookup table from file.
Reported when the font unique name lookup table is loaded at browser startup
on Android and loading was successful. The metric is not recorded when the
file did not exist or could not be parsed; use
Blink.Fonts.AndroidFontScanningLoadFromFileSuccess to determine how often
this metric is recorded.
</summary>
</histogram>
<histogram name="Blink.Fonts.AndroidFontLookupTableReadyTime" units="ms"
expires_after="2021-10-15">
<owner>drott@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>
Records the duration it takes from starting to prepare the font lookup table
until it is ready. Independent of whether it is loaded from file or whether
the fonts are scanned. Reported when the font unique name lookup table is
loaded at browser startup on Android.
</summary>
</histogram>
<histogram name="Blink.Fonts.AndroidFontScanningLoadFromFileSuccess"
enum="BooleanSuccess" expires_after="2021-10-15">
<owner>drott@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>
Counts the ratio of whether it was possible to load the font table from file
successfully or not. Reported when the font unique name lookup table is
loaded at browser startup on Android.
</summary>
</histogram>
<histogram name="Blink.Fonts.AndroidFontScanningPersistToFileSuccess"
enum="BooleanSuccess" expires_after="2021-10-15">
<owner>drott@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>
Counts the ratio of whether it was possible to store the font table to disk
after the metadata has been indexed. Reported on Android when the font
unique name lookup table is stored after indexing.
</summary>
</histogram>
<histogram name="Blink.Fonts.AndroidFontScanningResult"
enum="FontScanningResult" expires_after="2021-10-15">
<owner>drott@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>
Reports success or failure of extracting metadata from a single font file.
Reported when the font unique name lookup table is rebuilt on Android (i.e.
after a firmware update or first start with empty cache folder).
</summary>
</histogram>
<histogram name="Blink.Fonts.AndroidFontScanningTableBuildTime" units="ms"
expires_after="2021-10-15">
<owner>drott@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>
Records duration of scanning available fonts for font name metadata, sorting
the list and making it available to renderers. Reported when the font unique
name lookup table is rebuilt on Android (i.e. after a firmware update or
first start with empty cache folder).
</summary>
</histogram>
<histogram name="Blink.Fonts.AndroidFontScanningUpdateNeeded"
enum="BooleanSuccess" expires_after="2021-10-15">
<owner>drott@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>
Counts the ratio of whether it was necessary to rebuild the font table or
not. Reported when after the unique name lookup table is loaded from disk at
browser startup on Android.
</summary>
</histogram>
<histogram name="Blink.Fonts.DataAccess.StreamCreation" enum="BooleanSuccess"
expires_after="2021-10-15">
<owner>oyiptong@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<owner>storage-dev@chromium.org</owner>
<summary>
Counts success or failure in attempting to obtain font bytes as stream with
base address from Skia.
</summary>
</histogram>
<histogram name="Blink.Fonts.Enumeration.Duration" units="ms"
expires_after="2021-10-15">
<obsolete>
Removed in M89. Obsolete and unused. This has been replaced with
Fonts.AccessAPI.EnumerationCache.*
</obsolete>
<owner>oyiptong@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<owner>storage-dev@chromium.org</owner>
<summary>
Records duration of enumerating available fonts for font name metadata.
Reported on Mac platforms only, when the fonts are enumerated from the
system APIs if there is a cache miss.
</summary>
</histogram>
<histogram name="Blink.Fonts.FontFamilyMatchAttempts.System" units="attempts"
expires_after="2021-12-20">
<owner>caraitto@chromium.org</owner>
<owner>privacy-sandbox-dev@chromium.org</owner>
<summary>
Number of system font family match attempts made, from page load to page
unload. Recorded on page unload.
</summary>
</histogram>
<histogram name="Blink.Fonts.ShapeCache" units="units"
expires_after="2021-10-15">
<owner>drott@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>
Total number of entries in all Blink ShapeCache instances. The value is
reported each time the FontCache::purge() method is called.
</summary>
</histogram>
<histogram name="Blink.Fonts.VariableFontsRatio"
enum="WebFontInstantiationResult" expires_after="2021-10-15">
<owner>drott@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>
Tracks adoption ratio of variable fonts compared to conventional (in the
sense of non-variable) web fonts. Recorded at the time of instantiating a
Skia SkTypeface from the successfully decoded web font blob.
</summary>
</histogram>
<histogram name="Blink.Fonts.WindowsUniqueLocalFontInstantiationResult"
enum="WindowsUniqueLocalFontInstantiationResult" expires_after="2021-10-15">
<owner>drott@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>
Tracks whether a locally uniquely matched font can be instantiated inside
the renderer. Recorded at the time the renderer tries to instantiate the
font in the font cache. If it fails (in rare cases), it can either be caused
by the font being placed outside the Windows Fonts directory, or for an
unknown reason. Track this to identify whether a browser side helper is
needed to open the file handle outside the sandbox and pass it into the
renderer.
</summary>
</histogram>
<histogram name="Blink.Fonts.WinFallback.LegacyNoneFound" units="units"
expires_after="2021-10-15">
<owner>drott@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>
Tracks Blink Windows font fallback results while migrating to API based
fallback vs. the previous use of a hard-coded list. Records a data point
when the legacy hard-coded list code did not find fallback for a particular
Unicode code block ID (ICU::UBlockCode). Recorded at the time of Blink
layout code requesting a fallback font for a character and locale.
</summary>
</histogram>
<histogram name="Blink.Fonts.WinFallback.LegacyWinAPIDisagree" units="units"
expires_after="2021-10-15">
<owner>drott@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>
Tracks Blink Windows font fallback results while migrating to API based
fallback vs. the previous use of a hard-coded list. Records a data point
when the Windows API out of process fallback code and the legacy hard-coded
list fallback code disagree in fallback font result for a particular Unicode
code block ID (ICU::UBlockCode). Recorded at the time of Blink layout code
requesting a fallback font for a character and locale.
</summary>
</histogram>
<histogram name="Blink.Fonts.WinFallback.NoFallbackFound" units="units"
expires_after="2021-10-15">
<owner>drott@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>
Tracks Blink Windows font fallback results while migrating to API based
fallback vs. the previous use of a hard-coded list. Records a data point
when no fallback font result was found for a particular Unicode code block
ID (ICU::UBlockCode) through either the out-of-process Windows DWrite API or
the hard-coded list fallback code. Recorded at the time of Blink layout code
requesting a fallback font for a character and locale.
</summary>
</histogram>
<histogram name="Blink.Fonts.WinFallback.WinAPINoneFound" units="units"
expires_after="2021-10-15">
<owner>drott@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>
Tracks Blink Windows font fallback results while migrating to API based
fallback vs. the previous use of a hard-coded list. Records a data point
when the Windows API out of process fallback code did not find fallback for
a particular Unicode code block ID (ICU::UBlockCode). Recorded at the time
of Blink layout code requesting a fallback font for a character and locale.
</summary>
</histogram>
<histogram base="true" name="Blink.ForcedStyleAndLayout.UpdateTime"
units="microseconds" expires_after="2021-05-23">
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" -->
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Time spent computing layouts due to Javascript value requests. Specifically,
time spent in Blink Document::UpdateStyleAndLayoutIgnorePendingStylesheets.
This histogram only records metrics on machines with high-resolution clocks.
</summary>
</histogram>
<histogram base="true" name="Blink.HandleInputEvents.UpdateTime"
units="microseconds" expires_after="2021-07-04">
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" -->
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Time spent processing rAF-aligned input during a main frame update.
This histogram does not record metrics on machines with low-resolution
clocks.
</summary>
</histogram>
<histogram base="true" name="Blink.HitTestDocumentUpdate.UpdateTime"
units="microseconds" expires_after="2021-07-04">
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" -->
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Time spent preparing the document for hit testing during a main frame
update. It does not compute the actual hit test time, rather the style,
layout, compositing, etc time to prepare for the test.
This histogram does not record metrics on machines with low-resolution
clocks.
</summary>
</histogram>
<histogram name="Blink.HTMLParsing.ChunkCount" units="chunks"
expires_after="2021-05-30">
<owner>schenney@chromium.org</owner>
<owner>dom-dev@chromium.org</owner>
<summary>
The number of chunks parsed while loading a page. Each chunk represents a
piece of the HTML content that can be loaded without blocking or yielding.
This histogram does not record metrics on machines with low-resolution
clocks.
</summary>
</histogram>
<histogram name="Blink.HTMLParsing.ParsingTimeMax" units="microseconds"
expires_after="2021-05-30">
<owner>schenney@chromium.org</owner>
<owner>dom-dev@chromium.org</owner>
<summary>
While parsing a page, the maximum time used to parse a single chunk before
being blocked, yielding or completing, in microseconds.
This histogram does not record metrics on machines with low-resolution
clocks.
</summary>
</histogram>
<histogram name="Blink.HTMLParsing.ParsingTimeMin" units="microseconds"
expires_after="2021-05-30">
<owner>schenney@chromium.org</owner>
<owner>dom-dev@chromium.org</owner>
<summary>
While parsing a page, the minimum time used to parse a single chunk before
being blocked, yielding or completing, in microseconds.
This histogram does not record metrics on machines with low-resolution
clocks.
</summary>
</histogram>
<histogram name="Blink.HTMLParsing.ParsingTimeTotal" units="microseconds"
expires_after="2021-05-30">
<owner>schenney@chromium.org</owner>
<owner>dom-dev@chromium.org</owner>
<summary>
While parsing a page, the total amount of time spent in the
HTMLDocumentParser performing parsing, in microseconds.
This histogram does not record metrics on machines with low-resolution
clocks.
</summary>
</histogram>
<histogram name="Blink.HTMLParsing.TokensParsedAverage" units="tokens"
expires_after="2021-05-30">
<owner>schenney@chromium.org</owner>
<owner>dom-dev@chromium.org</owner>
<summary>
While parsing a page, the average number of tokens parsed across all chunks.
</summary>
</histogram>
<histogram name="Blink.HTMLParsing.TokensParsedMax" units="tokens"
expires_after="2021-05-30">
<owner>schenney@chromium.org</owner>
<owner>dom-dev@chromium.org</owner>
<summary>
While parsing a page, the maximum number of tokens parsed as a chunk.
</summary>
</histogram>
<histogram name="Blink.HTMLParsing.TokensParsedMin" units="tokens"
expires_after="2021-05-30">
<owner>schenney@chromium.org</owner>
<owner>dom-dev@chromium.org</owner>
<summary>
While parsing a page, the minimum number of tokens parsed as a chunk.
</summary>
</histogram>
<histogram name="Blink.HTMLParsing.YieldedTimeAverage" units="microseconds"
expires_after="2021-05-30">
<owner>schenney@chromium.org</owner>
<owner>dom-dev@chromium.org</owner>
<summary>
While parsing a page, the average time between parsing of two chunks, in
microseconds. Will not be recorded if only one chunk was parsed.
This histogram does not record metrics on machines with low-resolution
clocks.
</summary>
</histogram>
<histogram name="Blink.HTMLParsing.YieldedTimeMax" units="microseconds"
expires_after="2021-05-30">
<owner>schenney@chromium.org</owner>
<owner>dom-dev@chromium.org</owner>
<summary>
While parsing a page, the maximum time between parsing of two chunks, in
microseconds. Will not be recorded if only one chunk was parsed.
This histogram does not record metrics on machines with low-resolution
clocks.
</summary>
</histogram>
<histogram name="Blink.HTMLParsing.YieldedTimeMin" units="microseconds"
expires_after="2021-05-30">
<owner>schenney@chromium.org</owner>
<owner>dom-dev@chromium.org</owner>
<summary>
While parsing a page, the minimum time between parsing of two chunks, in
microseconds. Will not be recorded if only one chunk was parsed.
This histogram does not record metrics on machines with low-resolution
clocks.
</summary>
</histogram>
<histogram name="Blink.ImageDecoders.IncrementalDecodeNeeded"
enum="IncrementalDecodeNeeded" expires_after="2021-07-04">
<owner>mbarowsky@chromium.org</owner>
<owner>andrescj@chromium.org</owner>
<summary>
For JPEG and WebP images, whether all image data has been received before
decoding begins or whether we are still receiving data and will need to send
partial image data to the decoder and pause/resume decoding until complete.
It is emitted when the DeferredImageDecoder is about to create the first
DecodingImageGenerator for an image.
</summary>
</histogram>
<histogram base="true" name="Blink.ImageDecoders.IncrementallyDecodedByteSize"
units="bytes" expires_after="2021-07-11">
<owner>mbarowsky@chromium.org</owner>
<owner>andrescj@chromium.org</owner>
<summary>
Images for which only partial image data has been received before decoding
begins. This may be because the image is very large or complex (less
compressed) or because of slow network or resource loading. More precisely,
the bucket in which the decode will be counted (IncrementallyDecoded or
InitiallyFullyDecoded) is computed when the DeferredImageDecoder is about to
create the first DecodingImageGenerator for an image and the byte size is
emitted when all data is received.
</summary>
</histogram>
<histogram base="true" name="Blink.ImageDecoders.InitiallyFullyDecodedByteSize"
units="bytes" expires_after="2021-06-13">
<owner>mbarowsky@chromium.org</owner>
<owner>andrescj@chromium.org</owner>
<summary>
Images for which all image data has been received before decoding begins.
This may be because the image has a small file size (very compressed),
because of a fast network/resource loading connection, because the data was
preloaded with JavaScript, or because a decode was requested through
JavaScript IMG.decode() API, which must wait for all data to be received per
the specification. More precisely, the bucket in which the decode will be
counted (IncrementallyDecoded or InitiallyFullyDecoded) is computed when the
DeferredImageDecoder is about to create the first DecodingImageGenerator for
an image and the byte size is emitted when all data is received.
</summary>
</histogram>
<histogram name="Blink.ImageDecoders.Jpeg.Area" units="pixels"
expires_after="2021-02-28">
<owner>andrescj@chromium.org</owner>
<summary>
Number of pixels in a decoded JPEG image. Recorded after decoding is done by
Blink's JPEG decoder (as opposed to, possibly, a hardware decode
accelerator). Tracking the image area may include degenerate cases, e.g., an
image with area = 10000 and dimensions = 1x10000. However, it is reasonable
to assume these cases are relatively rare and the area of the image can
serve as a proxy of how useful a decode accelerator can be (the larger the
area, the better).
</summary>
</histogram>
<histogram name="Blink.ImageDecoders.Jpeg.ColorSpace" enum="JpegColorSpace"
expires_after="2021-06-13">
<owner>andrescj@chromium.org</owner>
<owner>mcasas@chromium.org</owner>
<summary>
JPEG color space of a decoded image as guessed by libjpeg_turbo. Recorded
after decoding is done by Blink's JPEG decoder (as opposed to, possibly, a
hardware decode accelerator). When the color space is YCbCr, the chroma
subsampling is also recorded.
</summary>
</histogram>
<histogram base="true" name="Blink.ImplCompositorCommit.UpdateTime"
units="microseconds" expires_after="2021-07-04">
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" -->
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Time spent updating layers in the compositor thread during a
ProxyMain::BeginMainFrame. It is the actual work time, excluding time spent
waiting for the compositor thread to begin.
Note: This histogram does not record metrics on machines with low-resolution
clocks.
</summary>
</histogram>
<histogram name="Blink.Input.GestureScrollBeginAsCursorControl"
enum="BooleanSuccess" expires_after="M89">
<owner>ctzsm@chromium.org</owner>
<owner>changwan@chromium.org</owner>
<owner>input-dev@chromium.org</owner>
<summary>Records if a GestureScrollBegin is for cursor control.</summary>
</histogram>
<histogram base="true" name="Blink.IntersectionObservation.UpdateTime"
units="microseconds" expires_after="2021-05-23">
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" -->
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Time spent computing IntersectionObserver observations in the Blink document
lifecycle.
Note: As of M70, this histogram has stopped recording metrics on machines
with low-resolution clocks.
</summary>
</histogram>
<histogram base="true" name="Blink.JavascriptIntersectionObserver.UpdateTime"
units="microseconds" expires_after="2021-06-06">
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" -->
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Time spent computing IntersectionObserver observations in the Blink document
lifecycle where the observation is due to a Javascript request. Recorded
when an intersection observation is made for the Javascript reason.
This histogram only records metrics on machines with high-resolution clocks.
</summary>
</histogram>
<histogram name="Blink.KeyboardLock.MethodCalled" enum="KeyboardLockMethods"
expires_after="2021-03-31">
<owner>joedow@chromium.org</owner>
<owner>garykac@chromium.org</owner>
<summary>
Records each call to the navigator.keyboard{Lock|Unlock} methods.
</summary>
</histogram>
<histogram name="Blink.Layout.NGRatio.Blocks" units="%"
expires_after="2021-06-20">
<owner>tkent@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>
Records LayoutNG ratio for the number of blocks.
This records a percentage of LayoutNG-based blocks relative to all blocks.
This is recorded once per page on unloading the page. A value takes into
account of all frames in a single page.
See https://bit.ly/ng-ratio for more details.
</summary>
</histogram>
<histogram name="Blink.Layout.NGRatio.Calls" units="%"
expires_after="2021-06-20">
<owner>tkent@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>
Records LayoutNG ratio for the number of UpdateLayout calls.
This records a percentage of UpdateLayout() calls for LayoutNG-based objects
relative to all UpdateLayout() calls. This is recorded once per page on
unloading the page. A value takes into account of all frames in a single
page.
See https://bit.ly/ng-ratio for more details.
</summary>
</histogram>
<histogram base="true" name="Blink.Layout.UpdateTime" units="microseconds"
expires_after="2021-07-04">
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" -->
<owner>schenney@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>
Time spent updating layout in the Blink document lifecycle.
This histogram does not record metrics on machines with low-resolution
clocks.
</summary>
</histogram>
<histogram name="Blink.LazyLoad.CrossOriginFrames.InitialDeferralAction"
enum="LazyLoad.FrameInitialDeferralAction" expires_after="2021-03-07">
<owner>sclittle@chromium.org</owner>
<summary>
Records the initial lazy loading action taken for a cross-origin iframe.
</summary>
</histogram>
<histogram
name="Blink.LazyLoad.CrossOriginFrames.LoadStartedAfterBeingDeferred"
enum="NQEEffectiveConnectionType" expires_after="2021-02-21">
<owner>sclittle@chromium.org</owner>
<summary>
Records the effective connection type whenever a lazily-loaded iframe that
wasn't initially hidden or near the viewport starts loading. The count for
an effective connection type in this histogram can be subtracted from the
'Deferred' bucket from the
Blink.LazyLoad.CrossOriginFrames.InitialDeferralAction.* histogram for the
corresponding effective connection type to determine the number of iframes
that LazyLoad is avoiding to load altogether.
</summary>
</histogram>
<histogram name="Blink.LazyLoad.CrossOriginFrames.VisibleAfterBeingDeferred"
enum="NQEEffectiveConnectionType" expires_after="2021-02-21">
<owner>sclittle@chromium.org</owner>
<summary>
Records the effective connection type whenever a lazily-loaded iframe that
wasn't initially hidden or near the viewport becomes visible. The count for
an effective connection type in this histogram can be subtracted from the
corresponding count in
Blink.LazyLoad.CrossOriginFrames.LoadStartedAfterBeingDeferred to determine
how many iframes were loaded unnecessarily by LazyLoad.
</summary>
</histogram>
<histogram base="true" name="Blink.LazyLoadIntersectionObserver.UpdateTime"
units="microseconds" expires_after="2021-06-06">
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" -->
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Time spent computing IntersectionObserver observations in the Blink document
lifecycle where the observation is due to a Lazy Image Loading request.
Recorded when an intersection observation is made to determine when a lazy
loaded image should be loaded.
This histogram only records metrics on machines with high-resolution clocks.
</summary>
</histogram>
<histogram base="true" name="Blink.MainFrame.AnimateRatio" units="%"
expires_after="2020-11-08">
<obsolete>
Removed M88 due to lack of use.
</obsolete>
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="BlinkMainFrameUpdateTimeSuffixes" -->
<summary>
The percentage of time between a BeginMainFrame and paint results commit in
Blink that is used for computing Main Frame animations and rAF callbacks.
</summary>
</histogram>
<histogram base="true" name="Blink.MainFrame.CompositingAssignmentsRatio"
units="%" expires_after="2020-11-08">
<obsolete>
Removed M88 due to lack of use.
</obsolete>
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="BlinkMainFrameUpdateTimeSuffixes" -->
<summary>
The percentage of time between a BeginMainFrame and paint results commit in
Blink that is used for computing compositing assignments.
</summary>
</histogram>
<histogram base="true" name="Blink.MainFrame.CompositingCommitRatio" units="%"
expires_after="2020-11-08">
<obsolete>
Removed M88 due to lack of use.
</obsolete>
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="BlinkMainFrameUpdateTimeSuffixes" -->
<summary>
The percentage of time between a BeginMainFrame and paint results commit in
Blink that is used for committing paint results to the compositor.
</summary>
</histogram>
<histogram base="true" name="Blink.MainFrame.CompositingInputsRatio" units="%"
expires_after="2020-11-08">
<obsolete>
Removed M88 due to lack of use.
</obsolete>
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="BlinkMainFrameUpdateTimeSuffixes" -->
<summary>
The percentage of time between a BeginMainFrame and paint results commit in
Blink that is used for computing compositing inputs.
</summary>
</histogram>
<histogram base="true" name="Blink.MainFrame.CompositingRatio" units="%"
expires_after="2020-11-08">
<obsolete>
Removed M88 due to lack of use.
</obsolete>
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="BlinkMainFrameUpdateTimeSuffixes" -->
<summary>
The percentage of time between a BeginMainFrame and paint results commit in
Blink that is used for computing Compositing.
</summary>
</histogram>
<histogram base="true" name="Blink.MainFrame.ForcedStyleAndLayoutRatio"
units="%" expires_after="2021-01-10">
<obsolete>
Removed M88 due to lack of use.
</obsolete>
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="BlinkMainFrameUpdateTimeSuffixes" -->
<summary>
The time between each paint results commit used in computing forced style
recalc and layouts for this document and ancestors as a percentage of the
Blink local frame lifecycle update time.
</summary>
</histogram>
<histogram base="true" name="Blink.MainFrame.HandleInputEventsRatio" units="%"
expires_after="2020-11-08">
<obsolete>
Removed M88 due to lack of use.
</obsolete>
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="BlinkMainFrameUpdateTimeSuffixes" -->
<summary>
The percentage of time between a BeginMainFrame and paint results commit in
Blink that is used for processing rAF aligned input.
</summary>
</histogram>
<histogram base="true" name="Blink.MainFrame.HitTestDocumentUpdateRatio"
units="%" expires_after="2020-11-08">
<obsolete>
Removed M88 due to lack of use.
</obsolete>
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="BlinkMainFrameUpdateTimeSuffixes" -->
<summary>
The percentage of time between a BeginMainFrame and paint results commit in
Blink that is used for updating the document in preparation for hit testing.
</summary>
</histogram>
<histogram base="true" name="Blink.MainFrame.ImplCompositorCommitRatio"
units="%" expires_after="2020-11-08">
<obsolete>
Removed M88 due to lack of use.
</obsolete>
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="BlinkMainFrameUpdateTimeSuffixes" -->
<summary>
The percentage of time between a BeginMainFrame and paint results commit in
Blink that is used for committing the layer tree to the impl thread,
excluding time spend waiting for the CC thread to begin processing.
</summary>
</histogram>
<histogram base="true" name="Blink.MainFrame.IntersectionObservationRatio"
units="%" expires_after="2020-11-08">
<obsolete>
Removed M88 due to lack of use.
</obsolete>
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="BlinkMainFrameUpdateTimeSuffixes" -->
<summary>
The percentage of time between a BeginMainFrame and paint results commit in
Blink that is used for computing Intersection Observations.
</summary>
</histogram>
<histogram base="true" name="Blink.MainFrame.LayoutRatio" units="%"
expires_after="2021-03-21">
<obsolete>
Removed M88 due to lack of use.
</obsolete>
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="BlinkMainFrameUpdateTimeSuffixes" -->
<summary>
The percentage of time between a BeginMainFrame and paint results commit in
Blink that is used for computing Layout.
</summary>
</histogram>
<histogram base="true" name="Blink.MainFrame.PaintRatio" units="%"
expires_after="2021-03-21">
<obsolete>
Removed M88 due to lack of use.
</obsolete>
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="BlinkMainFrameUpdateTimeSuffixes" -->
<summary>
The percentage of time between a BeginMainFrame and paint results commit in
Blink that is used for computing Paint.
</summary>
</histogram>
<histogram base="true" name="Blink.MainFrame.PrePaintRatio" units="%"
expires_after="2020-11-08">
<obsolete>
Removed M88 due to lack of use.
</obsolete>
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="BlinkMainFrameUpdateTimeSuffixes" -->
<summary>
The percentage of time between a BeginMainFrame and paint results commit in
Blink that is used for computing PrePaint.
</summary>
</histogram>
<histogram base="true" name="Blink.MainFrame.ScrollingCoordinatorRatio"
units="%" expires_after="M88">
<obsolete>
Merged into Blink.MainFrame.CompositingCommitRatio in
http://crrev.com/815947 in M88.
</obsolete>
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="BlinkMainFrameUpdateTimeSuffixes" -->
<summary>
The percentage of the total BeginMainFrame execution time used for the
ScrollingCoordinator update in Blink, for each frame that we record.
Recorded in ScrollingCoordinator::UpdateAfterPaint.
</summary>
</histogram>
<histogram base="true" name="Blink.MainFrame.StyleRatio" units="%"
expires_after="2020-11-08">
<obsolete>
Removed M88 due to lack of use.
</obsolete>
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="BlinkMainFrameUpdateTimeSuffixes" -->
<summary>
The percentage of time between a BeginMainFrame and paint results commit in
Blink that is used for computing Style.
</summary>
</histogram>
<histogram base="true" name="Blink.MainFrame.UpdateLayersRatio" units="%"
expires_after="2021-03-21">
<obsolete>
Removed M88 due to lack of use.
</obsolete>
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="BlinkMainFrameUpdateTimeSuffixes" -->
<summary>
The percentage of time between a BeginMainFrame and paint results commit in
Blink that is spent in LayerTreeHost::UpdateLayers.
</summary>
</histogram>
<histogram base="true" name="Blink.MainFrame.UpdateTime" units="microseconds"
expires_after="2021-06-20">
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" -->
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Time between a BeginMainFrame and paint results commit in Blink.
This histogram will not record metrics on machines with low-resolution
clocks.
</summary>
</histogram>
<histogram name="Blink.MainFrame.WaitForCommitRatio" units="%"
expires_after="2020-11-08">
<obsolete>
Removed M88 due to lack of use.
</obsolete>
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<!-- Name completed by histogram_suffixes name="BlinkMainFrameUpdateTimeSuffixes" -->
<summary>
The percentage of time between a BeginMainFrame and paint results commit in
Blink that is spent waiting for the CC thread to begin processing.
</summary>
</histogram>
<histogram base="true" name="Blink.MediaIntersectionObserver.UpdateTime"
units="microseconds" expires_after="2021-06-06">
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" -->
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Time spent computing IntersectionObserver observations in the Blink document
lifecycle where the observation is for a media element. Recorded when an
intersection observation is made attributed to a media element (such as
video auto-play).
This histogram only records metrics on machines with high-resolution clocks.
</summary>
</histogram>
<histogram name="Blink.MemoryCache.RevalidationPolicy"
enum="RevalidationPolicy" expires_after="2021-04-21">
<owner>hiroshige@chromium.org</owner>
<owner>loading-dev@chromium.org</owner>
<summary>
RevalidationPolicy used for non-preloading requests for each resource type.
https://crbug.com/579496
</summary>
</histogram>
<histogram name="Blink.MemoryCache.RevalidationPolicy.AsyncScript"
enum="RevalidationPolicy" expires_after="2021-06-20">
<owner>hiroshige@chromium.org</owner>
<owner>lizeb@chromium.org</owner>
<owner>loading-dev@chromium.org</owner>
<summary>
RevalidationPolicy used for non-preloading requests of async and defer
scripts. https://crbug.com/1043679
</summary>
</histogram>
<histogram name="Blink.MemoryCache.RevalidationPolicy.Dead"
enum="RevalidationPolicy" expires_after="2021-04-21">
<owner>hiroshige@chromium.org</owner>
<owner>loading-dev@chromium.org</owner>
<summary>
RevalidationPolicy used for requests that hit Resource only referenced from
MemoryCache for each resource type. https://crbug.com/579496 Requests
counted by this are also counted by Blink.MemoryCache.RevalidationPolicy or
Blink.MemoryCache.RevalidationPolicy.Preload.
</summary>
</histogram>
<histogram name="Blink.MemoryCache.RevalidationPolicy.PerDocument"
enum="RevalidationPolicy" expires_after="2021-06-20">
<owner>shivanisha@chromium.org</owner>
<owner>privacy-sandbox-dev@chromium.org</owner>
<summary>
RevalidationPolicy used for requests for each resource type. Logged only if
the resource is found in the memory cache and if the same document had
loaded this resource earlier.
</summary>
</histogram>
<histogram name="Blink.MemoryCache.RevalidationPolicy.PerTopFrameSite"
enum="RevalidationPolicy" expires_after="2021-06-20">
<owner>shivanisha@chromium.org</owner>
<owner>privacy-sandbox-dev@chromium.org</owner>
<summary>
RevalidationPolicy used for requests for each resource type. Logged only if
the resource is found in the memory cache and if the same top-frame site had
loaded this resource earlier.
</summary>
</histogram>
<histogram name="Blink.MemoryCache.RevalidationPolicy.Preload"
enum="RevalidationPolicy" expires_after="2021-04-21">
<owner>hiroshige@chromium.org</owner>
<owner>loading-dev@chromium.org</owner>
<summary>
RevalidationPolicy used for preloading requests for each resource type.
https://crbug.com/579496
</summary>
</histogram>
<histogram name="Blink.OffscreenCanvas.ContextType" enum="CanvasContextType"
expires_after="2021-06-13">
<owner>aaronhk@chromium.org</owner>
<owner>fserb@chromium.org</owner>
<summary>
Records the context type names used to create offscreen canvas rendering
contexts. Recorded in OffscreenCanvas::GetCanvasRenderingContext
</summary>
</histogram>
<histogram name="Blink.OffscreenCanvas.NewOffscreenCanvas" enum="Boolean"
expires_after="2022-04-04">
<owner>aaronhk@chromium.org</owner>
<owner>fserb@chromium.org</owner>
<summary>
Records the creation of a new offscreen canvas in OffscreenCanvas::Create.
</summary>
</histogram>
<histogram name="Blink.OffscreenCanvas.SqrtNumberOfPixels" units="sqrt(pixels)"
expires_after="2022-04-04">
<owner>aaronhk@chromium.org</owner>
<owner>fserb@chromium.org</owner>
<summary>
Stores the square root of the number of pixels in a new or resized offscreen
canvas. Emitted from CanvasRenderingContextHost::RecordCanvasSizeToUMA.
</summary>
</histogram>
<histogram name="Blink.OffscreenCanvas.TransferControlToOffscreen"
enum="BooleanSuccess" expires_after="2022-04-04">
<owner>aaronhk@chromium.org</owner>
<owner>fserb@chromium.org</owner>
<summary>Records a call to transfer a canvas offscreen.</summary>
</histogram>
<histogram name="Blink.OffscreenCanvas.Transferred" enum="Boolean"
expires_after="2022-04-04">
<owner>aaronhk@chromium.org</owner>
<owner>fserb@chromium.org</owner>
<summary>
Records when an offscreen canvas has been transferred from the main thread
to a worker.
</summary>
</histogram>
<histogram name="Blink.Paint.CachedItemPercentage" units="%"
expires_after="2021-03-01">
<owner>wangxianzhu@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Percentage of cached display items among all display items. Higher value
means higher performance beause of less paint invalidation. Recorded when we
finish updating paint in the Blink document lifecycle.
</summary>
</histogram>
<histogram name="Blink.Paint.CachedSubsequencePercentage" units="%"
expires_after="2021-03-01">
<owner>wangxianzhu@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Percentage of cached subsequences of display items among all subsequences.
Higher value means higher performance beause of less subsequence
invalidation. Recorded when we finish updating paint in the Blink document
lifecycle.
</summary>
</histogram>
<histogram base="true" name="Blink.Paint.UpdateTime" units="microseconds"
expires_after="2021-06-20">
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" -->
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Time spent updating paint in the Blink document lifecycle.
Note: As of M70, this histogram has stopped recording metrics on machines
with low-resolution clocks.
</summary>
</histogram>
<histogram base="true" name="Blink.PrePaint.UpdateTime" units="microseconds"
expires_after="2021-06-27">
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" -->
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Time spent updating paint properties and paint invalidation in the Blink
document lifecycle. Available when SlimmingPaintInvalidation or
SlimmingPaintV2 is enabled.
Note: As of M70, this histogram has stopped recording metrics on machines
with low-resolution clocks.
</summary>
</histogram>
<histogram name="Blink.Render.DisplayLockActivationReason"
enum="DisplayLockActivationReason" expires_after="2021-05-23">
<owner>vmpstr@chromium.org</owner>
<owner>chrishtr@chromium.org</owner>
<summary>This indicates the reason for display-locking activation</summary>
</histogram>
<histogram name="Blink.ResourceFetcher.StaleWhileRevalidateDuration" units="ms"
expires_after="2020-04-05">
<obsolete>
Removed 12/2020.
</obsolete>
<owner>dtapuska@chromium.org</owner>
<owner>kenjibaheux@google.com</owner>
<summary>Duration of completed stale revalidation attempts.</summary>
</histogram>
<histogram name="Blink.ResourceLoadScheduler.TrafficBytes.KBPerFrameStatus"
enum="RendererSchedulerFrameType2" expires_after="2020-02-02">
<owner>toyoshim@chromium.org</owner>
<owner>altimin@chromium.org</owner>
<summary>
Total encoded size of resources associated with frames of a particular type.
Recorded when a fetch has been completed.
Each bucket of the histogram cointains the total size of all requests
associated with frames with a particular frame status in kilobytes.
</summary>
</histogram>
<histogram name="Blink.ScanPendingActivityDuration" units="ms"
expires_after="M85">
<owner>haraken@chromium.org</owner>
<summary>
Duration of time taken to scan pending activities of all V8 wrappers in a
worker thread.
</summary>
</histogram>
<histogram name="Blink.Script.AsyncScriptCount" units="count"
expires_after="2021-05-25">
<owner>dom@chromium.org</owner>
<owner>chrome-loading@google.com</owner>
<summary>
The total number of async scripts associated with a document at the time
parsing has finished.
</summary>
</histogram>
<histogram name="Blink.Script.ForceDeferredScripts.Mainframe" units="count"
expires_after="2021-05-02">
<owner>dougarnett@chromium.org</owner>
<owner>hiroshige@chromium.org</owner>
<summary>
Number of synchronous scripts that were deferred for a mainframe by the
ForceDeferScriptIntervention. This includes both inline scripts and external
scripts that had their execution deferred until after parsing completes.
Recorded when there is at least one force deferred script for the frame.
</summary>
</histogram>
<histogram name="Blink.Script.ForceDeferredScripts.Mainframe.External"
units="count" expires_after="2021-05-02">
<owner>dougarnett@chromium.org</owner>
<owner>hiroshige@chromium.org</owner>
<summary>
Number of external synchronous scripts that were deferred for a mainframe by
the ForceDeferScriptIntervention. Recorded when there is at least one force
deferred script for the frame (not necessarily external).
</summary>
</histogram>
<histogram name="Blink.Script.ForceDeferredScripts.Subframe" units="count"
expires_after="2021-02-28">
<owner>dougarnett@chromium.org</owner>
<owner>hiroshige@chromium.org</owner>
<summary>
Number of synchronous scripts that were deferred for a subframe by the
ForceDeferScriptIntervention. This includes both inline scripts and external
scripts that had their execution deferred until after parsing completes.
Recorded when there is at least one force deferred script for the frame.
</summary>
</histogram>
<histogram name="Blink.Script.ForceDeferredScripts.Subframe.External"
units="count" expires_after="2021-02-28">
<owner>dougarnett@chromium.org</owner>
<owner>hiroshige@chromium.org</owner>
<summary>
Number of external synchronous scripts that were deferred for a subframe by
the ForceDeferScriptIntervention. Recorded when there is at least one force
deferred script for the frame (not necessarily external).
</summary>
</histogram>
<histogram name="Blink.Script.SchedulingType" enum="ScriptSchedulingType"
expires_after="2021-07-11">
<owner>kouhei@chromium.org</owner>
<owner>hiroshige@chromium.org</owner>
<summary>
Number of script elements for each scheduling type, recorded for each
successful #prepare-a-script.
</summary>
</histogram>
<histogram base="true" name="Blink.ScrollingCoordinator.UpdateTime"
units="microseconds" expires_after="M88">
<obsolete>
Merged into Blink.CompositingCommit.UpdateTime in http://crrev.com/815947 in
M88.
</obsolete>
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" -->
<owner>pdr@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
The time it took to update scrolling coordinator data (scroll gesture
regions, touch event rects, and main thread scrolling reasons). These values
are calculated during the main-thread blink lifecycle.
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="Blink.Sms.BackendAvailability"
enum="WebOTPBackendAvailability" expires_after="M92">
<owner>yigu@chromium.org</owner>
<owner>web-identity@google.com</owner>
<summary>
Records how often the verification backend is unavailable for the WebOTP API
and the corresponding reason. This is recorded once per OTP request.
</summary>
</histogram>
<histogram name="Blink.Sms.PendingOriginCount" units="origins"
expires_after="M92">
<owner>yigu@chromium.org</owner>
<owner>web-identity@google.com</owner>
<summary>
SmsFetcher subscribes to incoming SMSes with origins from SmsProvider. This
metric records the number of pending origins that are not unsubscribed when
the SmsFetcher subscribes to new origins.
</summary>
</histogram>
<histogram name="Blink.Sms.Receive.DestroyedReason"
enum="WebOTPServiceDestroyedReason" expires_after="M92">
<owner>goto@chromium.org</owner>
<owner>reillyg@chromium.org</owner>
<owner>yigu@chromium.org</owner>
<owner>web-identity@google.com</owner>
<summary>
Records the reason an SMS Service is destroyed before request completion.
</summary>
</histogram>
<histogram name="Blink.Sms.Receive.Infobar" enum="WebOTPServiceInfobarAction"
expires_after="M92">
<owner>goto@chromium.org</owner>
<owner>reillyg@chromium.org</owner>
<owner>yigu@chromium.org</owner>
<owner>web-identity@google.com</owner>
<summary>
Records how many times the infobar was called and how many times the infobar
replaced a keyboard.
</summary>
</histogram>
<histogram name="Blink.Sms.Receive.Outcome" enum="WebOTPServiceOutcome"
expires_after="M92">
<owner>goto@chromium.org</owner>
<owner>reillyg@chromium.org</owner>
<owner>yigu@chromium.org</owner>
<owner>web-identity@google.com</owner>
<summary>Records the result of a call to the WebOTP API.</summary>
</histogram>
<histogram name="Blink.Sms.Receive.SmsParsingStatus" enum="SmsParsingStatus"
expires_after="M92">
<owner>yigu@chromium.org</owner>
<owner>web-identity@google.com</owner>
<summary>
Records the status of parsing an incoming SMS when using the WebOTP API. It
records one sample per incoming SMS.
Note: This metric does not cover cross-devices WebOTP.
</summary>
</histogram>
<histogram name="Blink.Sms.Receive.TimeCancel" units="ms" expires_after="M92">
<owner>goto@chromium.org</owner>
<owner>reillyg@chromium.org</owner>
<owner>yigu@chromium.org</owner>
<owner>web-identity@google.com</owner>
<summary>
Records the duration from when the API is called to when the request is
cancelled by the service due to duplicated requests or lack of delegate.
</summary>
</histogram>
<histogram name="Blink.Sms.Receive.TimeCancelOnKeyboardDismissal" units="ms"
expires_after="M92">
<owner>goto@chromium.org</owner>
<owner>reillyg@chromium.org</owner>
<owner>yigu@chromium.org</owner>
<owner>web-identity@google.com</owner>
<summary>
Records the duration from when the keyboard was replaced with an infobar
until when the user clicked the cancel button.
</summary>
</histogram>
<histogram name="Blink.Sms.Receive.TimeCancelOnSuccess" units="ms"
expires_after="M92">
<owner>goto@chromium.org</owner>
<owner>reillyg@chromium.org</owner>
<owner>yigu@chromium.org</owner>
<owner>web-identity@google.com</owner>
<summary>
Records the time from when a successful SMS was retrieved to when the user
presses the Cancel button.
</summary>
</histogram>
<histogram name="Blink.Sms.Receive.TimeContinueOnSuccess" units="ms"
expires_after="M92">
<owner>goto@chromium.org</owner>
<owner>reillyg@chromium.org</owner>
<owner>yigu@chromium.org</owner>
<owner>web-identity@google.com</owner>
<summary>
Records the time from when a successful SMS was retrieved to when the user
presses the Continue button.
</summary>
</histogram>
<histogram name="Blink.Sms.Receive.TimeSmsReceive" units="ms"
expires_after="M92">
<owner>goto@chromium.org</owner>
<owner>reillyg@chromium.org</owner>
<owner>yigu@chromium.org</owner>
<owner>web-identity@google.com</owner>
<summary>
Records the duration from when the API is called to when an SMS has been
successfully received.
</summary>
</histogram>
<histogram name="Blink.Sms.Receive.TimeSuccess" units="ms" expires_after="M92">
<owner>goto@chromium.org</owner>
<owner>reillyg@chromium.org</owner>
<owner>yigu@chromium.org</owner>
<owner>web-identity@google.com</owner>
<summary>
Records the duration from when the API is called to when the user
successfully receives the SMS and presses continue to pass the incoming SMS
to the site and proceed with the SMS verification flow.
</summary>
</histogram>
<histogram name="Blink.Sms.Receive.TimeUserCancel" units="ms"
expires_after="M92">
<owner>goto@chromium.org</owner>
<owner>yigu@chromium.org</owner>
<owner>web-identity@google.com</owner>
<summary>
Records the duration from when the API is called to when the user
successfully receives the SMS and presses &quot;Deny&quot; to terminate the
SMS verification flow.
</summary>
</histogram>
<histogram name="Blink.SpatialNavigation.Advance" units="microseconds"
expires_after="M85">
<obsolete>
Expired in M85.
</obsolete>
<owner>bokan@chromium.org</owner>
<summary>
Time it takes to find best candidate element, set focus or scroll for given
directional input.
</summary>
</histogram>
<histogram base="true" name="Blink.Style.UpdateTime" units="microseconds"
expires_after="2021-05-23">
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" -->
<owner>schenney@chromium.org</owner>
<owner>layout-dev@chromium.org</owner>
<summary>
Time spent updating style in the Blink document lifecycle.
This histogram does not record metrics on machines with low-resolution
clocks.
</summary>
</histogram>
<histogram name="Blink.ThreadedIconLoader.LoadTime" units="ms"
expires_after="2021-11-30">
<owner>nator@chromium.org</owner>
<owner>rayankans@chromium.org</owner>
<summary>
The number of milliseconds it took to finish successfully loading an icon
using ThreadedIconLoader. Recorded whenever a blink module loads an icon
using ThreadedIconLoader.
</summary>
</histogram>
<histogram name="Blink.UpdateViewportIntersection.UpdateTime"
units="microseconds" expires_after="2021-03-21">
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" -->
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Time spent computing geometry information about iframes from the perspective
of their embedding document. This time is also included in the
Blink.IntersectionObservation.UpdateTime metric.
This histogram only records metrics on machines with high-resolution clocks.
</summary>
</histogram>
<histogram name="Blink.UseCounter.AnimatedCSSProperties"
enum="MappedCSSProperties" expires_after="never">
<!-- expires-never: used by Chrome Platform Status dashboard -->
<!-- https://www.chromestatus.com/metrics/css/animated -->
<owner>chasej@chromium.org</owner>
<owner>feature-control@chromium.org</owner>
<summary>
Records usage of animated CSS properties used on a page, either statically
or dynamically, from the time the page is initialised to when it is closed
or navigated away from. Each property is counted at most once per page per
view via PageLoadMetricsObserver.
</summary>
<details>
This histogram counts CSS properties only when they are animated by a CSS
Animation. Refer to Blink.UseCounter.CSSProperties for more details.
As of M69, Blink.UseCounter.AnimatedCSSProperties is moved from the blink
side to the browser side.
</details>
</histogram>
<histogram name="Blink.UseCounter.CSSProperties" enum="MappedCSSProperties"
expires_after="never">
<!-- expires-never: used by Chrome Platform Status dashboard -->
<!-- https://www.chromestatus.com/metrics/css/animated -->
<owner>chasej@chromium.org</owner>
<owner>feature-control@chromium.org</owner>
<summary>
Records usage of CSS properties used on a page, either statically or
dynamically, from the time the page is initialised to when it is closed or
navigated away from. Each property is counted at most once per page per view
via PageLoadMetricsObserver.
</summary>
<details>
The first time a CSS property is parsed on a page, the histogram is updated
to increment the counter. Each histogram bucket corresponds to a CSS
property (eg. width, border-radius). The exception is the 'Total pages
measured' bucket - this counts the number of pages that CSS properties were
counted on. When a page navigation occurs the page count bucket is
incremented and tracking of the set of which properties have been seen is
reset.
These numbers give the percentage of pages that use a CSS property. For
example, if the 'border-radius' histogram bucket has a count of 250, and the
page count bucket (i.e. bucket number 1) has a count of 1000 - this means
that 1000 pages were recorded, and border-radius was used on 25% of those
pages.
Note that CSS properties used inside of SVG images are tracked separately in
the Blink.UseCounter.SVGImage.CSSProperties histogram.
As of M57 this histogram supercedes WebCore.FeatureObserver.CSSProperties.
As of M69, Blink.UseCounter.AnimatedCSSProperties is moved from the blink
side to the browser side.
</details>
</histogram>
<histogram name="Blink.UseCounter.DocumentPolicy.Enforced"
enum="DocumentPolicyFeature" expires_after="2021-03-31">
<owner>iclelland@chromium.org</owner>
<owner>feature-control@chromium.org</owner>
<summary>
Counts enforced DocumentPolicyViolationReport generated in a document.
</summary>
</histogram>
<histogram name="Blink.UseCounter.DocumentPolicy.Header"
enum="DocumentPolicyFeature" expires_after="2021-05-30">
<owner>iclelland@chromium.org</owner>
<owner>feature-control@chromium.org</owner>
<summary>
Counts the use of a specific document policy via the
&quot;Document-Policy&quot; HTTP response header.
</summary>
</histogram>
<histogram name="Blink.UseCounter.DocumentPolicy.PolicyAttribute"
enum="DocumentPolicyFeature" expires_after="2021-03-31">
<owner>iclelland@chromium.org</owner>
<owner>feature-control@chromium.org</owner>
<summary>
Counts the use of a specific document policy via the &quot;policy&quot;
attribute. Each policy is counted only once per page load.
</summary>
</histogram>
<histogram name="Blink.UseCounter.DocumentPolicy.ReportOnly"
enum="DocumentPolicyFeature" expires_after="2021-03-31">
<owner>iclelland@chromium.org</owner>
<owner>feature-control@chromium.org</owner>
<summary>
Counts report only DocumentPolicyViolationReport generated in a document.
</summary>
</histogram>
<histogram name="Blink.UseCounter.Extensions.Features" enum="FeatureObserver"
expires_after="2021-06-06">
<owner>chasej@chromium.org</owner>
<owner>feature-control@chromium.org</owner>
<summary>
Count of how many page loads use various features for pages with a
chrome-extension:// URL only. The PageVisits bucket is incremented for each
page load, and the other buckets incremented at most once per PageVisit via
the WebCore::UserCounter class.
</summary>
<details>
Warning: This histogram represents pre-renderer metrics and so is flawed
under OOPIF.
</details>
</histogram>
<histogram name="Blink.UseCounter.FeaturePolicy.Allow"
enum="FeaturePolicyFeature" expires_after="2021-10-31">
<owner>iclelland@chromium.org</owner>
<owner>feature-control@chromium.org</owner>
<summary>
Counts the use of a specific feature policy via the &quot;allow&quot;
attribute. Each policy is counted only once per page load.
</summary>
</histogram>
<histogram name="Blink.UseCounter.FeaturePolicy.AttributeAllowlistType"
enum="FeaturePolicyAllowlistType" expires_after="2021-10-31">
<owner>iclelland@chromium.org</owner>
<owner>feature-control@chromium.org</owner>
<summary>
Logs the type of allowlist used in a Feature-Policy &quot;allow&quot;
attribute; whether it is empty, or contains only a single keyword, is
composed only of keywords, or contains explicit tuple origins. Recorded at
the point that the attribute is parsed.
</summary>
</histogram>
<histogram name="Blink.UseCounter.FeaturePolicy.Header"
enum="FeaturePolicyFeature" expires_after="2021-10-31">
<owner>iclelland@chromium.org</owner>
<owner>feature-control@chromium.org</owner>
<summary>
Counts the use of a specific feature policy via the
&quot;Feature-Policy&quot; HTTP response header.
</summary>
</histogram>
<histogram name="Blink.UseCounter.FeaturePolicy.HeaderAllowlistType"
enum="FeaturePolicyAllowlistType" expires_after="2021-10-31">
<owner>iclelland@chromium.org</owner>
<owner>feature-control@chromium.org</owner>
<summary>
Logs the type of allowlist used in a Feature-Policy header; whether it is
empty, or contains only a single keyword, is composed only of keywords, or
contains explicit tuple origins. Recorded at the point that the header is
parsed.
</summary>
</histogram>
<histogram name="Blink.UseCounter.FeaturePolicy.PotentialViolation"
enum="FeaturePolicyFeature" expires_after="2021-01-03">
<owner>iclelland@chromium.org</owner>
<owner>feature-control@chromium.org</owner>
<summary>
Tracks potential violations of feature policies in a document. This is
emitted once all the conditions for violating the feature policy are met in
the document; regardless of whether or not the feature has been disabled in
the document; in other words, it still records a potential violation even if
there won't be a violation report generated. Note that this is recorded once
per document.
</summary>
</histogram>
<histogram name="Blink.UseCounter.FeaturePolicy.ProposalWouldChangeBehaviour"
enum="FeaturePolicyFeature" expires_after="2021-03-07">
<owner>iclelland@chromium.org</owner>
<owner>feature-control@chromium.org</owner>
<summary>
Counts when the result of calling IsFeatureEnabled for an Execution Context
would be different under the proposal in https://crbug.com/937171. Each
feature is counted only once per execution context.
</summary>
</histogram>
<histogram name="Blink.UseCounter.Features" enum="FeatureObserver"
expires_after="never">
<!-- expires-never: used by Chrome Platform Status dashboard -->
<!-- https://www.chromestatus.com/metrics/css/animated -->
<owner>chasej@chromium.org</owner>
<owner>feature-control@chromium.org</owner>
<summary>
Count of how many page loads use various features across all frames in a
page. The PageVisits bucket is incremented for each page load, and the other
buckets incremented at most once per PageVisit via blink::UseCounter and
UseCounterPageLoadMetricsObserver.
</summary>
<details>
Note that features used inside of SVG images are tracked separately in the
Blink.UseCounter.SVGImage.Features histogram. Features used inside of
extension pages are tracked separately in the
Blink.UseCounter.Extensions.Features histogram.
</details>
</histogram>
<histogram name="Blink.UseCounter.File.Features" enum="FeatureObserver"
expires_after="2021-01-10">
<owner>yhirano@chromium.org</owner>
<owner>mkwst@chromium.org</owner>
<summary>
Count of how many `file:` URL page loads use various features across all
frames in the page. This histogram has the same semantics as
&quot;Blink.UseCounter.Features&quot;, but applies only to `file:` URLs
(which that histogram does not include).
</summary>
<details>
Refer to &quot;Blink.UseCounter.Features&quot; for more details.
</details>
</histogram>
<histogram name="Blink.UseCounter.MainFrame.Features" enum="FeatureObserver"
expires_after="never">
<!-- expires-never: Companion to Blink.UseCounter.Features, which is also expires-never. -->
<owner>chasej@chromium.org</owner>
<owner>feature-control@chromium.org</owner>
<summary>
Count of how many page loads use various features across in the main frame
of a page. The PageVisits bucket is incremented at the beginning of each
page load and the other buckets incremented at most once per PageVisit via
blink::UseCounter and UseCounterPageLoadMetricsObserver throughout the
lifetime of a page load metrics observer.
</summary>
<details>
This histogram counts usage of web features in main frame only. Refer to
Blink.UseCounter.Features for more details.
</details>
</histogram>
<histogram name="Blink.VisibleBeforeLoaded.LazyLoadEligibleFrames.BelowTheFold"
enum="NQEEffectiveConnectionType" expires_after="2021-02-21">
<owner>sclittle@chromium.org</owner>
<summary>
Records the effective connection type whenever a lazyload-eligible (i.e.
cross-origin and non-hidden) iframe that was initially below the fold
becomes visible before it finishes loading.
</summary>
</histogram>
<histogram name="Blink.VisibleBeforeLoaded.LazyLoadImages.AboveTheFold"
enum="NQEEffectiveConnectionType" expires_after="2021-05-23">
<owner>sclittle@chromium.org</owner>
<owner>rajendrant@chromium.org</owner>
<summary>
Records the effective connection type whenever a lazily loaded image that
was initially above the fold becomes visible before it finishes loading.
</summary>
</histogram>
<histogram name="Blink.VisibleBeforeLoaded.LazyLoadImages.BelowTheFold"
enum="NQEEffectiveConnectionType" expires_after="2021-07-04">
<owner>sclittle@chromium.org</owner>
<owner>rajendrant@chromium.org</owner>
<summary>
Records the effective connection type whenever a lazily loaded image that
was initially below the fold becomes visible before it finishes loading.
</summary>
</histogram>
<histogram name="Blink.VisibleLoadTime.LazyLoadEligibleFrames.AboveTheFold"
units="ms" expires_after="2021-06-27">
<owner>sclittle@chromium.org</owner>
<summary>
Milliseconds spent waiting for an above the fold iframe to load. Only fires
for iframes that would be eligible for lazy loading, i.e. cross-origin and
non-hidden.
</summary>
</histogram>
<histogram name="Blink.VisibleLoadTime.LazyLoadEligibleFrames.BelowTheFold"
units="ms" expires_after="2021-02-21">
<owner>sclittle@chromium.org</owner>
<summary>
Milliseconds spent waiting for a below the fold iframe to load. Only fires
for iframes that would be eligible for lazy loading, i.e. cross-origin and
non-hidden.
</summary>
</histogram>
<histogram base="true" name="Blink.VisibleLoadTime.LazyLoadImages.AboveTheFold"
units="ms" expires_after="2021-06-27">
<owner>rajendrant@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Milliseconds spent waiting for an above the fold image element to load. 0ms
is recorded if the image is already loaded by the time user scrolls to it.
EffectiveConnectionType (2G, 3G, etc) is recorded as suffix to this
histogram.
</summary>
</histogram>
<histogram base="true" name="Blink.VisibleLoadTime.LazyLoadImages.BelowTheFold"
units="ms" expires_after="2021-06-27">
<owner>rajendrant@chromium.org</owner>
<owner>bengr@chromium.org</owner>
<summary>
Milliseconds spent waiting for a below the fold image element to load. 0ms
is recorded if the image is already loaded by the time user scrolls to it.
EffectiveConnectionType (2G, 3G, etc) is recorded as suffix to this
histogram.
</summary>
</histogram>
<histogram base="true" name="Blink.WaitForCommit.UpdateTime"
units="microseconds" expires_after="2021-07-04">
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePreFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimePostFCPSuffixes" -->
<!-- Name completed by histogram_suffixes name="BlinkUpdateTimeAggregatedSuffixes" -->
<owner>schenney@chromium.org</owner>
<owner>paint-dev@chromium.org</owner>
<summary>
Time spent waiting for the compositor thread to begin processing a layer
update inside ProxyMain::BeginMainFrame.
Note: This histogram does not record metrics on machines with low-resolution
clocks.
</summary>
</histogram>
<histogram name="Blink.WindowOpen.FromAdState" enum="WindowOpenFromAdState"
expires_after="2019-08-30">
<owner>yaoxia@chromium.org</owner>
<owner>csharrison@chromium.org</owner>
<summary>
Indicates whether the page called window.open() with an ad script in the
stack and/or from an ad subframe. Recorded whenever window.open() is called
when AdTagging is enabled.
</summary>
</histogram>
<histogram name="BlinkGC.CollectionRate" units="%" expires_after="M84">
<owner>haraken@chromium.org</owner>
<summary>
The percentage of objects that have been collected by a Blink GC. 0 is
passed if there were no objects when a Blink GC started.
</summary>
</histogram>
<histogram name="BlinkGC.GCReason" enum="GCReason" expires_after="M84">
<owner>haraken@chromium.org</owner>
<summary>A type of Blink GC.</summary>
</histogram>
<histogram name="BlinkGC.LowMemoryPageNavigationGC.Reduction" units="MB"
expires_after="M77">
<owner>keishi@chromium.org</owner>
<summary>
Amount of memory reduced with the GC triggered on page navigation while the
device is in a low memory state. Only implemented on low end Android devices
at the moment. Memory usage is approximated by summing the memory usage of
the following allocators: BlinkGC, PartitionAlloc, and V8 main thread
isolate heap.
</summary>
</histogram>
<histogram name="BlinkGC.MainThreadMarkingThroughput" units="MB/s"
expires_after="M92">
<owner>mlippautz@chromium.org</owner>
<owner>oilpan-reviews@chromium.org</owner>
<summary>
Marking throughput considering all durations of all marking phases on the
main thread and marked bytes within one Blink garbage collection cycle.
Reported once per garbage collection cycle at the end. Only reported for
platforms supporting high resolution clocks and when more than 1MB of live
objects have been found.
</summary>
</histogram>
<histogram name="BlinkGC.ObjectSizeAfterGC" units="KB" expires_after="M92">
<owner>haraken@chromium.org</owner>
<owner>mlippautz@chromium.org</owner>
<owner>oilpan-reviews@chromium.org</owner>
<summary>
The size of allocated objects just after Blink GC is triggered.
</summary>
</histogram>
<histogram name="BlinkGC.ObjectSizeBeforeGC" units="KB" expires_after="M92">
<owner>haraken@chromium.org</owner>
<owner>mlippautz@chromium.org</owner>
<owner>oilpan-reviews@chromium.org</owner>
<summary>
The size of allocated objects just before Blink GC is triggered.
</summary>
</histogram>
<histogram name="BlinkGC.ObjectSizeFreedByHeapCompaction" units="KB"
expires_after="M81">
<owner>haraken@chromium.org</owner>
<summary>
The total size of objects freed by BlinkGC's heap compaction. This is
recorded once following each compaction.
</summary>
</histogram>
<histogram name="BlinkGC.TimeForAtomicPhase" units="ms" expires_after="M92">
<owner>mlippautz@chromium.org</owner>
<owner>oilpan-reviews@chromium.org</owner>
<summary>
Duration of overall garbage collection time when the garbage collector is
invoked for finishing a garbage collection. This includes finishing up any
already running garbage collection operation. Recorded at the end of each
garbage collection.
</summary>
</histogram>
<histogram name="BlinkGC.TimeForAtomicPhaseMarking" units="ms"
expires_after="M92">
<owner>mlippautz@chromium.org</owner>
<owner>oilpan-reviews@chromium.org</owner>
<summary>
Duration of finishing marking the transitive closure of objects during the
final Blink garbage collection pause. Recorded at the end of each garbage
collection.
</summary>
</histogram>
<histogram name="BlinkGC.TimeForCompleteSweep" units="ms" expires_after="M92">
<owner>bikineev@chromium.org</owner>
<owner>oilpan-reviews@chromium.org</owner>
<summary>
Duration of the pause that completes sweeping. Reported once per garbage
collection at the end.
</summary>
</histogram>
<histogram name="BlinkGC.TimeForGCCycle" units="ms" expires_after="M92">
<owner>mlippautz@chromium.org</owner>
<owner>oilpan-reviews@chromium.org</owner>
<summary>
Sum of all durations of individual phases within one Blink garbage
collection. Reported once per garbage collection at the end.
</summary>
</histogram>
<histogram name="BlinkGC.TimeForGlobalWeakProcessing" units="ms"
expires_after="M92">
<owner>haraken@chromium.org</owner>
<owner>mlippautz@chromium.org</owner>
<owner>oilpan-reviews@chromium.org</owner>
<summary>
Duration of time taken to run global weak processing of Blink GC.
</summary>
</histogram>
<histogram name="BlinkGC.TimeForHeapCompaction" units="ms" expires_after="M92">
<owner>haraken@chromium.org</owner>
<owner>mlippautz@chromium.org</owner>
<owner>oilpan-reviews@chromium.org</owner>
<summary>
Duration of wall time taken to run BlinkGC's heap compaction.
</summary>
</histogram>
<histogram name="BlinkGC.TimeForIncrementalMarking" units="ms"
expires_after="M92">
<owner>mlippautz@chromium.org</owner>
<owner>oilpan-reviews@chromium.org</owner>
<summary>
Sum of all durations of incremental marking phases within one Blink garbage
collection cycle. Reported once per garbage collection at the end.
</summary>
</histogram>
<histogram name="BlinkGC.TimeForInvokingPreFinalizers" units="ms"
expires_after="M92">
<owner>haraken@chromium.org</owner>
<owner>mlippautz@chromium.org</owner>
<owner>oilpan-reviews@chromium.org</owner>
<summary>
Duration of time taken to run ThreadState::invokePreFinalizers().
</summary>
</histogram>
<histogram name="BlinkGC.TimeForMarking" units="ms" expires_after="M92">
<owner>omerkatz@chromium.org</owner>
<owner>oilpan-reviews@chromium.org</owner>
<summary>
Accumulated sum of all durations of individual phases contributing to
marking (main thread and background helpers) within one Blink garbage
collection. Reported once per garbage collection at the end.
</summary>
</histogram>
<histogram name="BlinkGC.TimeForMarkingRoots" units="ms" expires_after="M92">
<owner>omerkatz@chromium.org</owner>
<owner>oilpan-reviews@chromium.org</owner>
<summary>
Duration of marking roots within one Blink garbage collection. Reported once
per garbage collection at the end.
</summary>
</histogram>
<histogram name="BlinkGC.TimeForNestedInV8" units="ms" expires_after="M92">
<owner>mlippautz@chromium.org</owner>
<owner>oilpan-reviews@chromium.org</owner>
<summary>
Duration of the time of Blink garbage collection spent nested in a V8
garbage collection. Reported once per garbage collection at the end.
</summary>
</histogram>
<histogram name="BlinkGC.TimeForSweepingBackground" units="ms"
expires_after="M92">
<owner>bikineev@chromium.org</owner>
<owner>oilpan-reviews@chromium.org</owner>
<summary>
Sum of all durations of individual phases contributing to sweeping on
background helpers within one Blink garbage collection. Reported once per
garbage collection at the end.
</summary>
</histogram>
<histogram name="BlinkGC.TimeForSweepingForeground" units="ms"
expires_after="M92">
<owner>bikineev@chromium.org</owner>
<owner>oilpan-reviews@chromium.org</owner>
<summary>
Sum of all durations of individual phases contributing to sweeping on the
main thread within one Blink garbage collection. Reported once per garbage
collection at the end.
</summary>
</histogram>
<histogram name="BlinkGC.TimeForSweepingSum" units="ms" expires_after="M92">
<owner>bikineev@chromium.org</owner>
<owner>oilpan-reviews@chromium.org</owner>
<summary>
Accumulated sum of all durations of individual phases contributing to
sweeping (main thread and background helpers) within one Blink garbage
collection. Reported once per garbage collection at the end.
</summary>
</histogram>
<histogram name="BlinkGC.TimeForTotalCollectGarbage" units="ms"
expires_after="M84">
<owner>haraken@chromium.org</owner>
<owner>hpayer@chromium.org</owner>
<summary>
Duration of total Blink garbage collection time when the garbage collector
is invoked for finishing a garbage collection. This includes finishing up
any already running garbage collection operation as well as potentially
performing a follow-up collection synchronously. Recorded each time after
invoking the Blink garbage collector.
</summary>
</histogram>
<histogram name="BlinkGC.TotalAllocatedSpace" units="KB" expires_after="M92">
<owner>haraken@chromium.org</owner>
<owner>oilpan-reviews@chromium.org</owner>
<summary>
The total size of allocated space in OS when a Blink GC is triggered.
</summary>
</histogram>
<histogram name="BlinkGC.TotalObjectSpace" units="KB" expires_after="M92">
<owner>haraken@chromium.org</owner>
<owner>oilpan-reviews@chromium.org</owner>
<summary>
The total size of object space in all threads when a Blink GC is triggered.
</summary>
</histogram>
</histograms>
</histogram-configuration>