| <!-- |
| Copyright 2017 The Chromium Authors |
| Use of this source code is governed by a BSD-style license that can be |
| found in the LICENSE file. |
| --> |
| |
| <!-- |
| This file is used to generate a comprehensive list of Chrome UKM events |
| along with a detailed description for each. |
| |
| See the following doc for details on how to add or remove entries in this file: |
| https://chromium.googlesource.com/chromium/src.git/+/main/services/metrics/ukm_api.md |
| |
| Events may be marked with the attribute singular="True" to indicate that |
| the event will only occur once per source, and multiple entries will just |
| be describing additional metrics about the same event. |
| --> |
| |
| <ukm-configuration> |
| |
| <event name="AbandonedSRPNavigation" singular="True"> |
| <owner>rakina@chromium.org</owner> |
| <owner>chrome-loading@google.com</owner> |
| <summary> |
| Metrics recorded each time a SRP navigation/page load is abandoned (e.g. the |
| navigation got cancelled, or the user backgrounded the app while the page |
| load is not finished yet, etc. See AbandonedPageLoadMetricsObserver for more |
| details). |
| </summary> |
| <metric name="AbandonReason"> |
| <summary> |
| The reason the navigation/page load gets abandoned. |
| </summary> |
| </metric> |
| <metric name="AbandonTimingFromLastMilestone"> |
| <summary> |
| The time when the navigation/page load is abandoned, relative to the last |
| milestone. |
| </summary> |
| </metric> |
| <metric name="AbandonTimingFromNavigationStart"> |
| <summary> |
| The time when the navigation/page load is abandoned, relative to |
| navigation start. |
| </summary> |
| </metric> |
| <metric name="AFTEndTime"> |
| <summary> |
| The timestamp of the AFT End event for the page load, relative to |
| navigation start. |
| </summary> |
| </metric> |
| <metric name="AFTStartTime"> |
| <summary> |
| The timestamp of the AFT Start event for the page load, relative to |
| navigation start. |
| </summary> |
| </metric> |
| <metric name="BodyChunkEndTime"> |
| <summary> |
| The timestamp of the body chunk end event for the page load, relative to |
| navigation start. |
| </summary> |
| </metric> |
| <metric name="BodyChunkStartTime"> |
| <summary> |
| The timestamp of the body chunk start event for the page load, relative to |
| navigation start. |
| </summary> |
| </metric> |
| <metric name="CommitReceivedTime"> |
| <summary> |
| The time when the CommitNavigation IPC for the navigation is received in |
| the renderer process, relative to navigation start. |
| </summary> |
| </metric> |
| <metric name="CommitSentTime"> |
| <summary> |
| The time when the CommitNavigation IPC for the navigation is sent from the |
| browser process, relative to navigation start. |
| </summary> |
| </metric> |
| <metric name="DidCommitTime"> |
| <summary> |
| The time when the DidCommit IPC for the navigation is received, relative |
| to navigation start. |
| </summary> |
| </metric> |
| <metric name="DidRequestNonSRP"> |
| <summary> |
| Whether the navigation involves non-SRP URL (which later redirected to |
| SRP). |
| </summary> |
| </metric> |
| <metric name="DOMContentLoadedTime"> |
| <summary> |
| The timestamp of when the "DOMContentLoaded" event is fired for |
| the page load, relative to navigation start. |
| </summary> |
| </metric> |
| <metric name="FirstContentfulPaintTime"> |
| <summary> |
| The timestamp of the first contentful paint for the page load, relative to |
| navigation start. |
| </summary> |
| </metric> |
| <metric name="FirstRedirectedRequestStartTime"> |
| <summary> |
| The time when the first network request that got redirected for the |
| navigation started, relative to navigation start. |
| </summary> |
| </metric> |
| <metric name="FirstRedirectResponseReceived"> |
| <summary> |
| Whether the first redirect response is received yet. |
| </summary> |
| </metric> |
| <metric name="HeaderChunkEndTime"> |
| <summary> |
| The timestamp of the header chunk end event for the page load, relative to |
| navigation start. |
| |
| Note that this event is randomly sampled based on the JavaScript in the |
| page, recorded at the frequency of 1%. |
| </summary> |
| </metric> |
| <metric name="HeaderChunkStartTime"> |
| <summary> |
| The timestamp of the header chunk start event for the page load, relative |
| to navigation start. |
| </summary> |
| </metric> |
| <metric name="LargestContentfulPaintTime"> |
| <summary> |
| The timestamp of the largest contentful paint for the page load, relative |
| to navigation start. |
| </summary> |
| </metric> |
| <metric name="LastMilestoneBeforeAbandon"> |
| <summary> |
| The last milestone before the navigation is abandoned. |
| </summary> |
| </metric> |
| <metric name="LoaderStartTime"> |
| <summary> |
| The time when the URLLoader for the navigation started, relative to |
| navigation start. |
| </summary> |
| </metric> |
| <metric name="LoadEventStartedTime"> |
| <summary> |
| The timestamp of when the "load" event is fired for the page |
| load, relative to navigation start. |
| </summary> |
| </metric> |
| <metric name="NonRedirectedRequestStartTime"> |
| <summary> |
| The time when the final network request that didn't got redirected for the |
| navigation started, relative to navigation start. |
| </summary> |
| </metric> |
| <metric name="NonRedirectResponseReceived"> |
| <summary> |
| Whether the non-redirect/final response is received yet. |
| </summary> |
| </metric> |
| <metric name="ParseStartTime"> |
| <summary> |
| The time when the parsing of the HTTP response body started, relative to |
| navigation start. |
| </summary> |
| </metric> |
| <metric name="PreviousBackgroundedTime"> |
| <summary> |
| If we've experienced backgrounding while the navigation/page load is |
| running before this abandonment event happened, this will have the time |
| when the backgrounding happened, relative to navigation start. |
| </summary> |
| </metric> |
| <metric name="PreviousHiddenTime"> |
| <summary> |
| If we've experienced hiding while the navigation/page load is running |
| before this abandonment event happened, this will have the time when the |
| hiding happened, relative to navigation start. |
| </summary> |
| </metric> |
| <metric name="RendererProcessInitTime"> |
| <summary> |
| The time when the final renderer process for the navigation is |
| initialized, relative to navigation start. |
| </summary> |
| </metric> |
| <metric name="RTT"> |
| <summary> |
| The network connection RTT when the abandonment happens, in milliseconds. |
| This is useful to see if the navigation happens on a slow network. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="AboutThisSiteStatus"> |
| <owner>olesiamarukhnno@google.com</owner> |
| <summary> |
| Recorded on each page info bubble open when "About this site" data |
| is fetched. |
| </summary> |
| <metric name="Status" enum="AboutThisSiteStatus"> |
| <summary> |
| The status of the "About this site" info, including if the data |
| is available and whether the proto is valid. See |
| |page_info::about_this_site_validation::AboutThisSiteStatus| for enum |
| elements. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="AbusiveExperienceHeuristic.JavaScriptDialog"> |
| <owner>yaoxia@chromium.org</owner> |
| <metric name="DismissalCause"> |
| <summary> |
| An enum that specifies the dismissal reason for JavaScript popup dialog |
| that can be triggered by window.alert(), window.confirm() or |
| window.prompt(). See JavaScriptDialogTabHelper::DismissalCause for the |
| enum elements. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="AbusiveExperienceHeuristic.TabUnder"> |
| <owner>csharrison@chromium.org</owner> |
| <metric name="DidTabUnder"> |
| <summary> |
| True if the page attempted a tab-under navigation. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="AbusiveExperienceHeuristic.WindowOpen"> |
| <owner>yaoxia@chromium.org</owner> |
| <summary> |
| Recorded whenever window.open() is called when AdTagging is enabled. |
| </summary> |
| <metric name="FromAdScript"> |
| <summary> |
| True if the page called window.open() with an ad script in the stack. |
| </summary> |
| </metric> |
| <metric name="FromAdSubframe"> |
| <summary> |
| True if the page called window.open() from an ad subframe. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Accessibility.ImageDescriptions"> |
| <owner>dtseng@chromium.org</owner> |
| <owner>nektar@chromium.org</owner> |
| <summary> |
| Tracks automatic image descriptions provided to blind users. |
| </summary> |
| <metric name="Description" enum="Boolean"> |
| <summary> |
| Whether the image description included a description. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ImageAlreadyHasLabel" enum="Boolean"> |
| <summary> |
| Whether the image already had label text before it was augmented with an |
| additional description. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="OCR" enum="Boolean"> |
| <summary> |
| Whether the image description included OCR text. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Accessibility.InaccessiblePDFs"> |
| <owner>rhalavati@chromium.org</owner> |
| <owner>chrome-a11y-core@google.com</owner> |
| <summary> |
| Records inaccessible PDFs. |
| </summary> |
| <metric name="Seen" enum="Boolean"> |
| <summary> |
| A boolean signaling that the PDF was opened by the user. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Accessibility.PageZoom"> |
| <owner>aldietz@google.com</owner> |
| <owner>mschillaci@google.com</owner> |
| <owner>chrome-a11y-core@google.com</owner> |
| <summary> |
| Tracks usage of Page Zoom on Chrome for Android. Recorded each time the |
| slider is dismissed if the user changed the zoom level on this page before |
| dismissal. |
| </summary> |
| <metric name="SliderZoomValue"> |
| <summary> |
| For users who changed the individual zoom level on this page, tracks what |
| zoom level has been set on the page at slider dismissal. There may be |
| multiple instances where the slider is opened on the same page, so there |
| may be multiple values logged per page. The value will be an integer |
| between 25 and 500, inclusive, bucketed in intervals of 5. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Accessibility.ReadAnything"> |
| <owner>abigailbklein@google.com</owner> |
| <summary> |
| Records the time taken to distill a web page. |
| </summary> |
| <metric name="MergedDistillationTime.Failure"> |
| <summary> |
| The amount of time (ms) required to distill a web page with the merged |
| algorithm if distillation failed. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="MergedDistillationTime.Success"> |
| <summary> |
| The amount of time (ms) required to distill a web page with the merged |
| algorithm if distillation succeeded. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RulesDistillationTime.Failure"> |
| <summary> |
| The amount of time (ms) required to distill a web page with the rules |
| based algorithm if distillation failed. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RulesDistillationTime.Success"> |
| <summary> |
| The amount of time (ms) required to distill a web page with the rules |
| based algorithm if distillation succeeded. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Accessibility.ReadAnything.EmptyState"> |
| <owner>abigailbklein@google.com</owner> |
| <summary> |
| Recorded when an empty state is shown in Read Anything. The empty state is |
| shown whenever distillation fails. When this happens, the user can |
| "select to distill", meaning they can manually select text in the |
| main web page they would like to see in reading mode. |
| </summary> |
| <metric name="TotalNumSelections"> |
| <summary> |
| Total number of selections made. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Accessibility.Renderer"> |
| <owner>aleventhal@chromium.org</owner> |
| <owner>nektar@chromium.org</owner> |
| <summary> |
| Tracks the amount of time sending accessibility events from web renderers. |
| </summary> |
| <metric name="CpuTime.SendPendingAccessibilityEvents"> |
| <summary> |
| The amount of time spent in |
| RenderAccessibilityImpl.SendPendingAccessibilityEvents |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Accessibility.ScreenAI"> |
| <owner>abigailbklein@google.com</owner> |
| <owner>rhalavati@google.com</owner> |
| <owner>kyungjunlee@google.com</owner> |
| <summary> |
| Records the time taken to distill a web page. |
| </summary> |
| <metric name="Screen2xDistillationTime.Failure"> |
| <summary> |
| The amount of time (ms) required to distill a web page if distillation |
| failed. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Screen2xDistillationTime.Success"> |
| <summary> |
| The amount of time (ms) required to distill a web page if distillation |
| succeeded. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="AdFrameLoad"> |
| <owner>johnidel@chromium.org</owner> |
| <owner>jkarlin@chromium.org</owner> |
| <summary> |
| Records metrics associated with a single ad frame for a page load. An ad |
| frame includes itself and all of its child frames. Only recorded for frames |
| with non-zero bytes. Recorded when a page is destroyed or when the app is |
| backgrounded on mobile. |
| </summary> |
| <metric name="CpuTime.PeakWindowedPercent"> |
| <summary> |
| The peak percentage of CPU utilization attributed to the frame in any 30 |
| second window prior to user activation. Frames that exist for less than 30 |
| seconds still use 30 seconds as the denominator for the calculation. |
| </summary> |
| </metric> |
| <metric name="CpuTime.PreActivation"> |
| <summary> |
| Wall time of tasks attributed to the frame after the frame received user |
| activation. Measured in millseconds. |
| </summary> |
| </metric> |
| <metric name="CpuTime.Total"> |
| <summary> |
| Total wall time of tasks attributed to the frame. Measured in |
| milliseconds. |
| </summary> |
| </metric> |
| <metric name="FrameDepth"> |
| <summary> |
| The depth of this frame's frame tree. There is no set limit on a frame's |
| maximum depth. |
| </summary> |
| </metric> |
| <metric name="Loading.CacheBytes2"> |
| <summary> |
| Bytes loaded from the cache for all resources loaded within the frame. |
| This includes bytes loaded from both the HTTP cache and memory cache. This |
| is rounded down to the nearest exponential bucket (with a bucket ratio of |
| 1.3). |
| </summary> |
| </metric> |
| <metric name="Loading.ImageBytes"> |
| <summary> |
| Network bytes loaded for resources with an image mime type within the |
| frame. Includes header bytes. This is rounded down to the nearest |
| exponential bucket (with a bucket ratio of 1.3). |
| </summary> |
| </metric> |
| <metric name="Loading.JavascriptBytes"> |
| <summary> |
| Network bytes loaded for resources with a javascript mime type within the |
| frame. Includes header bytes. This is rounded down to the nearest |
| exponential bucket (with a bucket ratio of 1.3). |
| </summary> |
| </metric> |
| <metric name="Loading.NetworkBytes"> |
| <summary> |
| Network bytes loaded for all resources within the frame. Includes header |
| bytes. This is rounded down to the nearest exponential bucket (with a |
| bucket ratio of 1.3). |
| </summary> |
| </metric> |
| <metric name="Loading.NumResources"> |
| <summary> |
| Total number of resources loaded by the frame, including incomplete |
| resources. |
| </summary> |
| </metric> |
| <metric name="Loading.VideoBytes"> |
| <summary> |
| Network bytes loaded for resources with a video/ mime type within the |
| frame. Includes header bytes. This is rounded down to the nearest |
| exponential bucket (with a bucket ratio of 1.3). |
| </summary> |
| </metric> |
| <metric name="Status.CrossOrigin"> |
| <summary> |
| An enum representing whether the frame was Cross-Origin or Same-Origin to |
| its parent frame. See FrameData::OriginStatus. |
| </summary> |
| </metric> |
| <metric name="Status.Media"> |
| <summary> |
| An enum representing whether media was played in the frame. See |
| FrameData::MediaStatus. |
| </summary> |
| </metric> |
| <metric name="Status.UserActivation"> |
| <summary> |
| An enum representing whether the frame received user activation. See |
| FrameData::UserActivationStatus. |
| </summary> |
| </metric> |
| <metric name="Timing.FirstContentfulPaint"> |
| <summary> |
| Number of milliseconds before FirstContentfulpaint was reached in the |
| frame. This is relative to subframe navigation start. |
| </summary> |
| </metric> |
| <metric name="Timing.Interactive"> |
| <summary> |
| Number of millseconds before Time-To-Interactive was reached in the frame. |
| This is relative to subframe navigation start. |
| </summary> |
| </metric> |
| <metric name="Visibility.FrameHeight"> |
| <summary> |
| Last known height of the iframe in pixels. Not reported accurately when |
| "Visibility.Hidden" is true. This is rounded down to the nearest |
| exponential bucket (with a bucket ratio of 1.15). |
| </summary> |
| </metric> |
| <metric name="Visibility.FrameWidth"> |
| <summary> |
| Last known width of the iframe in pixels. Not reported accurately when |
| "Visibility.Hidden" is true. This is rounded down to the nearest |
| exponential bucket (with a bucket ratio of 1.15). |
| </summary> |
| </metric> |
| <metric name="Visibility.Hidden"> |
| <summary> |
| A 0 or 1 values representing whether the frame had a display=none styling |
| set. Records the last known value. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="AdPageLoad" singular="True"> |
| <owner>johnidel@chromium.org</owner> |
| <owner>jkarlin@chromium.org</owner> |
| <summary> |
| Recorded when a page has loaded non-zero ad bytes, and the page is being |
| destroyed/navigated. |
| </summary> |
| <metric name="AdBytes"> |
| <summary> |
| Amount of network bytes used to load ad resource on the page. Includes |
| resources that did not finish, and top-level ads. Measured in kilobytes. |
| </summary> |
| </metric> |
| <metric name="AdCpuTime"> |
| <summary> |
| Amount of CPU wall time inside of ad iframes over the duration of a page |
| load, while the page is in the foreground. Measured in milliseconds. |
| </summary> |
| </metric> |
| <metric name="AdJavascriptBytes"> |
| <summary> |
| Amount of network bytes used to load ad resources with a supported |
| javascript mime type on the page. Measured in kilobytes. |
| </summary> |
| </metric> |
| <metric name="AdVideoBytes"> |
| <summary> |
| Amount of network bytes used to load ad resources with a video mime type |
| on the page. Measured in kilobytes. |
| </summary> |
| </metric> |
| <metric name="MainframeAdBytes"> |
| <summary> |
| Amount of network bytes used to load ad resources in the main frame. |
| Includes resources that did not finish but does not include resources in |
| subframes. Measured in bytes. This is rounded to the nearest exponential |
| bucket (with a bucket ratio of 1.3). |
| </summary> |
| </metric> |
| <metric name="MaxAdDensityByArea"> |
| <summary> |
| The estimated maximum density of ads on a page by area. Calculated as the |
| area of ads on the page * 100 / page area. This counts each overlapping |
| area once, it may be inaccurate due to updates and calculations being |
| throttled. |
| </summary> |
| </metric> |
| <metric name="MaxAdDensityByHeight"> |
| <summary> |
| The estimated maximum density of ads on a page by height. Calculated as |
| the combined height of ads on the page * 100 / page height. This counts |
| each overlapping area once, it may be inaccurate due to updates and |
| calculations being throttled. |
| </summary> |
| </metric> |
| <metric name="TotalBytes"> |
| <summary> |
| Amount of network bytes used to load resources on the page. Includes |
| resources that did not finish. Measured in kilobytes. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="AdPageLoadCustomSampling3" singular="True"> |
| <owner>yaoxia@chromium.org</owner> |
| <owner>johnidel@chromium.org</owner> |
| <owner>jkarlin@chromium.org</owner> |
| <summary> |
| Recorded when the page is being destroyed/navigated away or when the app |
| enters the background on mobile. This is separate from the `AdPageLoad` |
| event to allow it to be recorded on all pages (i.e. not only pages that have |
| loaded non-zero ad byte), and to allow a potentially different sampling. |
| Both iframe and img ads are covered. |
| </summary> |
| <metric name="AverageViewportAdDensity"> |
| <summary> |
| The estimated average viewport ad density. Each density value is |
| calculated as the area of (iframe and img) ads within the viewport * 100 / |
| viewport area, where each overlapping area is counted once. And this |
| returns the average of the densities accumulated over the page load time |
| rounded to the nearest integer. |
| </summary> |
| </metric> |
| <metric name="KurtosisViewportAdDensity"> |
| <summary> |
| The estimated kurtosis of the viewport ad density. Each density value is |
| calculated as the area of (iframe and img) ads within the viewport * 100 / |
| viewport area, where each overlapping area is counted once. And this |
| returns the kurtosis of the densities accumulated over the page load time |
| rounded to the nearest exponential bucket integer with bucket spacing 1.3. |
| For negative values, the bucketing will be taken on its magnitude part. |
| </summary> |
| </metric> |
| <metric name="SkewnessViewportAdDensity"> |
| <summary> |
| The estimated skewness of the viewport ad density. Each density value is |
| calculated as the area of (iframe and img) ads within the viewport * 100 / |
| viewport area, where each overlapping area is counted once. And this |
| returns the skewness of the densities accumulated over the page load time |
| rounded to the nearest exponential bucket integer with bucket spacing 1.3. |
| For negative values, the bucketing will be taken on its magnitude part. |
| </summary> |
| </metric> |
| <metric name="VarianceViewportAdDensity"> |
| <summary> |
| The estimated variance of the viewport ad density. Each density value is |
| calculated as the area of (iframe and img) ads within the viewport * 100 / |
| viewport area, where each overlapping area is counted once. And this |
| returns the variance of the densities accumulated over the page load time |
| rounded to the nearest exponential bucket integer with bucket spacing 1.3. |
| For negative values, the bucketing will be taken on its magnitude part. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="AdsInterestGroup.AuctionLatency.V2"> |
| <owner>orrb@google.com</owner> |
| <owner>chrome-ads-core@google.com</owner> |
| <summary> |
| Captures latency-relevant metrics associated with a single FLEDGE auction. |
| Many of these metrics are latency measurements, aggregated (mean/max) for |
| parts of the auction flow that happen multiple times in an auction, e.g. |
| calls to GenerateBid. Others are potentially latency-impacting measures of |
| the auction, e.g. the number of InterestGroups, buyers, component auctions, |
| bids that were scored either together or separately for the enforced and |
| non-enforced KAnon modes. Finally, some of these metrics look at points in |
| the auction flow where multiple inputs come together to assess which of |
| these inputs most frequently appears on the latency critical path. |
| </summary> |
| <metric name="BidGenerationPhaseEndTimeInMillis"> |
| <summary> |
| The time in milliseconds between the AuctionRunner constructor (the start |
| of the auction) and the last call to |
| BidderWorklet::DeliverBidCallbackOnUserThread (the end of the |
| BidGenerationPhase). The BidGenerationPhase represents the time during |
| which ad-tech provided generateBid JavaScript functions are being |
| executed. This is one of a series of metrics representing the duration of |
| each phase of the auction, where the phases may overlap or have space |
| between them. This is bucketed in linear buckets of 10 ms. |
| </summary> |
| </metric> |
| <metric name="BidGenerationPhaseStartTimeInMillis"> |
| <summary> |
| The time in milliseconds between the AuctionRunner constructor (the start |
| of the auction) and the first call to BidderWorklet::GenerateBidIfReady |
| (specifically where that call corresponds to a bidder worklet for which |
| all of its GenerateBid dependencies have been satisfied and it's about to |
| call the ad-tech provided generateBid JavaScript function; the start of |
| the BidGenerationPhase). The BidGenerationPhase represents the time during |
| which ad-tech provided generateBid JavaScript functions are being |
| executed. This is one of a series of metrics representing the duration of |
| each phase of the auction, where the phases may overlap or have space |
| between them. This is bucketed in linear buckets of 10 ms. |
| </summary> |
| </metric> |
| <metric name="BidSignalsFetchPhaseEndTimeInMillis"> |
| <summary> |
| The time in milliseconds between the AuctionRunner constructor (the start |
| of the auction) and the last call to BidderWorklet::GenerateBidIfReady |
| (the end of the BidSignalsFetchPhase). The BidSignalsFetchPhase represents |
| the time during which any bidder worklet is waiting for one or more of the |
| GenerateBid dependencies, notably bidding signals, in anticipation of |
| calling an ad-tech provided generateBid JavaScript function. This is one |
| of a series of metrics representing the duration of each phase of the |
| auction, where the phases may overlap or have space between them. This is |
| bucketed in linear buckets of 10 ms. |
| </summary> |
| </metric> |
| <metric name="BidSignalsFetchPhaseStartTimeInMillis"> |
| <summary> |
| The time in milliseconds between the AuctionRunner constructor (the start |
| of the auction) and the first call to BidderWorklet::BeginGenerateBid (the |
| start of the BidSignalsFetchPhase). The BidSignalsFetchPhase represents |
| the time during which any bidder worklet is waiting for one or more of the |
| GenerateBid dependencies, notably bidding signals, in anticipation of |
| calling an ad-tech provided generateBid JavaScript function. This is one |
| of a series of metrics representing the duration of each phase of the |
| auction, where the phases may overlap or have space between them. This is |
| bucketed in linear buckets of 10 ms. |
| </summary> |
| </metric> |
| <metric name="EndToEndLatencyInMillis"> |
| <summary> |
| Time in ms between AdAuctionServiceImpl::RunAdAuction and |
| AdAuctionServiceImpl::OnAuctionComplete. Roughly equivalent to UMA metric, |
| Ads.InterestGroup.Auction.AuctionWithWinnerTime. |
| </summary> |
| </metric> |
| <metric name="KAnonymityBidMode" enum="KAnonymityBidMode"> |
| <summary> |
| Indicates the KAnonymityBidMode used for this auction. |
| </summary> |
| </metric> |
| <metric name="LoadInterestGroupPhaseEndTimeInMillis"> |
| <summary> |
| The time in milliseconds between the AuctionRunner constructor (the start |
| of the auction) and the last call to |
| AuctionRunner::OnLoadInterestGroupsComplete (the end of the |
| LoadInterestGroupPhase). This is one of a series of metrics representing |
| the duration of each phase of the auction, where the phases may overlap or |
| have space between them. Unlike other phase metrics, this phase has no |
| associated StartTime metric, since this phase begins at the start of the |
| auction. This is bucketed in linear buckets of 10 ms. This metric is |
| identical to LoadInterestGroupPhaseLatencyInMillis except that this metric |
| uses linear bucketing. |
| </summary> |
| </metric> |
| <metric name="LoadInterestGroupPhaseLatencyInMillis"> |
| <summary> |
| The latency in milliseconds between the start of the auction (the |
| AuctionRunner constructor), and the call to |
| AuctionRunner::OnLoadInterestGroupsComplete. This is related to UMA |
| metric, Ads.InterestGroup.Auction.LoadGroupsTime, except that, in a |
| multi-seller auction, the UMA metric is recorded once per component |
| auction and then again for the top-level auction, whereas this metric is |
| recorded only once, for the top-level auction. This metric also isn't |
| limited to those cases where there were InterestGroups to load, since we |
| can independently filter this based on the value of NumInterestGroups. |
| </summary> |
| </metric> |
| <metric name="MaxAdditionalBidDecodeLatencyInMillis"> |
| <summary> |
| Max latency of the time spent decoding each additional bid. This only |
| includes additional bids that were successfully decoded, so those negative |
| targeted or sent for scoring, and not those that encountered any error |
| while being decoded, e.g. invalid base64, JSON parsing errors, etc. |
| </summary> |
| </metric> |
| <metric name="MaxBidForOneInterestGroupLatencyInMillis"> |
| <summary> |
| Aggregated across all components for a multi-seller auctions, this records |
| the max latency in millis between BuyerHelper::StartGeneratingBids and |
| BuyerHelper::OnGenerateBidComplete, counting each BidState once. As such, |
| this includes starting the BidderWorklet in that latency. This latency |
| window is intentionally terminated in OnGenerateBidComplete, and not in |
| OnGenerateBidCompleteInternal, so that this *excludes* bids filtered |
| during reprioritization, as well as those that failed because of some |
| fatal error, except that we explicitly *include* those that timed out. |
| </summary> |
| </metric> |
| <metric name="MaxComponentAuctionLatencyInMillis"> |
| <summary> |
| Only for multi-seller auctions, this is the highest latency of the bidding |
| and scoring phase, observed across all of the component auctions. This |
| latency is measured as the time between the call to |
| StartBiddingAndScoringPhase and the call to OnComponentAuctionComplete. |
| This metric only has a value for entries that represent multi-seller |
| auctions, as indicated by a value for the NumSellersWithBidders metric of |
| two or greater. |
| </summary> |
| </metric> |
| <metric name="MaxConfigPromisesResolvedCriticalPathLatencyInMillis"> |
| <summary> |
| Max latency between the start of the BiddingAndScoring phase and when |
| config promises are resolved. In a single-seller auction, this is only |
| recorded if the auction has config promises; in a multi-seller auction, |
| this is only recorded for component auctions and the top-level auction for |
| those that have config promises. In auctions for which the config promises |
| are resolved before the bidding and auction phase, a critical path latency |
| of zero is recorded. This shows how long additional bids would have had to |
| wait for the config promises to be resolved, since they couldn't be |
| processed until the BiddingAndScoring phase anyway. |
| </summary> |
| </metric> |
| <metric name="MaxConfigPromisesResolvedLatencyInMillis"> |
| <summary> |
| Max latency between the auction start time and when config promises are |
| resolved. In a single-seller auction, this is only recorded if the auction |
| has config promises; in a multi-seller auction, this is only recorded for |
| component auctions and the top-level auction for those that have config |
| promises. This is not the same as how long the auction needed to wait for |
| a config promise, since other work happened simultaneously. That's better |
| captured by the GenerateBid critical path metrics and the |
| ConfigPromisesResolved critical path metrics. |
| </summary> |
| </metric> |
| <metric name="MaxGenerateBidCodeReadyLatencyInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the max time in millis that GenerateBid waited for the Script and/or WASM |
| load. If both Script and WASM were requested, this is the latency of the |
| slower of the two to complete. |
| </summary> |
| </metric> |
| <metric name="MaxGenerateBidConfigPromisesLatencyInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the max time in millis that GenerateBid waited for the fulfillment of the |
| config promises. |
| </summary> |
| </metric> |
| <metric name="MaxGenerateBidDirectFromSellerSignalsLatencyInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the max time in millis that GenerateBid waited for the download of the |
| DirectFromSellerSignals. This combines the PerBuyerSignals and |
| AuctionSignals, and as such, this is the latency of the slower of the two |
| to complete. |
| </summary> |
| </metric> |
| <metric name="MaxGenerateBidTrustedBiddingSignalsLatencyInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the max time in millis that GenerateBid waited for the download of the |
| TrustedBiddingSignals. This includes *all* TrustedBiddingSignals for that |
| buyer, because of how those all need to be available in order to |
| reprioritize InterestGroups and apply per-buyer group limits. |
| </summary> |
| </metric> |
| <metric name="MaxGenerateSingleBidLatencyInMillis"> |
| <summary> |
| Aggregated across all components for a multi-seller auctions, this records |
| the max latency in millis of calls to GenerateSingleBid. This is related |
| to UMA metric, Ads.InterestGroup.Auction.GenerateBidTime, except that it's |
| aggregated across all GenerateSingleBid calls for this auction. Like the |
| UMA metric, this measures each distinct call to GenerateSingleBid, for |
| which there could be two for a given InterestGroup, one that satisfies the |
| kAnon threshold, and one that doesn't. |
| </summary> |
| </metric> |
| <metric name="MaxScoreAdCodeReadyLatencyInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the max time in millis that ScoreAd waited for the Script load. |
| </summary> |
| </metric> |
| <metric name="MaxScoreAdDirectFromSellerSignalsLatencyInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the max time in millis that ScoreAd waited for the download of the |
| DirectFromSellerSignals. This combines the SellerSignals and |
| AuctionSignals, and as such, this is the latency of the slower of the two |
| to complete. |
| </summary> |
| </metric> |
| <metric name="MaxScoreAdFlowLatencyInMillis"> |
| <summary> |
| Aggregated across all components for a multi-seller auctions, this |
| records, across all of the ads scored, the max latency in millis between |
| InterestGroupAuction::ScoreBidIfReady (the second call to it, which in |
| turn calls SellerWorklet::ScoreAd) and |
| InterestGroupAuction::OnScoreAdComplete. |
| </summary> |
| </metric> |
| <metric name="MaxScoreAdLatencyInMillis"> |
| <summary> |
| Aggregated across all components for a multi-seller auctions, this records |
| the max latency in millis of calls to V8State::ScoreAd. This is related to |
| UMA metric, Ads.InterestGroup.Auction.ScoreAdTime, except that it's |
| aggregated across all GenerateSingleBid calls for this auction. |
| </summary> |
| </metric> |
| <metric name="MaxScoreAdTrustedScoringSignalsLatencyInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the max time in millis that ScoreAd waited for the download of the |
| TrustedScoringSignals. This includes *all* TrustedScoringSignals for that |
| buyer, because of how those all need to be available in order to |
| reprioritize InterestGroups and apply per-buyer group limits. |
| </summary> |
| </metric> |
| <metric name="MeanAdditionalBidDecodeLatencyInMillis"> |
| <summary> |
| Mean latency of the time spent decoding each additional bid. This only |
| includes additional bids that were successfully decoded, so those negative |
| targeted or sent for scoring, and not those that encountered any error |
| while being decoded, e.g. invalid base64, JSON parsing errors, etc. |
| </summary> |
| </metric> |
| <metric name="MeanBidForOneInterestGroupLatencyInMillis"> |
| <summary> |
| Aggregated across all components for a multi-seller auctions, this records |
| the mean latency in millis between BuyerHelper::StartGeneratingBids and |
| BuyerHelper::OnGenerateBidComplete, counting each BidState once. As such, |
| this includes starting the BidderWorklet in that latency. This latency |
| window is intentionally terminated in OnGenerateBidComplete, and not in |
| OnGenerateBidCompleteInternal, so that this *excludes* bids filtered |
| during reprioritization, as well as those that failed because of some |
| fatal error, except that we explicitly *include* those that timed out. |
| </summary> |
| </metric> |
| <metric name="MeanComponentAuctionLatencyInMillis"> |
| <summary> |
| Only for multi-seller auctions, this is the mean latency of the bidding |
| and scoring phase, aggregated across each of the component auctions. This |
| latency is measured as the time between the call to |
| StartBiddingAndScoringPhase and the call to OnComponentAuctionComplete. |
| This metric only has a value for entries that represent multi-seller |
| auctions, as indicated by a value for the NumSellersWithBidders metric of |
| two or greater. |
| </summary> |
| </metric> |
| <metric name="MeanConfigPromisesResolvedCriticalPathLatencyInMillis"> |
| <summary> |
| Mean latency between the start of the BiddingAndScoring phase and when |
| config promises are resolved. In a single-seller auction, this is only |
| recorded if the auction has config promises; in a multi-seller auction, |
| this is only recorded for component auctions and the top-level auction for |
| those that have config promises. In auctions for which the config promises |
| are resolved before the bidding and auction phase, a critical path latency |
| of zero is recorded. This shows how long additional bids would have had to |
| wait for the config promises to be resolved, since they couldn't be |
| processed until the BiddingAndScoring phase anyway. |
| </summary> |
| </metric> |
| <metric name="MeanConfigPromisesResolvedLatencyInMillis"> |
| <summary> |
| Mean latency between the auction start time and when config promises are |
| resolved. In a single-seller auction, this is only recorded if the auction |
| has config promises; in a multi-seller auction, this is only recorded for |
| component auctions and the top-level auction for those that have config |
| promises. This is not the same as how long the auction needed to wait for |
| a config promise, since other work happened simultaneously. That's better |
| captured by the GenerateBid critical path metrics and the |
| ConfigPromisesResolved critical path metrics. |
| </summary> |
| </metric> |
| <metric name="MeanGenerateBidCodeReadyCriticalPathLatencyInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the mean critical path latency in millis, the time after all other |
| GenerateBid dependencies were satisfied that GenerateBid was blocked |
| waiting for the Script and/or WASM load. This combines Script and WASM |
| loads. |
| </summary> |
| </metric> |
| <metric name="MeanGenerateBidCodeReadyLatencyInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the mean time in millis that GenerateBid waited for the Script and/or WASM |
| load. If both Script and WASM were requested, this is the latency of the |
| slower of the two to complete. |
| </summary> |
| </metric> |
| <metric name="MeanGenerateBidConfigPromisesCriticalPathLatencyInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the mean critical path latency in millis, the time after all other |
| GenerateBid dependencies were satisfied that GenerateBid was blocked |
| waiting for the fulfillment of the config promises. |
| </summary> |
| </metric> |
| <metric name="MeanGenerateBidConfigPromisesLatencyInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the mean time in millis that GenerateBid waited for the fulfillment of the |
| config promises. |
| </summary> |
| </metric> |
| <metric |
| name="MeanGenerateBidDirectFromSellerSignalsCriticalPathLatencyInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the mean critical path latency in millis, the time after all other |
| GenerateBid dependencies were satisfied that GenerateBid was blocked |
| waiting for the download of the DirectFromSellerSignals. This combines the |
| PerBuyerSignals and AuctionSignals since they should arrive at roughly the |
| same time. |
| </summary> |
| </metric> |
| <metric name="MeanGenerateBidDirectFromSellerSignalsLatencyInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the mean time in millis that GenerateBid waited for the download of the |
| DirectFromSellerSignals. This combines the PerBuyerSignals and |
| AuctionSignals, and as such, this is the latency of the slower of the two |
| to complete. |
| </summary> |
| </metric> |
| <metric |
| name="MeanGenerateBidTrustedBiddingSignalsCriticalPathLatencyInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the mean critical path latency in millis, the time after all other |
| GenerateBid dependencies were satisfied that GenerateBid was blocked |
| waiting for the download of the TrustedBiddingSignals. This includes *all* |
| TrustedBiddingSignals for that buyer, because of how those all need to be |
| available in order to reprioritize InterestGroups and apply per-buyer |
| group limits. |
| </summary> |
| </metric> |
| <metric name="MeanGenerateBidTrustedBiddingSignalsLatencyInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the mean time in millis that GenerateBid waited for the download of the |
| TrustedBiddingSignals. This includes *all* TrustedBiddingSignals for that |
| buyer, because of how those all need to be available in order to |
| reprioritize InterestGroups and apply per-buyer group limits. |
| </summary> |
| </metric> |
| <metric name="MeanGenerateSingleBidLatencyInMillis"> |
| <summary> |
| Aggregated across all components for a multi-seller auctions, this records |
| the mean latency in millis of calls to GenerateSingleBid. This is related |
| to UMA metric, Ads.InterestGroup.Auction.GenerateBidTime, except that it's |
| aggregated across all GenerateSingleBid calls for this auction. Like the |
| UMA metric, this measures each distinct call to GenerateSingleBid, for |
| which there could be two for a given InterestGroup, one that satisfies the |
| kAnon threshold, and one that doesn't. |
| </summary> |
| </metric> |
| <metric name="MeanScoreAdCodeReadyCriticalPathLatencyInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the mean critical path latency in millis, the time after all other ScoreAd |
| dependencies were satisfied that ScoreAd was blocked waiting for the |
| Script load. |
| </summary> |
| </metric> |
| <metric name="MeanScoreAdCodeReadyLatencyInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the mean time in millis that ScoreAd waited for the Script load. |
| </summary> |
| </metric> |
| <metric name="MeanScoreAdDirectFromSellerSignalsCriticalPathLatencyInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the mean critical path latency in millis, the time after all other ScoreAd |
| dependencies were satisfied that ScoreAd was blocked waiting for the |
| download of the DirectFromSellerSignals. This combines the SellerSignals |
| and AuctionSignals since they should arrive at roughly the same time. |
| </summary> |
| </metric> |
| <metric name="MeanScoreAdDirectFromSellerSignalsLatencyInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the mean time in millis that ScoreAd waited for the download of the |
| DirectFromSellerSignals. This combines the SellerSignals and |
| AuctionSignals, and as such, this is the latency of the slower of the two |
| to complete. |
| </summary> |
| </metric> |
| <metric name="MeanScoreAdFlowLatencyInMillis"> |
| <summary> |
| Aggregated across all components for a multi-seller auctions, this |
| records, across all of the ads scored, the mean latency in millis between |
| InterestGroupAuction::ScoreBidIfReady (the second call to it, which in |
| turn calls SellerWorklet::ScoreAd) and |
| InterestGroupAuction::OnScoreAdComplete. |
| </summary> |
| </metric> |
| <metric name="MeanScoreAdLatencyInMillis"> |
| <summary> |
| Aggregated across all components for a multi-seller auctions, this records |
| the mean latency in millis of calls to V8State::ScoreAd. This is related |
| to UMA metric, Ads.InterestGroup.Auction.ScoreAdTime, except that it's |
| aggregated across all GenerateSingleBid calls for this auction. |
| </summary> |
| </metric> |
| <metric name="MeanScoreAdTrustedScoringSignalsCriticalPathLatencyInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the mean critical path latency in millis, the time after all other ScoreAd |
| dependencies were satisfied that ScoreAd was blocked waiting for the |
| download of the TrustedScoringSignals. This includes *all* |
| TrustedScoringSignals for that buyer, because of how those all need to be |
| available in order to reprioritize InterestGroups and apply per-buyer |
| group limits. |
| </summary> |
| </metric> |
| <metric name="MeanScoreAdTrustedScoringSignalsLatencyInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the mean time in millis that ScoreAd waited for the download of the |
| TrustedScoringSignals. This includes *all* TrustedScoringSignals for that |
| buyer, because of how those all need to be available in order to |
| reprioritize InterestGroups and apply per-buyer group limits. |
| </summary> |
| </metric> |
| <metric name="MeanTimeBidsQueuedWaitingForConfigPromisesInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the mean time that bids that were ready for scoring before the config |
| promises were fulfilled were blocked waiting on the config promises. For |
| multi-seller auctions, this only includes bids in the component auctions, |
| and not rescoring of bids in the top-level auction. |
| </summary> |
| </metric> |
| <metric name="MeanTimeBidsQueuedWaitingForSellerWorkletInMillis"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the mean time that bids that were ready for scoring before the seller |
| worklet became available were blocked waiting on the seller worklet. For |
| multi-seller auctions, this only includes bids in the component auctions, |
| and not rescoring of bids in the top-level auction. |
| </summary> |
| </metric> |
| <metric name="MeanTimeTopLevelBidsQueuedWaitingForConfigPromisesInMillis"> |
| <summary> |
| Only recorded for multi-seller auctions, this records the mean time that |
| top-level bids that were ready for rescoring before the config promises |
| were fulfilled were blocked waiting on the config promises. |
| </summary> |
| </metric> |
| <metric name="MeanTimeTopLevelBidsQueuedWaitingForSellerWorkletInMillis"> |
| <summary> |
| Only recorded for multi-seller auctions, this records the mean time that |
| top-level bids that were ready for rescoring before the seller worklet |
| became available were blocked waiting on the seller worklet. |
| </summary> |
| </metric> |
| <metric name="NumAdditionalBidsNegativeTargeted"> |
| <summary> |
| Number of additional bids intentionally suppressed because at least one of |
| the additional bid's specified negative interest groups was present. This |
| is not an error condition; this is the intentional behavior of negative |
| targeting. Still so, these additional bids are not scored, and do not |
| participate in the auction. |
| </summary> |
| </metric> |
| <metric name="NumAdditionalBidsRejectedDueToBuyerNotAllowed"> |
| <summary> |
| Number of additional bids rejected because the additional bid's owner was |
| not allowed to bid in that auction by IsInterestGroupAPIAllowed. These |
| additional bids are not scored, and do not participate in the auction. |
| </summary> |
| </metric> |
| <metric name="NumAdditionalBidsRejectedDueToCurrencyMismatch"> |
| <summary> |
| Number of additional bids rejected because the additional bid specified a |
| currency that didn't match the currency associated with that buyer. These |
| additional bids are not scored, and do not participate in the auction. |
| </summary> |
| </metric> |
| <metric name="NumAdditionalBidsRejectedDueToDecodeError"> |
| <summary> |
| Number of additional bids rejected because the additional bid from inside |
| the signed additional bid was not structured as expected (encountered an |
| error in DecodeAdditionalBid). This includes additional bids whose |
| replay-prevention fields - auctionNonce, seller and topLevelSeller - are |
| missing or don't match those of the auction. This also includes additional |
| bids whose owner was not found in the auction's interestGroupBuyers. These |
| additional bids are not scored, and do not participate in the auction. |
| </summary> |
| </metric> |
| <metric name="NumAdditionalBidsRejectedDueToInvalidBase64"> |
| <summary> |
| Number of additional bids rejected because the signed additional bid in |
| the Ad-Auction-Additional-Bid response header was not a valid base64 |
| string, and so could not be base64-decoded to JSON. These additional bids |
| are not scored, and do not participate in the auction. |
| </summary> |
| </metric> |
| <metric name="NumAdditionalBidsRejectedDueToJsonParseError"> |
| <summary> |
| Number of additional bids rejected because the additional bid from inside |
| the signed additional bid was invalid JSON, and so failed to parse. These |
| additional bids are not scored, and do not participate in the auction. |
| </summary> |
| </metric> |
| <metric name="NumAdditionalBidsRejectedDueToSignedBidDecodeError"> |
| <summary> |
| Number of additional bids rejected because the signed additional bid JSON |
| was not structured as expected (encountered an error in |
| DecodeSignedAdditionalBid). These additional bids are not scored, and do |
| not participate in the auction. |
| </summary> |
| </metric> |
| <metric name="NumAdditionalBidsRejectedDueToSignedBidJsonParseError"> |
| <summary> |
| Number of additional bids rejected because the signed additional bid was |
| invalid JSON, and so failed to parse. These additional bids are not |
| scored, and do not participate in the auction. |
| </summary> |
| </metric> |
| <metric name="NumAdditionalBidsSentForScoring"> |
| <summary> |
| Number of additional bids scored. These additional bids participate in the |
| auction alongside other additional bids and bids created by calls to |
| generateBid(). |
| </summary> |
| </metric> |
| <metric name="NumAuctionsWithConfigPromises"> |
| <summary> |
| In a single-seller auction, this is either zero if the auction doesn't |
| have any config promises or one if it does. This could also be inferred |
| from NumConfigPromises, which would be zero or non-zero respectively in |
| those cases. In a multi-seller auction, this is the number of component |
| auctions that have any config promises, which is different from |
| NumConfigPromises, in that each component auction may independently have |
| any number of config promises. |
| </summary> |
| </metric> |
| <metric name="NumBidderWorklets"> |
| <summary> |
| The number of distinct BidderWorklets. Interest groups with the same owner |
| can only share worklets if they have the same bidding script URL and KV |
| server URL. As such, we might observe a non-standard setup in which, for |
| example, a buyer has used a different bidding script URL for each |
| InterestGroup, causing performance issues because of the fragmentation of |
| BidderWorklets. BidderWorklets are shared across component auctions, and |
| this measure counts the number of distinct BidderWorklets used within the |
| scope of the scope of an entire auction, either single- or multi-seller. |
| This may imply that the number of BidderWorklets created in the context of |
| this auction is actually less than this number, because of reuse. However, |
| it also means that this metric can be compared against the |
| NumDistinctOwnersWithInterestGroups metric, which (unlike |
| NumOwnersWithInterestGroups) counts each buyer involved in a multi-seller |
| auction once, even if that buyer participates in multiple components. |
| </summary> |
| </metric> |
| <metric name="NumBidsAbortedByBidderWorkletFatalError"> |
| <summary> |
| Total number of bids aborted because the BidderWorklet encountered a fatal |
| error, such as a crash, a JS fetch error, or any other fatal error - |
| excluding timeouts, which are counted by the metric below - aggregated |
| across all Owners and component auctions. |
| </summary> |
| </metric> |
| <metric name="NumBidsAbortedByBuyerCumulativeTimeout"> |
| <summary> |
| Total number of InterestGroups aborted because the per-buyer cumulative |
| timeout was reached, aggregated across all Owners and component auctions. |
| </summary> |
| </metric> |
| <metric name="NumBidsFilteredByPerBuyerLimits"> |
| <summary> |
| Total number of InterestGroups filtered as per-buyer limits are applied, |
| aggregated across all Owners and component auctions. |
| </summary> |
| </metric> |
| <metric name="NumBidsFilteredDuringInterestGroupLoad"> |
| <summary> |
| Total number of InterestGroups filtered based on priority during the |
| loading of InterestGroups, aggregated across all Owners and component |
| auctions. This specifically excludes InterestGroups filtered during load |
| for other reasons, such as failing to satisfy requested seller |
| capabilities. |
| </summary> |
| </metric> |
| <metric name="NumBidsFilteredDuringReprioritization"> |
| <summary> |
| Total number of InterestGroups filtered during bid reprioritization, which |
| happens once bidding signals are available, aggregated across all Owners |
| and component auctions. Related to UMA metric, |
| Ads.InterestGroup.Auction.BidFiltered, except that it's aggregated. To |
| determine the fraction of bids filtered, compare this against the |
| NumInterestGroups metric. |
| </summary> |
| </metric> |
| <metric name="NumBidsQueuedWaitingForConfigPromises"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the total number of bids that were ready for scoring before the config |
| promises were fulfilled. For multi-seller auctions, this only includes |
| bids in the component auctions, and not rescoring of bids in the top-level |
| auction. |
| </summary> |
| </metric> |
| <metric name="NumBidsQueuedWaitingForSellerWorklet"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the total number of bids that were ready for scoring before the seller |
| worklet became available. For multi-seller auctions, this only includes |
| bids in the component auctions, and not rescoring of bids in the top-level |
| auction. |
| </summary> |
| </metric> |
| <metric name="NumConfigPromises"> |
| <summary> |
| The total number of config promises for this auction. For a multi-seller |
| auction, this includes promises from both the top-level auction and all |
| component auctions within. |
| </summary> |
| </metric> |
| <metric name="NumDistinctOwnersWithInterestGroups"> |
| <summary> |
| The number of buyers with InterestGroups participating in an auction, |
| aggregated across all component auctions. This number excludes buyers with |
| no ads or no script URL, and also those filtered because the priority for |
| all InterestGroups calculated in the BuyerHelper constructor was negative. |
| Unlike NumOwnersWithInterestGroups, it only counts each buyer once, even |
| if it appears in multiple component auctions of a multi-seller auction. |
| Also unlike NumOwnersWithInterestGroups, this metric has a value even if |
| there are no bidders eligible to participate in this auction, though, in |
| this case, that value is likely to be zero. |
| </summary> |
| </metric> |
| <metric name="NumGenerateBidCodeReadyOnCriticalPath"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the number of occurrences in which GenerateBid was blocked waiting for the |
| Script and/or WASM load. |
| </summary> |
| </metric> |
| <metric name="NumGenerateBidConfigPromisesOnCriticalPath"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the number of occurrences in which GenerateBid was blocked waiting for the |
| fulfillment of the config promises. |
| </summary> |
| </metric> |
| <metric name="NumGenerateBidDirectFromSellerSignalsOnCriticalPath"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the number of occurrences in which GenerateBid was blocked waiting for the |
| download of the DirectFromSellerSignals. This combines the PerBuyerSignals |
| and AuctionSignals since they should arrive at roughly the same time. |
| </summary> |
| </metric> |
| <metric name="NumGenerateBidTrustedBiddingSignalsOnCriticalPath"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the number of occurrences in which GenerateBid was blocked waiting for the |
| download of the TrustedBiddingSignals. This includes *all* |
| TrustedBiddingSignals for that buyer, because of how those all need to be |
| available in order to reprioritize InterestGroups and apply per-buyer |
| group limits. |
| </summary> |
| </metric> |
| <metric name="NumInterestGroups"> |
| <summary> |
| Total number of InterestGroups aggregated across all owners and component |
| auctions, equivalent to UMA metric, |
| Ads.InterestGroup.Auction.NumInterestGroups. This is the number of |
| InterestGroups loaded, before per-buyer limits are applied. Excluded from |
| this (and all other metrics counting InterestGroups) are InterestGroups |
| that are incapable of participating in an auction, e.g. those with no |
| bidding logic URLs, or with no ads. No value is defined for this metric if |
| there are no bidders eligible to participate in this auction. |
| </summary> |
| </metric> |
| <metric name="NumInterestGroupsWithNoBids"> |
| <summary> |
| Number of instances in which the BidderWorklet doesn't bid, maybe because |
| it failed to load or crashed. Because there's no bid, ScoreAd won't be |
| called for these. |
| </summary> |
| </metric> |
| <metric name="NumInterestGroupsWithOnlyNonKAnonBid"> |
| <summary> |
| Number of instances in which the BidderWorklet only generates one bid. If |
| the KAnonymityBidMode is Simulate or Enforce, this means that the |
| InterestGroup's top generated bid didn't satisfy the kAnonymity threshold, |
| and no separate bid could be generated that did satisfy the kAnonymity |
| threshold. If the KAnonymityBidMode is None, this just means that a bid |
| was successfully generated. For each of these, ScoreAd will be called |
| once. |
| </summary> |
| </metric> |
| <metric name="NumInterestGroupsWithOtherMultiBid"> |
| <summary> |
| Number of instances in which an InterestGroup generated a complicated |
| sequence of multiple bids that doesn't match any of the other |
| 'NumInterestGroupsWith...' cases. |
| </summary> |
| </metric> |
| <metric name="NumInterestGroupsWithSameBidForKAnonAndNonKAnon"> |
| <summary> |
| Number of instances in which an InterestGroup's top generated bid did |
| satisfy the kAnonymity threshold, and so no separate bid was needed. For |
| each of these, ScoreAd will be called once. If the KAnonymityBidMode is |
| None, this metric will be 0, because there won't be a separate kAnon bid. |
| </summary> |
| </metric> |
| <metric name="NumInterestGroupsWithSeparateBidsForKAnonAndNonKAnon"> |
| <summary> |
| Number of instances in which an InterestGroup's top generated bid didn't |
| satisfy the kAnonymity threshold, and a separate bid was generated that |
| did satisfy the kAnonymity threshold. For each of these, ScoreAd will be |
| called twice, once for each of these bids, which has latency and |
| performance implications. If the KAnonymityBidMode is None, this metric |
| will be 0, because there won't be a separate kAnon bid. |
| </summary> |
| </metric> |
| <metric name="NumNegativeInterestGroups"> |
| <summary> |
| Total number of negative targeting interest groups aggregated across all |
| owners and component auctions, equivalent to UMA metric, |
| Ads.InterestGroup.Auction.NumNegativeInterestGroups. This is the number of |
| negative targeting interest groups loaded into the |
| AdAuctionNegativeTargeter, regardless of which of these, if any, are later |
| referenced by additional bids. No value is defined for this metric if the |
| auction may not have additional bids, i.e. the additionalBids promise was |
| not provided on the auction config. However, a value is defined for this |
| metric even if no additional bids are provided to the auction, i.e. no |
| additional bids appear in Ad-Auction-Additional-Bid response headers. |
| </summary> |
| </metric> |
| <metric name="NumNegativeInterestGroupsIgnoredDueToInvalidSignature"> |
| <summary> |
| Number of negative interest groups ignored because they had no matching |
| valid signature on the signed additional bid. By ignoring this negative |
| interest group, the additional bid may participate in the auction where |
| the intent was for it be suppressed by negative targeting. This |
| "failing open" ensures that only the owner of the negative |
| interest group, who created the additionalBidKey, is allowed to negatively |
| target the interest group, and that nobody else can learn whether the |
| interest group is present on the device. |
| </summary> |
| </metric> |
| <metric name="NumNegativeInterestGroupsIgnoredDueToJoiningOriginMismatch"> |
| <summary> |
| Number of negative interest groups ignored because they had a joining |
| origin different from that specified on the additional bid. By ignoring |
| this negative interest group, the additional bid may participate in the |
| auction where the intent was for it be suppressed by negative targeting. |
| This "failing open" ensures that negative targeting can only use |
| targeting data from a single origin. |
| </summary> |
| </metric> |
| <metric name="NumOwnersWithInterestGroups"> |
| <summary> |
| The number of buyers with InterestGroups participating in an auction, |
| aggregated across all component auctions. Equivalent to UMA metric, |
| Ads.InterestGroup.Auction.NumInterestGroups. This number excludes buyers |
| with no ads or no script URL, and also those filtered because the priority |
| for all InterestGroups calculated in the BuyerHelper constructor was |
| negative. However, it counts a buyer repeatedly for each component auction |
| that buyer participates in. No value is defined for this metric if there |
| are no bidders eligible to participate in this auction. |
| </summary> |
| </metric> |
| <metric name="NumOwnersWithoutInterestGroups"> |
| <summary> |
| The number of owner origins listed in an auction configuration that were |
| excluded from taking part in a FLEDGE auction because they have no |
| eligible interest groups. Equivalent to the UMA histogram named |
| Ads.InterestGroup.Auction.NumOwnersWithoutInterestGroups. This does not |
| count owners that were filtered due to user settings. For multi-seller |
| auctions, this is the sum of all such excluded owners across all component |
| auctions. This double-counts owners that participate in multiple component |
| auctions. Recorded after all interest groups participating in an auction |
| have been retrieved from storage at the start of an auction. This is |
| related to the sibling histogram named |
| "NumOwnersWithInterestGroups". |
| </summary> |
| </metric> |
| <metric name="NumScoreAdCodeReadyOnCriticalPath"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the number of occurrences in which ScoreAd was blocked waiting for the |
| Script load. |
| </summary> |
| </metric> |
| <metric name="NumScoreAdDirectFromSellerSignalsOnCriticalPath"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the number of occurrences in which ScoreAd was blocked waiting for the |
| download of the DirectFromSellerSignals. This combines the SellerSignals |
| and AuctionSignals since they should arrive at roughly the same time. |
| </summary> |
| </metric> |
| <metric name="NumScoreAdTrustedScoringSignalsOnCriticalPath"> |
| <summary> |
| Aggregated across all components for multi-seller auctions, this records |
| the number of occurrences in which ScoreAd was blocked waiting for the |
| download of the TrustedScoringSignals. |
| </summary> |
| </metric> |
| <metric name="NumSellersWithBidders"> |
| <summary> |
| This is either the number of component auctions *plus one* for a |
| multi-seller auction, or 1 for a single-seller auction. Equivalent to UMA |
| metric, Ads.InterestGroup.Auction.NumSellersWithBidders. No value is |
| defined for this metric if there are no bidders eligible to participate in |
| this auction. |
| </summary> |
| </metric> |
| <metric name="NumTopLevelBidsQueuedWaitingForConfigPromises"> |
| <summary> |
| Only recorded for multi-seller auctions, this records the number of bids |
| that were ready for rescoring before the config promises were fulfilled. |
| </summary> |
| </metric> |
| <metric name="NumTopLevelBidsQueuedWaitingForSellerWorklet"> |
| <summary> |
| Only recorded for multi-seller auctions, this records the number of bids |
| that were ready for rescoring before the seller worklet became available. |
| </summary> |
| </metric> |
| <metric name="Result" enum="AuctionResult"> |
| <summary> |
| How the auction concluded, whether that's successfully selecting an ad to |
| be shown, or finding no InterestGroups to load, or getting no bids that |
| outbid the contextual bid, or any other outcome. |
| </summary> |
| </metric> |
| <metric name="ScoreSignalsFetchPhaseEndTimeInMillis"> |
| <summary> |
| The time in milliseconds between the AuctionRunner constructor (the start |
| of the auction) and the last call to SellerWorklet::ScoreAdIfReady (the |
| end of the ScoreSignalsFetchPhase). The ScoreSignalsFetchPhase represents |
| the time during which any seller worklet is waiting for one or more of the |
| ScoreAd dependencies, notably scoring signals, in anticipation of calling |
| an ad-tech provided scoreAd JavaScript function. This is one of a series |
| of metrics representing the duration of each phase of the auction, where |
| the phases may overlap or have space between them. This is bucketed in |
| linear buckets of 10 ms. |
| </summary> |
| </metric> |
| <metric name="ScoreSignalsFetchPhaseStartTimeInMillis"> |
| <summary> |
| The time in milliseconds between the AuctionRunner constructor (the start |
| of the auction) and the first call to SellerWorklet::ScoreAd (the start of |
| the ScoreSignalsFetchPhase). The ScoreSignalsFetchPhase represents the |
| time during which any seller worklet is waiting for one or more of the |
| ScoreAd dependencies, notably scoring signals, in anticipation of calling |
| an ad-tech provided scoreAd JavaScript function. This is one of a series |
| of metrics representing the duration of each phase of the auction, where |
| the phases may overlap or have space between them. This is bucketed in |
| linear buckets of 10 ms. |
| </summary> |
| </metric> |
| <metric name="ScoringPhaseEndTimeInMillis"> |
| <summary> |
| The time in milliseconds between the AuctionRunner constructor (the start |
| of the auction) and the last call to |
| SellerWorklet::DeliverScoreAdCallbackOnUserThread (the end of the |
| ScoringPhase). The ScoringPhase represents the time during which ad-tech |
| provided scoreAd JavaScript functions are being executed. This is one of a |
| series of metrics representing the duration of each phase of the auction, |
| where the phases may overlap or have space between them. This is bucketed |
| in linear buckets of 10 ms. |
| </summary> |
| </metric> |
| <metric name="ScoringPhaseStartTimeInMillis"> |
| <summary> |
| The time in milliseconds between the AuctionRunner constructor (the start |
| of the auction) and the first call to SellerWorklet::ScoreAdIfReady |
| (specifically where that call corresponds to a seller worklet for which |
| all of its ScoreAd dependencies have been satisfied and it's about to call |
| the ad-tech provided scoreAd JavaScript function; the start of the |
| ScoringPhase). The ScoringPhase represents the time during which ad-tech |
| provided scoreAd JavaScript functions are being executed. This is one of a |
| series of metrics representing the duration of each phase of the auction, |
| where the phases may overlap or have space between them. This is bucketed |
| in linear buckets of 10 ms. |
| </summary> |
| </metric> |
| <metric name="WorkletCreationPhaseEndTimeInMillis"> |
| <summary> |
| The time in milliseconds between the AuctionRunner constructor (the start |
| of the auction) and the last call to DebuggableAuctionWorklet::OnHavePid |
| (the end of the WorkletCreationPhase). The WorkletCreationPhase represents |
| the time during which worklets are being started, and will extend |
| throughout the auction if the maximum number of processes is reached for |
| bidder and/or seller worklets. This is one of a series of metrics |
| representing the duration of each phase of the auction, where the phases |
| may overlap or have space between them. This is bucketed in linear buckets |
| of 10 ms. |
| </summary> |
| </metric> |
| <metric name="WorkletCreationPhaseStartTimeInMillis"> |
| <summary> |
| The time in milliseconds between the AuctionRunner constructor (the start |
| of the auction) and the first call to |
| InterestGroupAuction::Request*Worklet (the start of the |
| WorkletCreationPhase). The WorkletCreationPhase represents the time during |
| which worklets are being started, and will extend throughout the auction |
| if the maximum number of processes is reached for bidder and/or seller |
| worklets. This is one of a series of metrics representing the duration of |
| each phase of the auction, where the phases may overlap or have space |
| between them. This is bucketed in linear buckets of 10 ms. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="AdsIntervention.LastIntervention" singular="True"> |
| <owner>yaoxia@google.com</owner> |
| <owner>chrome-ads-core@google.com</owner> |
| <summary> |
| Recorded after computing the subresource filter activation for a page at |
| process response time during navigation. This is only recorded when there |
| has previously been an ads intervention triggered on the page within the |
| site data's lifetime (currently 7 days). Clearing site data will reset |
| intervention information. |
| </summary> |
| <metric name="InterventionStatus" enum="AdsInterventionStatus"> |
| <summary> |
| Records the status of the ads intervention, whether the intervention lead |
| to subresource filter activation, measured during page load. |
| </summary> |
| </metric> |
| <metric name="InterventionType" enum="AdsViolations"> |
| <summary> |
| Records the last measured intervention recorded for the page, measured |
| during page load. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="AmpPageLoad" singular="True"> |
| <owner>sullivan@chromium.org</owner> |
| <metric name="MainFrameAmpPageLoad"> |
| <summary> |
| True if the page loaded in the main frame is an AMP document (has an amp |
| attribute in the html element). Will not be recorded for non-AMP frames. |
| Note that most AMP documents are loaded in a subframe from a reader like |
| Google Search; this metric measures sites that are using AMP as a |
| site-wide framework and not a reader experience. |
| </summary> |
| </metric> |
| <metric name="SubFrame.InteractiveTiming.FirstInputDelay4"> |
| <summary> |
| Measures First Input Delay, the duration between the hardware timestamp |
| and the start of event processing on the main thread for the first |
| meaningful input per navigation, in the AMP subframe. See |
| https://goo.gl/tr1oTZ for a detailed explanation. In milliseconds. |
| </summary> |
| </metric> |
| <metric name="SubFrame.InteractiveTiming.NumInteractions"> |
| <summary> |
| The number of distinct user interactions in an AMP subframe. See |
| definition of user interaction: |
| https://web.dev/better-responsiveness-metric/#group-events-into-interactions |
| </summary> |
| </metric> |
| <metric |
| name="SubFrame.InteractiveTiming.UserInteractionLatency.HighPercentile2.MaxEventDuration"> |
| <summary> |
| An approximation of a high percentile of user interaction latency of an |
| AMP subframe, in ms. For this metric, we measure the latency of user |
| interactions by Responsiveness.UserInteraction.MaxEventDuration. |
| </summary> |
| </metric> |
| <metric |
| name="SubFrame.InteractiveTiming.WorstUserInteractionLatency.MaxEventDuration2"> |
| <summary> |
| The maximum value of high percentile of user interaction latency above |
| budget of a page load in AMP subframes, in ms. For this metric, we measure |
| the latency of user interactions by |
| Responsiveness.UserInteraction.MaxEventDuration. |
| </summary> |
| </metric> |
| <metric name="SubFrame.LayoutInstability.CumulativeShiftScore"> |
| <summary> |
| Deprecated as of 04/23. It is still reported, but most users should use |
| AmpPageLoad.SubFrame.LayoutInstability.MaxCumulativeShiftScore.SessionWindow.Gap1000ms.Max5000ms. |
| |
| Measures the cumulative layout shift (bit.ly/lsm-explainer) that has |
| occurred during the session, in the AMP subframe. This metric's integral |
| value is 100x the fractional cumulative layout shift score described in |
| the explainer. |
| </summary> |
| </metric> |
| <metric |
| name="SubFrame.LayoutInstability.CumulativeShiftScore.BeforeInputOrScroll"> |
| <summary> |
| Measures the cumulative layout shift (bit.ly/lsm-explainer) that has |
| occurred in the AMP subframe, before any user input or document scroll. |
| This metric's integral value is 100x the fractional cumulative layout |
| shift score described in the explainer. |
| </summary> |
| </metric> |
| <metric |
| name="SubFrame.LayoutInstability.MaxCumulativeShiftScore.SessionWindow.Gap1000ms.Max5000ms"> |
| <summary> |
| Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that |
| has occurred in a session window, in the AMP subframe. The gap between two |
| consecutive shifts in a window is not bigger than 1000ms and the maximum |
| window size is 5000ms. This metric's integral value is 100x the fractional |
| cumulative layout shift score described in the explainer. |
| </summary> |
| </metric> |
| <metric name="SubFrame.MainFrameToSubFrameNavigationDelta"> |
| <summary> |
| Measures the time in milliseconds from the navigation in the main frame to |
| the navigation in the AMP subframe. Will be negative in cases where the |
| AMP subframe was prerendered. Will be positive in cases where the main |
| frame was a non-same-document navigation. Should be near-zero when the |
| main frame navigation is a same-document navigation and the AMP subframe |
| was not prerendered. |
| </summary> |
| </metric> |
| <metric name="SubFrame.PaintTiming.NavigationToFirstContentfulPaint"> |
| <summary> |
| Measures the time in milliseconds from navigation timing's navigation |
| start to the time when the page first paints content, in the AMP subframe. |
| A contentful paint includes a paint of text, image, SVG, or canvas. |
| </summary> |
| </metric> |
| <metric name="SubFrame.PaintTiming.NavigationToFirstPaint"> |
| <summary> |
| Measures the time in milliseconds from navigation timing's navigation |
| start to the time the first paint is performed, in the AMP subframe. |
| </summary> |
| </metric> |
| <metric name="SubFrame.PaintTiming.NavigationToLargestContentfulPaint2"> |
| <summary> |
| Measures the time in milliseconds from navigation timing's navigation |
| start to the time when the page first paints the experimental largest |
| content (text or image) within viewport, in the AMP subframe. See |
| http://bit.ly/largest_contentful_paint_explainer for more details. Differs |
| from SubFrame.PaintTiming.NavigationToLargestContentfulPaint in that |
| removed content is still considered a valid candidate. |
| </summary> |
| </metric> |
| <metric name="SubFrameAmpPageLoad"> |
| <summary> |
| True if the page loaded in any subframe is an AMP document (has an amp |
| attribute in the html element). Will not be recorded for non-AMP frames. |
| Note that most AMP documents are loaded in a subframe from a reader like |
| Google Search; this metric measures usage of such readers. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Android.DarkTheme.AutoDarkMode"> |
| <owner>nemco@google.com</owner> |
| <owner>wenyufu@chromium.org</owner> |
| <summary> |
| Recorded when the user changes auto-dark theming for a site through the app |
| menu. |
| </summary> |
| <metric name="DisabledByUser" enum="Boolean"> |
| <summary> |
| A boolean signaling that auto-dark theming has been disabled. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Android.MultiWindowChangeActivity"> |
| <owner>gangwu@chromium.org</owner> |
| <owner>fgorski@chromium.org</owner> |
| <summary> |
| Records when the activity enter or exit Android N+ multi-window mode. |
| </summary> |
| <metric name="ActivityType" enum="AndroidMultiWindowActivityType"> |
| <summary> |
| Enter or exit the multi-window mode. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Android.MultiWindowState"> |
| <owner>gangwu@chromium.org</owner> |
| <owner>fgorski@chromium.org</owner> |
| <summary> |
| Records the multi window state when the activity is shown. |
| </summary> |
| <metric name="WindowState" enum="AndroidMultiWindowState"> |
| <summary> |
| The state of the multi-window mode, single or multi-window. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Android.NonDefaultRdsPageLoad"> |
| <owner>shuyng@google.com</owner> |
| <owner>twellington@chromium.org</owner> |
| <summary> |
| Records on each page load when the User Agent is overridden with site |
| exception. |
| </summary> |
| <metric name="UserAgentType" enum="UserAgentRequestType"> |
| <summary> |
| An enum that records the type of user agent. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Android.ScreenRotation"> |
| <owner>gangwu@chromium.org</owner> |
| <owner>fgorski@chromium.org</owner> |
| <summary> |
| Records when a user rotates the device triggering a screen orientation |
| change. |
| </summary> |
| <metric name="TargetDeviceOrientation" enum="DeviceOrientation2"> |
| <summary> |
| The orientation of the device rotated to. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Android.UserRequestedUserAgentChange"> |
| <owner>gangwu@chromium.org</owner> |
| <owner>fgorski@chromium.org</owner> |
| <summary> |
| Records when a user pressed 'Request Desktop Site' in the app menu. |
| </summary> |
| <metric name="UserAgentType" enum="UserAgentRequestType"> |
| <summary> |
| An enum that records the type of user agent. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="AppListAppClickData"> |
| <owner>pdyson@chromium.org</owner> |
| <summary> |
| AppListAppClickData events contain click history metrics for an app. These |
| events are recorded when an app is launched from the launcher on ChromeOS, |
| but may be for an app different from the app launched. See event |
| AppListAppLaunch for more detail on the keys used. |
| </summary> |
| <metric name="AppLaunchId"> |
| <summary> |
| The ID of the app launch event. |
| </summary> |
| </metric> |
| <metric name="AppType"> |
| <summary> |
| The type of app. 1: CHROME, 2: PLAY, 3: PWA/Bookmark app. |
| </summary> |
| </metric> |
| <metric name="ClickRank"> |
| <summary> |
| Rank apps by total number of clicks. The app with the most clicks has rank |
| 1. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour00"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 12:00am and 1:00am. Bucketing: values above 20 rounded down to the |
| nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour01"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 1:00am and 2:00am. Bucketing: values above 20 rounded down to the |
| nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour02"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 2:00am and 3:00am. Bucketing: values above 20 rounded down to the |
| nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour03"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 3:00am and 4:00am. Bucketing: values above 20 rounded down to the |
| nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour04"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 4:00am and 5:00am. Bucketing: values above 20 rounded down to the |
| nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour05"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 5:00am and 6:00am. Bucketing: values above 20 rounded down to the |
| nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour06"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 6:00am and 7:00am. Bucketing: values above 20 rounded down to the |
| nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour07"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 7:00am and 8:00am. Bucketing: values above 20 rounded down to the |
| nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour08"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 8:00am and 9:00am. Bucketing: values above 20 rounded down to the |
| nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour09"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 9:00am and 10:00am. Bucketing: values above 20 rounded down to the |
| nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour10"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 10:00am and 11:00am. Bucketing: values above 20 rounded down to |
| the nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour11"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 11:00am and 12:00pm. Bucketing: values above 20 rounded down to |
| the nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour12"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 12:00pm and 1:00pm. Bucketing: values above 20 rounded down to the |
| nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour13"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 1:00pm and 2:00pm. Bucketing: values above 20 rounded down to the |
| nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour14"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 2:00pm and 3:00pm. Bucketing: values above 20 rounded down to the |
| nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour15"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 3:00pm and 4:00pm. Bucketing: values above 20 rounded down to the |
| nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour16"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 4:00pm and 5:00pm. Bucketing: values above 20 rounded down to the |
| nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour17"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 5:00pm and 6:00pm. Bucketing: values above 20 rounded down to the |
| nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour18"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 6:00pm and 7:00pm. Bucketing: values above 20 rounded down to the |
| nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour19"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 7:00pm and 8:00pm. Bucketing: values above 20 rounded down to the |
| nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour20"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 8:00pm and 9:00pm. Bucketing: values above 20 rounded down to the |
| nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour21"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 9:00pm and 10:00pm. Bucketing: values above 20 rounded down to the |
| nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour22"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 10:00pm and 11:00pm. Bucketing: values above 20 rounded down to |
| the nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksEachHour23"> |
| <summary> |
| The number of clicks on this app in the current session that occurred |
| between 11:00pm and 12:00am. Bucketing: values above 20 rounded down to |
| the nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksLast24Hours"> |
| <summary> |
| The number of clicks on this app in the last 24 hours. Accurate to 15 |
| minutes. Bucketing: values above 20 rounded down to the nearest 10. |
| Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="ClicksLastHour"> |
| <summary> |
| The number of clicks on this app in the last hour. Accurate to one minute. |
| Bucketing: values above 20 rounded down to the nearest 10. Maximum value |
| of 200. |
| </summary> |
| </metric> |
| <metric name="LastLaunchedFrom"> |
| <summary> |
| Where the app was last launched from. 1: GRID, 2: SUGGESTED, 3: SHELF. |
| </summary> |
| </metric> |
| <metric name="MostRecentlyUsedIndex"> |
| <summary> |
| Index recording when in the sequence of app launch clicks the app was last |
| clicked on. 0: most recent app clicked on, 1: app clicked immediately |
| before the most recent, etc. |
| </summary> |
| </metric> |
| <metric name="SequenceNumber"> |
| <summary> |
| The sequence number of the AppListAppLaunch event that corresponds to this |
| AppListAppClickData event. There will be six AppListAppClickData events |
| for each sequence number. |
| </summary> |
| </metric> |
| <metric name="TimeSinceLastClick"> |
| <summary> |
| Time since this app was last clicked on to launch. In seconds, bucketed: |
| [1, 59] to the nearest second, [60, 599] to the nearest minute, [600, |
| 1199] to the nearest 5 minutes, [1200, 3599] to the nearest 10 minutes, |
| [3600, 17999] to the nearest 30 minutes, [18000, 86400] to the nearest |
| hour. |
| </summary> |
| </metric> |
| <metric name="TotalClicks"> |
| <summary> |
| Total number of clicks launching this app in this session. Bucketing: |
| values above 20 rounded down to the nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="AppListAppLaunch"> |
| <owner>pdyson@chromium.org</owner> |
| <summary> |
| Recorded when an app is launched from the launcher on ChromeOS. This can be |
| from the suggestion chip, or from the grid of apps. The UKM metrics are not |
| keyed by navigational urls. Instead, for Chrome apps the keys are based upon |
| the app id, for Play apps the keys are based upon a hash of the package name |
| and for PWAs the keys are the urls associated with the PWA. |
| </summary> |
| <metric name="AllClicksLast24Hours"> |
| <summary> |
| Total number of clicks launching logged apps in the last 24 hours. |
| Accurate to the nearest 15 minutes. Bucketing: values above 20 rounded |
| down to the nearest 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="AllClicksLastHour"> |
| <summary> |
| Total number of clicks launching logged apps in the last hour. Accurate to |
| the nearest minute. Bucketing: values above 20 rounded down to the nearest |
| 10. Maximum value of 200. |
| </summary> |
| </metric> |
| <metric name="AppType"> |
| <summary> |
| The type of app. 1: CHROME, 2: PLAY, 3: PWA/Bookmark app. |
| </summary> |
| </metric> |
| <metric name="ClickMethod"> |
| <summary> |
| Click method. 1: MOUSE, 2: TOUCH, 3: SYTLUS, 4: KEYBOARD. |
| </summary> |
| </metric> |
| <metric name="DayOfWeek"> |
| <summary> |
| An enum representing the day of the week that the data was logged in the |
| local time zone. Sunday = 0. |
| </summary> |
| </metric> |
| <metric name="DeviceMode"> |
| <summary> |
| The mode of the device. 1: CLOSED_LID (Lid is closed), 2: LAPTOP (Lid is |
| open, tablet mode off or unsupported) , 3: TABLET (Lid is open, tablet |
| mode on or no lid at all). |
| </summary> |
| </metric> |
| <metric name="DeviceType"> |
| <summary> |
| The type of the device. 1: TABLET, 2: LAPTOP. |
| </summary> |
| </metric> |
| <metric name="HourOfDay"> |
| <summary> |
| The hour of the day when the data is logged. Hours since midnight in the |
| local time zone. |
| </summary> |
| </metric> |
| <metric name="LaunchedFrom"> |
| <summary> |
| Where the app was launched from. 1: GRID, 2: SUGGESTED, 3: SHELF. |
| </summary> |
| </metric> |
| <metric name="PositionIndex"> |
| <summary> |
| The position of the app within the grid/suggested apps/shelf. 0 is the |
| first position. |
| </summary> |
| </metric> |
| <metric name="TotalHours"> |
| <summary> |
| Number of hours in the current session up to this event. Bucketing: |
| exponential buckets, increasing in size by 25%, rounded to the nearest |
| integer. i.e. 0, 1, 2, 3, 4, 5, 6, 7, 9, 12, 15, 18, 23, 28, 36, 44... |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill.CardUploadDecision"> |
| <owner>sebsg@chromium.org</owner> |
| <metric name="UploadDecision"> |
| <summary> |
| Whether the upload was proposed to the user or the reasons why it was not. |
| The value is a bitmask of |CardUploadDecisionMetric|. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill.CreditCardFill"> |
| <owner>schwering@google.com</owner> |
| <summary> |
| Recorded when a credit card form is autofilled. |
| </summary> |
| <metric name="Fillable.AfterSecurity.Bitmask" |
| enum="AutofillCreditCardSeamlessnessBitmask"> |
| <summary> |
| Logs the field types which Autofill would have filled if the credit card |
| on file was complete. |
| </summary> |
| </metric> |
| <metric name="Fillable.AfterSecurity.Qualitative" |
| enum="CreditCardSeamlessFill"> |
| <summary> |
| Logs a qualitative summary of the field types which Autofill would have |
| filled if the credit card on file was complete. |
| </summary> |
| </metric> |
| <metric name="Fillable.AfterSecurity.Visible.Bitmask" |
| enum="AutofillCreditCardSeamlessnessBitmask"> |
| <summary> |
| Logs the field types which Autofill would have filled into visible fields |
| if the credit card on file was complete. |
| </summary> |
| </metric> |
| <metric name="Fillable.AfterSecurity.Visible.Qualitative" |
| enum="CreditCardSeamlessFill"> |
| <summary> |
| Logs a qualitative summary of the field types which Autofill would have |
| filled into visible fields if the credit card on file was complete. |
| </summary> |
| </metric> |
| <metric name="Fillable.BeforeSecurity.Bitmask" |
| enum="AutofillCreditCardSeamlessnessBitmask"> |
| <summary> |
| Logs the field types which Autofill would have filled if the credit card |
| on file was complete and there was no security policy. |
| </summary> |
| </metric> |
| <metric name="Fillable.BeforeSecurity.Qualitative" |
| enum="CreditCardSeamlessFill"> |
| <summary> |
| Logs a qualitative summary of the field types which Autofill would have |
| filled if the credit card on file was complete and there was no security |
| policy. |
| </summary> |
| </metric> |
| <metric name="Fillable.BeforeSecurity.Visible.Bitmask" |
| enum="AutofillCreditCardSeamlessnessBitmask"> |
| <summary> |
| Logs the field types which Autofill would have filled into visible fields |
| if the credit card on file was complete and there was no security policy. |
| </summary> |
| </metric> |
| <metric name="Fillable.BeforeSecurity.Visible.Qualitative" |
| enum="CreditCardSeamlessFill"> |
| <summary> |
| Logs a qualitative summary of the field types which Autofill would have |
| filled into visible fields if the credit card on file was complete and |
| there was no security policy. |
| </summary> |
| </metric> |
| <metric name="Filled.AfterSecurity.Bitmask" |
| enum="AutofillCreditCardSeamlessnessBitmask"> |
| <summary> |
| Logs the field types which Autofill actually filled. |
| </summary> |
| </metric> |
| <metric name="Filled.AfterSecurity.Qualitative" enum="CreditCardSeamlessFill"> |
| <summary> |
| Logs a qualitative summary of the field types which Autofill actually |
| filled. |
| </summary> |
| </metric> |
| <metric name="Filled.AfterSecurity.Visible.Bitmask" |
| enum="AutofillCreditCardSeamlessnessBitmask"> |
| <summary> |
| Logs the field types which Autofill actually filled into visible fields. |
| </summary> |
| </metric> |
| <metric name="Filled.AfterSecurity.Visible.Qualitative" |
| enum="CreditCardSeamlessFill"> |
| <summary> |
| Logs a qualitative summary of the field types which Autofill actually |
| filled into visible fields. |
| </summary> |
| </metric> |
| <metric name="Filled.BeforeSecurity.Bitmask" |
| enum="AutofillCreditCardSeamlessnessBitmask"> |
| <summary> |
| Logs the field types which Autofill would have filled if there was no |
| security policy. |
| </summary> |
| </metric> |
| <metric name="Filled.BeforeSecurity.Qualitative" |
| enum="CreditCardSeamlessFill"> |
| <summary> |
| Logs a qualitative summary of the field types which Autofill would have |
| filled if there was no security policy. |
| </summary> |
| </metric> |
| <metric name="Filled.BeforeSecurity.Visible.Bitmask" |
| enum="AutofillCreditCardSeamlessnessBitmask"> |
| <summary> |
| Logs the field types which Autofill would have filled into visible fields |
| if there was no security policy. |
| </summary> |
| </metric> |
| <metric name="Filled.BeforeSecurity.Visible.Qualitative" |
| enum="CreditCardSeamlessFill"> |
| <summary> |
| Logs a qualitative summary of the field types which Autofill would have |
| filled into visible fields if there was no security policy. |
| </summary> |
| </metric> |
| <metric name="FormSignature"> |
| <summary> |
| An approximately 10-bit hash of the form's actual signature. |
| </summary> |
| </metric> |
| <metric name="SharedAutofill" enum="Boolean"> |
| <summary> |
| Missing shared-autofill feature prevented a cross-origin credit-card field |
| from being filled. Shared-autofill is a policy-controlled feature by which |
| a frame can allow a child-frame to be autofilled across origin. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill.DeveloperEngagement"> |
| <owner>jsaul@google.com</owner> |
| <summary> |
| Recorded when we parse a form to log whether developer has used autocomplete |
| markup or UPI-VPA hints. The value is a bitmask of |
| |DeveloperEngagementMetric|. |
| </summary> |
| <metric name="DeveloperEngagement"/> |
| <metric name="FormSignature"> |
| <summary> |
| The signature of the form (mod 1021). This is the hash identifier used to |
| denote this form for query and voting purposes. See |
| components/autofill/core/common/signatures.cc for more details. |
| </summary> |
| </metric> |
| <metric name="FormTypes"> |
| <summary> |
| Type of form. Stored as bitvector. A set ith bit implies enum |
| FormTypeNameForLogging's ith type was detected. Multiple types are |
| possible. |
| </summary> |
| </metric> |
| <metric name="IsForCreditCard"> |
| <summary> |
| True for credit card forms, false for address/profile forms. See |
| |FormStructure::IsCompleteCreditCardForm()|. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill.EditedAutofilledFieldAtSubmission"> |
| <owner>koerber@google.com</owner> |
| <owner>battre@google.com</owner> |
| <summary> |
| Records when a user edits a value that was filled by autofill. |
| </summary> |
| <metric name="FieldSignature"> |
| <summary> |
| The signature of the field (mod 1021). This is the hash identifier used to |
| denote this field for query and voting purposes. See |
| components/autofill/core/common/signatures.cc for more details. |
| </summary> |
| </metric> |
| <metric name="FormSignature"> |
| <summary> |
| The signature of the form (mod 1021). This is the hash identifier used to |
| denote this form for query and voting purposes. See |
| components/autofill/core/common/signatures.cc for more details. |
| </summary> |
| </metric> |
| <metric name="OverallType" enum="AutofillFieldType"> |
| <summary> |
| Field's overall |FieldType|. See: autofill::FieldType |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill.FieldFillStatus"> |
| <owner>rogerm@chromium.org</owner> |
| <summary> |
| Recorded when Chrome validates field type predictions (on submit, on leaving |
| a form, on receiving a form with autocomplete attributes). |
| </summary> |
| <metric name="FieldSignature"> |
| <summary> |
| The signature of the field (mod 1021). This is the hash identifier used to |
| denote this field for query and voting purposes. See |
| components/autofill/core/common/signatures.cc for more details. |
| </summary> |
| </metric> |
| <metric name="FormSignature"> |
| <summary> |
| The signature of the form (mod 1021). This is the hash identifier used to |
| denote this form for query and voting purposes. See |
| components/autofill/core/common/signatures.cc for more details. |
| </summary> |
| </metric> |
| <metric name="IsAutofilled"> |
| <summary> |
| The field is currently autofilled. |
| </summary> |
| </metric> |
| <metric name="MillisecondsSinceFormParsed"> |
| <summary> |
| Time since form parse. |
| </summary> |
| </metric> |
| <metric name="PredictionSource"> |
| <summary> |
| The system which generated the prediction: heuristics, server, overall. |
| </summary> |
| </metric> |
| <metric name="ValidationEvent"> |
| <summary> |
| The event which triggered the validation: Submission, Left Form, Form has |
| Autocomplete attributes. |
| </summary> |
| </metric> |
| <metric name="WasPreviouslyAutofilled"> |
| <summary> |
| The field was autofilled and subsequently edited. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill.FieldTypeValidation"> |
| <owner>rogerm@chromium.org</owner> |
| <summary> |
| Recorded when Chrome validates field type predictions (on submit, on leaving |
| a form, on receiving a form with autocomplete attributes). |
| </summary> |
| <metric name="ActualType" enum="AutofillFieldType"> |
| <summary> |
| The observed type of the field. See: autofill::FieldType |
| </summary> |
| </metric> |
| <metric name="FieldSignature"> |
| <summary> |
| The signature of the field |
| </summary> |
| </metric> |
| <metric name="FormSignature"> |
| <summary> |
| The signature of the form. |
| </summary> |
| </metric> |
| <metric name="MillisecondsSinceFormParsed"> |
| <summary> |
| Time since form parse. |
| </summary> |
| </metric> |
| <metric name="PredictedType" enum="AutofillFieldType"> |
| <summary> |
| The predicted type of the field. See: autofill::FieldType |
| </summary> |
| </metric> |
| <metric name="PredictionSource" enum="AutofillPredictionSource"> |
| <summary> |
| The system which generated the prediction: heuristics, server, overall. |
| </summary> |
| </metric> |
| <metric name="ValidationEvent" enum="AutofillQualitiyMetricType"> |
| <summary> |
| The event which triggered the validation: Submission, Left Form, Form has |
| Autocomplete attributes. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill.FormEvent"> |
| <owner>jsaul@google.com</owner> |
| <summary> |
| Recorded when user interacted with autofill. |
| </summary> |
| <metric name="AutofillFormEvent"> |
| <summary> |
| Logs autofill form events funnel. See |FormEvent|. |
| </summary> |
| </metric> |
| <metric name="FormTypes"> |
| <summary> |
| Type of form. Stored as bitvector. A set ith bit implies enum |
| FormTypeNameForLogging's ith type was detected. Multiple types are |
| possible. |
| </summary> |
| </metric> |
| <metric name="MillisecondsSinceFormParsed"> |
| <summary> |
| Time since form parse. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill.FormFillSuccessIOS"> |
| <owner>kazinova@google.com</owner> |
| <summary> |
| Records whether the form was successfully filled by Autofill on iOS. The |
| metric is used to measure silent renderer fails when the filling request is |
| executed successfully but the results reported in a callback are empty. |
| </summary> |
| <metric name="FormFillSuccess" enum="Boolean"> |
| <summary> |
| A boolean indicating success or failure. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill.HiddenRepresentationalFieldSkipDecision"> |
| <owner>parastoog@chromium.org</owner> |
| <summary> |
| Recorded while trying to fill or preview a hidden or a representational |
| field. |
| </summary> |
| <metric name="FieldOverallType"> |
| <summary> |
| Field's overall |FieldType|. See |AutofillField.GetStorableType()|. |
| </summary> |
| </metric> |
| <metric name="FieldSignature"> |
| <summary> |
| The signature of the field (mod 1021). This is the hash identifier used to |
| denote this field for query and voting purposes. See |
| components/autofill/core/common/signatures.cc for more details. |
| </summary> |
| </metric> |
| <metric name="FieldTypeGroup"> |
| <summary> |
| Field's |FieldTypeGroup|. See |AutofillType.group()|. |
| </summary> |
| </metric> |
| <metric name="FormSignature"> |
| <summary> |
| The signature of the form (mod 1021). This is the hash identifier used to |
| denote this form for query and voting purposes. See |
| components/autofill/core/common/signatures.cc for more details. |
| </summary> |
| </metric> |
| <metric name="HeuristicType"> |
| <summary> |
| Field's |FieldType| based on heuristics. See |
| |AutofillField.heuristic_type()|. |
| </summary> |
| </metric> |
| <metric name="HtmlFieldMode"> |
| <summary> |
| Whether the field's autocomplete hint specified 'billing' or 'shipping'. |
| See |AutofillField.html_mode()|. |
| </summary> |
| </metric> |
| <metric name="HtmlFieldType"> |
| <summary> |
| Field's autocomplete field type hint. See |AutofillField.html_type()|. |
| </summary> |
| </metric> |
| <metric name="IsSkipped"> |
| <summary> |
| True if the field was skipped while filling or previewing the form, |
| because it was hidden or representational, but not a 'select' one. |
| </summary> |
| </metric> |
| <metric name="ServerType"> |
| <summary> |
| Field's |FieldType| returned by server. See |AutofillField.server_type()|. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill.InteractedWithForm"> |
| <owner>jsaul@google.com</owner> |
| <summary> |
| Recorded when we parse a form to log form metadata and autofill settings |
| that apply to all subsequent events for this form. |
| </summary> |
| <metric name="FormSignature"> |
| <summary> |
| FormSignature is approximately 10 bit hash of form structure. |
| </summary> |
| </metric> |
| <metric name="FormTypes"> |
| <summary> |
| Type of form. Stored as bitvector. A set ith bit implies enum FormType's |
| ith type was detected. Multiple types are possible. |
| </summary> |
| </metric> |
| <metric name="IsForCreditCard"> |
| <summary> |
| True for credit card forms, false for address/profile forms. |
| </summary> |
| </metric> |
| <metric name="LocalRecordTypeCount"> |
| <summary> |
| Number of local credit cards or local autofill profiles. |
| </summary> |
| </metric> |
| <metric name="ServerRecordTypeCount"> |
| <summary> |
| Number of masked and full server credit cards or server autofill profiles. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill.KeyMetrics"> |
| <owner>battre@chromium.org</owner> |
| <owner>kolos@chromium.org</owner> |
| <owner>nepper@chromium.org</owner> |
| <summary> |
| These metrics are a clone of Autofill's UMA key metrics to measure Autofill |
| quality. They are recorded on navigation if a form was submitted before. |
| </summary> |
| <metric name="AutofillFills"> |
| <summary> |
| Number of Autofill fills invoked by the user on the current form. |
| </summary> |
| </metric> |
| <metric name="FastCheckoutRunId"> |
| <summary> |
| Optional, only set if a form was filled by Fast Checkout. Unique ID of a |
| Fast Checkout run. |
| </summary> |
| </metric> |
| <metric name="FillingAcceptance"> |
| <summary> |
| Has value 1 if user accepted the suggestion to fill values on a submitted |
| form, 0 otherwise. This is counted as 1 if the user accepted such a |
| suggestion at any time, regardless whether other suggestions were ignored |
| or whether the accepted suggestion was reverted afterwards. Only recorded |
| if suggestions were shown to the user. |
| </summary> |
| </metric> |
| <metric name="FillingAssistance"> |
| <summary> |
| Has value 1 if the user filled any fields via Autofill on a submitted |
| form, 0 otherwise. |
| |
| If the user reverts the filling, the form is still counted as filled. |
| |
| This metric is different from FillingAcceptance in the sense that the |
| latter is only recorded if the user has actually seen a prompt to fill |
| data. |
| </summary> |
| </metric> |
| <metric name="FillingCorrectness"> |
| <summary> |
| Has value 1 for submitted and autofilled forms if user edited at least one |
| filled value before submitting the form, 0 otherwise. Only recorded if any |
| suggestion was filled. |
| </summary> |
| </metric> |
| <metric name="FillingReadiness"> |
| <summary> |
| Has value 1 for submitted forms when Chromium had any address or payments |
| data to fill, 0 otherwise. |
| |
| It does not matter whether the user actually requested to fill the data. |
| It does not matter either whether the data available for filling |
| corresponded to the submitted data. |
| </summary> |
| </metric> |
| <metric name="FlowId"> |
| <summary> |
| Hashed GUID linking together multiple emissions of this event if emitted |
| within a 20 minutes timeframe. |
| </summary> |
| </metric> |
| <metric name="FormElementUserModifications"> |
| <summary> |
| Number of times a user focused on a form element and changed its value. |
| Consecutive value changes on the same form element are not counted, |
| neither are JS invoked changes. Also, re-focusing a form element and |
| changing its value is only counted if another form element's value was |
| changed in the meantime. |
| </summary> |
| </metric> |
| <metric name="FormTypes"> |
| <summary> |
| Type of form. Stored as bitvector. A set ith bit implies enum |
| FormTypeNameForLogging's ith type was detected. Multiple types are |
| possible. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill.RepeatedServerTypePredictionRationalized"> |
| <owner>parastoog@chromium.org</owner> |
| <summary> |
| Recorded when a field type predicted by server is rationalized because of |
| repetition. |
| </summary> |
| <metric name="FieldNewOverallType"> |
| <summary> |
| Field's overall |FieldType| after rationalization. See |
| |AutofillField.GetStorableType()|. |
| </summary> |
| </metric> |
| <metric name="FieldOldOverallType"> |
| <summary> |
| Field's overall |FieldType| before rationalization. See |
| |AutofillField.GetStorableType()|. |
| </summary> |
| </metric> |
| <metric name="FieldSignature"> |
| <summary> |
| The signature of the field (mod 1021). This is the hash identifier used to |
| denote this field for query and voting purposes. See |
| components/autofill/core/common/signatures.cc for more details. |
| </summary> |
| </metric> |
| <metric name="FieldTypeGroup"> |
| <summary> |
| Field's |FieldTypeGroup|. See |AutofillType.group()|. |
| </summary> |
| </metric> |
| <metric name="FormSignature"> |
| <summary> |
| The signature of the form (mod 1021). This is the hash identifier used to |
| denote this form for query and voting purposes. See |
| components/autofill/core/common/signatures.cc for more details. |
| </summary> |
| </metric> |
| <metric name="HeuristicType"> |
| <summary> |
| Field's |FieldType| based on heuristics. See |
| |AutofillField.heuristic_type()|. |
| </summary> |
| </metric> |
| <metric name="HtmlFieldMode"> |
| <summary> |
| Whether the field's autocomplete hint specified 'billing' or 'shipping'. |
| See |AutofillField.html_mode()|. |
| </summary> |
| </metric> |
| <metric name="HtmlFieldType"> |
| <summary> |
| Field's autocomplete field type hint. See |AutofillField.html_type()|. |
| </summary> |
| </metric> |
| <metric name="ServerType"> |
| <summary> |
| Field's |FieldType| returned by server. See |AutofillField.server_type()|. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill.Sectioning"> |
| <owner>fleimgruber@google.com</owner> |
| <owner>schwering@google.com</owner> |
| <summary> |
| Recorded after sectioning is performed when the server classification |
| arrived, and only when `AutofillUseParameterizedSectioning` is enabled. |
| </summary> |
| <metric name="FormSignature"> |
| <summary> |
| A 10-bit hash of the form's signature. |
| </summary> |
| </metric> |
| <metric name="SectioningSignature"> |
| <summary> |
| A 10-bit hash of the form's computed sections. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill.SuggestionFilled"> |
| <owner>jsaul@google.com</owner> |
| <summary> |
| Recorded when user selects a suggestion and we fill the form with that |
| suggestion. |
| </summary> |
| <metric name="FieldSignature"> |
| <summary> |
| The signature of the field |
| </summary> |
| </metric> |
| <metric name="FormSignature"> |
| <summary> |
| The signature of the form. |
| </summary> |
| </metric> |
| <metric name="IsForCreditCard"> |
| <summary> |
| True for credit card forms, false for address/profile forms. |
| </summary> |
| </metric> |
| <metric name="MillisecondsSinceFormParsed"> |
| <summary> |
| Time since form parse. |
| </summary> |
| </metric> |
| <metric name="RecordType"> |
| <summary> |
| Whether the suggestion was from a local card/autofill profile or from a |
| server card/autofill profile. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill.SuggestionsShown"> |
| <owner>jsaul@google.com</owner> |
| <summary> |
| Recorded when a suggestion is shown to user. |
| </summary> |
| <metric name="FieldSignature"> |
| <summary> |
| The signature of the field |
| </summary> |
| </metric> |
| <metric name="FormSignature"> |
| <summary> |
| The signature of the form. |
| </summary> |
| </metric> |
| <metric name="HeuristicType"> |
| <summary> |
| Field's |FieldType| based on heuristics. See |
| |AutofillField.heuristic_type()|. |
| </summary> |
| </metric> |
| <metric name="HtmlFieldType"> |
| <summary> |
| Field's autocomplete field type hint. See |AutofillField.html_type()|. |
| </summary> |
| </metric> |
| <metric name="MillisecondsSinceFormParsed"> |
| <summary> |
| Time since form parse. |
| </summary> |
| </metric> |
| <metric name="ServerType"> |
| <summary> |
| Field's |FieldType| returned by server. See |AutofillField.server_type()|. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill.TextFieldDidChange"> |
| <owner>jsaul@google.com</owner> |
| <summary> |
| Recorded when user edits a text field. The text field may have been |
| autofilled. |
| </summary> |
| <metric name="FieldSignature"> |
| <summary> |
| The signature of the field |
| </summary> |
| </metric> |
| <metric name="FieldTypeGroup"> |
| <summary> |
| Field's |FieldTypeGroup|. See |AutofillType.group()|. |
| </summary> |
| </metric> |
| <metric name="FormSignature"> |
| <summary> |
| The signature of the form. |
| </summary> |
| </metric> |
| <metric name="HeuristicType"> |
| <summary> |
| Field's |FieldType| based on heuristics. See |
| |AutofillField.heuristic_type()|. |
| </summary> |
| </metric> |
| <metric name="HtmlFieldMode"> |
| <summary> |
| Whether the field's autocomplete hint specified 'billing' or 'shipping'. |
| See |AutofillField.html_mode()|. |
| </summary> |
| </metric> |
| <metric name="HtmlFieldType"> |
| <summary> |
| Field's autocomplete field type hint. See |AutofillField.html_type()|. |
| </summary> |
| </metric> |
| <metric name="IsAutofilled"> |
| <summary> |
| True if the field was autofilled. See |AutofillField.is_autofilled|. |
| </summary> |
| </metric> |
| <metric name="IsEmpty"> |
| <summary> |
| True if the field was empty. See |AutofillField.IsEmpty()|. |
| </summary> |
| </metric> |
| <metric name="MillisecondsSinceFormParsed"> |
| <summary> |
| Time since form parse. |
| </summary> |
| </metric> |
| <metric name="ServerType"> |
| <summary> |
| Field's |FieldType| returned by server. See |AutofillField.server_type()|. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill2.AddressProfileImport"> |
| <owner>vidhanj@google.com</owner> |
| <owner>koerber@google.com</owner> |
| <owner>chrome-autofill-alerts@google.com</owner> |
| <summary> |
| Recorded after a form submission that either resulted in a save prompt for |
| addresses or in a silent update of an already existing profile. |
| </summary> |
| <metric name="AutocompleteUnrecognizedImport" enum="Boolean"> |
| <summary> |
| Logs if data was imported from a field that has autocomplete=UNRECOGNIZED. |
| </summary> |
| </metric> |
| <metric name="DuplicationRank"> |
| <summary> |
| Minimum number of fields whose removal makes the import candidate a |
| duplicate of any existing profile. If the duplication rank is 1, the |
| import candidate can be called a quasi-duplicate of an existing profile. |
| Only recorded for new profiles and if a stored profile existed. |
| </summary> |
| </metric> |
| <metric name="ImportType" enum="AutofillProfileImportType"> |
| <summary> |
| Logs the import type of the storage prompt. An import type can be either |
| the import of a new profile, an update of an existing profile that results |
| in a confirmation dialog, or a silent update that only changes the |
| structure of an already stored address but does not affect any |
| settings-visible stored data. |
| </summary> |
| </metric> |
| <metric name="NumberOfEditedFields"> |
| <summary> |
| Logs the count for the number of fields that have been edited by the user |
| in the storage dialog before the storage was confirmed. |
| </summary> |
| </metric> |
| <metric name="PhoneNumberStatus" enum="AutofillPhoneImportValidity"> |
| <summary> |
| Logs the phone number validity status based on whether the phone number |
| was imported in the profile or not or removed beforehand. |
| </summary> |
| </metric> |
| <metric name="UserDecision" enum="AutofillProfileImportDecision"> |
| <summary> |
| Logs the user decision based on the storage prompt. |
| </summary> |
| </metric> |
| <metric name="UserHasExistingProfile" enum="Boolean"> |
| <summary> |
| True if the user had already saved an address profile, false otherwise. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill2.FieldInfo"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-team@google.com</owner> |
| <summary> |
| All information about a specific field, recorded at form submission or form |
| destruction time (whatever comes first). |
| </summary> |
| <metric name="AutocompleteState" enum="AutofillAutocompleteState"> |
| <summary> |
| The field's autocomplete attribute value, the values are from |
| |AutofillMetrics::AutocompleteState|. |
| </summary> |
| </metric> |
| <metric name="AutofillSkippedStatus"> |
| <summary> |
| Whether filling the field was skipped during autofill, and if it was |
| skipped, what the skipping reasons were. Recorded as a DenseSet of |
| |FieldFillingSkipReason|. |
| </summary> |
| </metric> |
| <metric name="AutofillStatusVector"> |
| <summary> |
| A bit vector of autofill statuses for a field, listed in |
| |AutofillMetrics::AutofillStatus|. The first bit represents whether the |
| field is focusable, the second means whether the field was focused.... |
| These autofill statuses will not be stored in UKM individually. We create |
| functions to read the individual autofill status from a bit vector in |
| queries. go/zmwtc |
| </summary> |
| </metric> |
| <metric name="FieldLogEventCount"> |
| <summary> |
| The total number of all the field log events created for this field. |
| </summary> |
| </metric> |
| <metric name="FieldSessionIdentifier"> |
| <summary> |
| A random variable assigned to a specific instance of a form control (e.g. |
| a HTML input element). This should be globally unique and suitable for |
| distinguishing fields. Two different users would have different values. |
| For the same user, the same field in the same form in two different tabs |
| would have two different values. |
| </summary> |
| </metric> |
| <metric name="FieldSignature"> |
| <summary> |
| The signature of the field, a 10 bit hash value (0-1021) of the field name |
| and field type used to denote this field for query and voting purposes. |
| </summary> |
| </metric> |
| <metric name="FormControlType2" enum="AutofillFormControlType2"> |
| <summary> |
| A form control type of a web form-associated element. We only list the |
| ones that are handled by Autofill, see |autofill::FormControlType|. |
| </summary> |
| </metric> |
| <metric name="FormSessionIdentifier"> |
| <summary> |
| A random variable assigned to a specific instance of a HTML form in a |
| specific renderer. This should be globally unique and suitable for |
| counting distinct forms. Two different users would have different values. |
| A single user loading the same form in two different tabs would have two |
| different values. This is used to link the fields to a form in |
| Autofill2.FormSummary. |
| </summary> |
| </metric> |
| <metric name="HeuristicType" enum="AutofillFieldType"> |
| <summary> |
| There are multiple heuristic classification strategies working in |
| parallel. This type is predicted from the active pattern source. |
| </summary> |
| </metric> |
| <metric name="HeuristicTypeDefault" enum="AutofillFieldType"> |
| <summary> |
| The type of the field predicted from the source of local heuristics on the |
| client, which uses patterns applied for most users, the types are from |
| |autofill::FieldType|. |
| </summary> |
| </metric> |
| <metric name="HeuristicTypeExperimental" enum="AutofillFieldType"> |
| <summary> |
| The type of the field predicted from the heuristics that uses experimental |
| patterns, the types are from |autofill::FieldType|. |
| </summary> |
| </metric> |
| <metric name="HeuristicTypeLegacy" enum="AutofillFieldType"> |
| <summary> |
| The type of the field predicted from patterns whose stability is above |
| suspicion, the types are from |autofill::FieldType|. |
| </summary> |
| </metric> |
| <metric name="HtmlFieldMode" enum="AutocompleteHtmlFieldMode"> |
| <summary> |
| The mode according to the autocomplete attribute of a field. Only set if a |
| field has a valid autocomplete attribute. Currently this is used to |
| specify if the field is part of the billing or shipping address. See |
| autofill::mojom::HtmlFieldMode. |
| </summary> |
| </metric> |
| <metric name="HtmlFieldType" enum="AutocompleteHtmlFieldType"> |
| <summary> |
| The field type specified in the autocomplete attribute of the field. Only |
| set if a field has a valid autocomplete attribute. See |
| autofill::mojom::HtmlFieldType. |
| </summary> |
| </metric> |
| <metric name="OverallType" enum="AutofillFieldType"> |
| <summary> |
| The final field type from the list of |autofill::FieldType| that we choose |
| after rationalization, which is used to determine the autofill suggestion |
| when the user triggers autofilling. |
| </summary> |
| </metric> |
| <metric name="RankInFieldSignatureGroup"> |
| <summary> |
| If multiple fields have the same signature, this indicates the position |
| within this set of fields. This allows us to understand problems related |
| to duplicated field signatures. |
| </summary> |
| </metric> |
| <metric name="SectionId"> |
| <summary> |
| A single HTML form can consist of multiple sections. A section is a set of |
| fields that are filled together. For example a single form can contain a |
| shipping and a billing address. Each of those corresponds to one section. |
| The sections are mapped to consecutive natural numbers starting at 1. The |
| section IDs are unique per form. |
| </summary> |
| </metric> |
| <metric name="ServerPredictionSource1" enum="AutofillServerPredictionSource"> |
| <summary> |
| The major source of predictions from the Autofill crowdsourced server, see |
| AutofillQueryResponse::FormSuggestion::FieldSuggestion::FieldPrediction::Source. |
| </summary> |
| </metric> |
| <metric name="ServerPredictionSource2" enum="AutofillServerPredictionSource"> |
| <summary> |
| The additional source of predictions from the Autofill crowdsourced server |
| if there is an additional prediction, see |
| AutofillQueryResponse::FormSuggestion::FieldSuggestion::FieldPrediction::Source. |
| </summary> |
| </metric> |
| <metric name="ServerType1" enum="AutofillFieldType"> |
| <summary> |
| The type of the field predicted from the Autofill crowdsourced server from |
| majority voting (and some more complex stuff). The types are from |
| |autofill::FieldType|. |
| </summary> |
| </metric> |
| <metric name="ServerType2" enum="AutofillFieldType"> |
| <summary> |
| The additional type of the field predicted from the Autofill crowdsourced |
| server if there is an additional prediction. The types are from |
| |autofill::FieldType|. |
| </summary> |
| </metric> |
| <metric name="ServerTypeIsOverride" enum="Boolean"> |
| <summary> |
| This is an annotation for server predicted field types which indicates |
| that a manual override defines the server type. This allows us to assess |
| the impact of server overrides and detect possible problems with it. |
| </summary> |
| </metric> |
| <metric name="TypeChangedByRationalization" enum="Boolean"> |
| <summary> |
| Whether the field's type was changed by running the rationalization. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill2.FieldInfoAfterSubmission"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-team@google.com</owner> |
| <summary> |
| Information about a specific field, recorded after form submission. |
| </summary> |
| <metric name="FieldSessionIdentifier"> |
| <summary> |
| A random variable assigned to a specific instance of a form control (e.g. |
| a HTML input element). This should be globally unique and suitable for |
| distinguishing fields. Two different users would have different values. |
| For the same user, the same field in the same form in two different tabs |
| would have two different values. FormSessionIdentifier and |
| FieldSessionIdentifier together are used to link to the field in |
| Autofill2.FieldInfo. |
| </summary> |
| </metric> |
| <metric name="FormSessionIdentifier"> |
| <summary> |
| A random variable assigned to a specific instance of a HTML form in a |
| specific renderer. This should be globally unique and suitable for |
| counting distinct forms. Two different users would have different values. |
| A single user loading the same form in two different tabs would have two |
| different values. FormSessionIdentifier and FieldSessionIdentifier |
| together are used to link to the field in Autofill2.FieldInfo. |
| </summary> |
| </metric> |
| <metric name="MillisecondsFromFormParsedUntilSubmission"> |
| <summary> |
| The time interval from form parse to form submission in ms in exponential |
| buckets from |GetSemanticBucketMinForDurationTiming()|. |
| </summary> |
| </metric> |
| <metric name="SubmissionSource" enum="AutofillSubmissionSource"> |
| <summary> |
| The source of form submission. The source is from |
| autofill::mojom::SubmissionSource. |
| </summary> |
| </metric> |
| <metric name="SubmittedType1" enum="AutofillFieldType"> |
| <summary> |
| The first possible field submitted type is determined by comparing the |
| submitted value in the field with the stored user profiles. We will have |
| at most three possible field submitted types. The types are from |
| |autofill::FieldType|. |
| </summary> |
| </metric> |
| <metric name="SubmittedType2" enum="AutofillFieldType"> |
| <summary> |
| The second possible field submitted type is determined by comparing the |
| submitted value in the field with the stored user profiles. We will have |
| at most three possible field submitted types. The types are from |
| |autofill::FieldType|. |
| </summary> |
| </metric> |
| <metric name="SubmittedType3" enum="AutofillFieldType"> |
| <summary> |
| The third possible field submitted type is determined by comparing the |
| submitted value in the field with the stored user profiles. We will have |
| at most three possible field submitted types. The types are from |
| |autofill::FieldType|. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill2.FocusedComplexForm"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-team@google.com</owner> |
| <summary> |
| Tracks metrics of forms of type FormTypeNameForLogging::kPostalAddress and |
| FormTypeNameForLogging::kCreditCard - if at least one field was focused |
| whose type did not belong to FormType::kUnknownFormType. Autofocus on page |
| load, focus-by-pressing-the-tab-key and focus-by-tapping/clicking count as |
| focus events. The event name contains the term "complex forms" |
| because only forms of type FormTypeNameForLogging::kPostalAddress and |
| FormTypeNameForLogging::kCreditCard are logged (to save space and |
| bandwidth). The event is recorded when the form object is deallocated. |
| </summary> |
| <metric name="AutofillDataQueried"> |
| <summary> |
| A bit-vector with bits set according to `FormType`. A set bit indicates |
| that at least one field of the `FormType` was focused via a tap or click |
| such that the field was eligible for an autofill if data existed. |
| </summary> |
| </metric> |
| <metric name="Autofilled"> |
| <summary> |
| A bit-vector with bits set according to `FormType`. A set bit indicates |
| that at least one field of type `FormType` was autofilled at least once |
| (if the autofill is reverted or modified, this is ignored). |
| </summary> |
| </metric> |
| <metric name="DayInAblationWindow"> |
| <summary> |
| For an ablation experiment we define a grid of 14-day windows. The |
| ablation state is determined by a hash value of a user-seed (random |
| number), the main frame origin, the ablation window. If, for example, an |
| ablation window lasts 14 days, this can be a value between 0 and 13. It |
| indicates whether the user is in the begining or at the end of an ablation |
| window. |
| </summary> |
| </metric> |
| <metric name="EditedAfterAutofill"> |
| <summary> |
| A bit-vector with bits set according to `FormType`. A set bit indicates |
| that at least one field of type `FormType` was autofilled and later |
| modified by the user. |
| </summary> |
| </metric> |
| <metric name="FormSessionIdentifier"> |
| <summary> |
| A random variable assigned to a specific instance of a HTML form in a |
| specific renderer. This should be globally unique and suitable for |
| counting distinct forms. Two different users would have different values. |
| A single user loading the same form in two different tabs would have two |
| different values. This is used to link the fields in this form in |
| Autofill2.FieldInfo and more details in Autofill2.FormSummary. |
| </summary> |
| </metric> |
| <metric name="FormSignature"> |
| <summary> |
| The signature of the form (mod 1021). This is the hash identifier used to |
| denote this form. See components/autofill/core/common/signatures.cc for |
| more details. |
| </summary> |
| </metric> |
| <metric name="FormTypes"> |
| <summary> |
| Bit vector with the following bits from FormTypeNameForLogging: - |
| kUnknownFormType (1<<0), - kAddressForm (1<<1), - |
| kCreditCardForm (1<<2) (A form with any field classified as a CC |
| field), - kPasswordForm (1<<3), - kStandaloneCvcForm (1<<4), - |
| kEmailOnlyForm (1<<5), - kPostalAddressForm (1<<6), Note that |
| a form needs to be a kCreditCardForm or kPostalAddressForm to be logged. |
| </summary> |
| </metric> |
| <metric name="HadNonEmptyValueAtSubmission"> |
| <summary> |
| A bit-vector with bits set according to `FormType`. A set bit indicates |
| that at least one field of type `FormType` was non-empty at submission |
| time. |
| </summary> |
| </metric> |
| <metric name="IsAblationStudyInDryRunMode"> |
| <summary> |
| If 1, the ablation study is in dry run mode, meaning that clients are |
| diverted into ablation and control groups, but they observe no behavioral |
| change. |
| </summary> |
| </metric> |
| <metric name="IsInAblationGroupOfAblation"> |
| <summary> |
| A bit-vector with bits set according to `FormType`. A set bit indicates |
| that that for this form and the respective form type, the user was in the |
| ablation group, meaning that the user did not get the autofill UI, |
| regardless whether they had data available for filling. |
| </summary> |
| </metric> |
| <metric name="IsInAblationGroupOfConditionalAblation"> |
| <summary> |
| A bit-vector with bits set according to `FormType`. A set bit indicates |
| that that for this form and the respective form type, the user was in the |
| conditional ablation group, meaning that the user had data that could be |
| filled, but the filling was suppressed due to the ablation. |
| </summary> |
| </metric> |
| <metric name="IsInControlGroupOfAblation"> |
| <summary> |
| A bit-vector with bits set according to `FormType`. A set bit indicates |
| that that for this form and the respective form type, the user was in the |
| ablation control group. This is the corresponding control group to |
| IsInAblationGroupOfAblation. Autofill is not disabled but metrics are |
| recorded. |
| </summary> |
| </metric> |
| <metric name="IsInControlGroupOfConditionalAblation"> |
| <summary> |
| A bit-vector with bits set according to `FormType`. A set bit indicates |
| that that for this form and the respective form type, the user was in the |
| conditional ablation control group. This is the corresponding control |
| group to IsInAblationGroupOfConditionalAblation. Autofill is not disabled |
| but metrics are recorded. |
| </summary> |
| </metric> |
| <metric name="MillisecondsFromFirstInteractionUntilSubmission"> |
| <summary> |
| The time interval from first interaction on the form to form submission in |
| ms in buckets from |GetSemanticBucketMinForAutofillDurationTiming()|. An |
| interaction is defined as modifying the value of any field in the form. |
| </summary> |
| </metric> |
| <metric name="SuggestionsAvailable"> |
| <summary> |
| A bit-vector with bits set according to `FormType`. A set bit indicates |
| that for at least one field of type `FormType` a suggestion was queried |
| and available for the user. A bit is unset if no suggestions were queried |
| for a form type. |
| </summary> |
| </metric> |
| <metric name="UserModified"> |
| <summary> |
| A bit-vector with bits set according to `FormType`. A set bit indicates |
| that at least one field of the `FormType` was modified by the user (typed |
| text, pasted text or autofilled). |
| </summary> |
| </metric> |
| <metric name="WasSubmitted" enum="Boolean"> |
| <summary> |
| Whether the form was submitted. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill2.FormSummary"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-team@google.com</owner> |
| <summary> |
| Information recorded for a HTML form element on the HTML page, recorded at |
| form submission or form destruction time (whatever comes first). |
| </summary> |
| <metric name="AutofillFormEvents"> |
| <summary> |
| A bit vector of some autofill form events that records a funnel of this |
| autofill form. The autofill form events are from an enum list specifying |
| the possible status of the autofill forms, such as if a dropdown with |
| suggestions was shown, if the user interacted with a field in the form. |
| Some of the events are triggered separately for address and credit card |
| forms, e.g. if all the fillable fields in the credit card forms were |
| filled. New form events can be added over time and a form can have |
| multiple form events. This bit vector stored only events 0..63. |
| </summary> |
| </metric> |
| <metric name="AutofillFormEvents2"> |
| <summary> |
| A bit vector of some autofill form events that records a funnel of this |
| autofill form. This contains the entries 64...127 shifted right by 64 |
| bits. |
| </summary> |
| </metric> |
| <metric name="FormSessionIdentifier"> |
| <summary> |
| A random variable assigned to a specific instance of a HTML form in a |
| specific renderer. This should be globally unique and suitable for |
| counting distinct forms. Two different users would have different values. |
| A single user loading the same form in two different tabs would have two |
| different values. This is used to link the fields in this form in |
| Autofill2.FieldInfo. |
| </summary> |
| </metric> |
| <metric name="FormSignature"> |
| <summary> |
| The signature of the form, which is a 10-bit hash of the form's domain, |
| name and all the supported form fields (including empty names). |
| </summary> |
| </metric> |
| <metric name="MillisecondsFromFirstInteratctionUntilSubmission"> |
| <summary> |
| The time interval from first interaction on the form to form submission in |
| ms in exponential buckets from |GetSemanticBucketMinForDurationTiming()|. |
| An interaction is defined as modifying the value of any field in the form. |
| </summary> |
| </metric> |
| <metric name="MillisecondsFromFormParsedUntilSubmission"> |
| <summary> |
| The time interval from form parse to form submission in ms in exponential |
| buckets from |GetSemanticBucketMinForDurationTiming()|. |
| </summary> |
| </metric> |
| <metric name="SampleRate"> |
| <summary> |
| A sampling rate is a precomputed positive integer and is applied to each |
| form and adaptive to the popularity of forms. The most popular forms are |
| classified into a `very popular` category and maybe apply a 1:100 sampling |
| while the less popular forms have a sampling of 1:1. If the sampling is |
| 1:X, this sample rate value stores the `X`. |
| </summary> |
| </metric> |
| <metric name="WasSubmitted" enum="Boolean"> |
| <summary> |
| Whether the form was submitted. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Autofill2.SubmittedFormWithExperimentalFields"> |
| <owner>battre@chromium.org</owner> |
| <owner>chrome-autofill-team@google.com</owner> |
| <summary> |
| Statistics on the number of non-empty experimental field-types in submitted |
| forms, recorded at form submission time. |
| </summary> |
| <metric name="FormSessionIdentifier"> |
| <summary> |
| A random variable assigned to a specific instance of a HTML form in a |
| specific renderer. This should be globally unique and suitable for |
| counting distinct forms. Two different users would have different values. |
| A single user loading the same form in two different tabs would have two |
| different values. This is used to link the fields in this form in |
| Autofill2.FieldInfo. |
| </summary> |
| </metric> |
| <metric name="FormSignature"> |
| <summary> |
| The signature of the form, which is a 10-bit hash of the form's domain, |
| name and all the supported form fields (including empty names). |
| </summary> |
| </metric> |
| <metric name="NumberOfNonEmptyExperimentalFields0"> |
| <summary> |
| The total number of non-empty experimental fields in the form in group 0. |
| </summary> |
| </metric> |
| <metric name="NumberOfNonEmptyExperimentalFields1"> |
| <summary> |
| The total number of non-empty experimental fields in the form in group 1. |
| </summary> |
| </metric> |
| <metric name="NumberOfNonEmptyExperimentalFields2"> |
| <summary> |
| The total number of non-empty experimental fields in the form in group 2. |
| </summary> |
| </metric> |
| <metric name="NumberOfNonEmptyExperimentalFields3"> |
| <summary> |
| The total number of non-empty experimental fields in the form in group 3. |
| </summary> |
| </metric> |
| <metric name="NumberOfNonEmptyExperimentalFields4"> |
| <summary> |
| The total number of non-empty experimental fields in the form in group 4. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="BackForwardCacheDisabledForRenderFrameHostReason"> |
| <owner>altimin@chromium.org</owner> |
| <owner>hajimehoshi@chromium.org</owner> |
| <summary> |
| Recorded at a history commit for each reason passed to |
| BackForwardCache::DisableForRenderFrameHost. The source IDs match with the |
| source IDs of HistoryNavigation events. |
| </summary> |
| <metric name="Reason2" |
| enum="BackForwardCacheDisabledForRenderFrameHostReason2"> |
| <summary> |
| For history navigations, records the reason passed to |
| BackForwardCache::DisableForRenderFrameHost calls. The reason is specified |
| as a 48-bit int representing the source (blink or an embedder) and a |
| source-specific 16-bit int representing the reason specific to that |
| source. |
| |
| The metric is recorded when a history navigation commits and emits a |
| sample for each reason. One history navigation can emit multiple reasons, |
| and these reasons are recorded as multiple events with the same source ID |
| based on the navigation ID. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="BackForwardCacheDisallowActivationReason"> |
| <owner>altimin@chromium.org</owner> |
| <owner>hajimehoshi@chromium.org</owner> |
| <owner>fergal@chromium.org</owner> |
| <summary> |
| Recorded at a history commit for each reason passed to |
| RenderFrameHost::IsInactiveAndDisallowActivation. The source IDs match with |
| the source IDs of HistoryNavigation events. |
| </summary> |
| <metric name="Reason" enum="InactiveFrameDisallowActivationReason"> |
| <summary> |
| For history navigations, records the reason passed to |
| RenderFrameHost::IsInactiveAndDisallowActivation. |
| |
| The metric is recorded when a history navigation commits and emits a |
| sample for each reason. One history navigation can emit multiple reasons, |
| and these reasons are recorded as multiple events with the same source ID |
| based on the navigation ID. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="BackgroundFetch"> |
| <owner>nator@chromium.org</owner> |
| <owner>rayankans@chromium.org</owner> |
| <owner>peter@chromium.org</owner> |
| <summary> |
| A BackgroundFetch event is logged before a background fetch is started from |
| a document context. |
| </summary> |
| <metric name="DeniedDueToPermissions"> |
| <summary> |
| Boolean for whether the background fetch was denied due to permission. |
| This includes only the content setting permission. |
| </summary> |
| </metric> |
| <metric name="DownloadTotal"> |
| <summary> |
| The value of downloadTotal provided with the background fetch. This is the |
| number of bytes that the developer expects to be downloaded with the |
| background fetch. This number is exponentially bucketed for privacy |
| reasons, and uses the UKM GetExponentialBucketMin method with a value of |
| 2.0 for spacing. |
| </summary> |
| </metric> |
| <metric name="HasTitle"> |
| <summary> |
| Boolean for whether a title was provided with the background fetch. |
| </summary> |
| </metric> |
| <metric name="NumIcons"> |
| <summary> |
| Count of icons provided with the background fetch. |
| </summary> |
| </metric> |
| <metric name="NumRequestsInFetch"> |
| <summary> |
| Number of requests in the background fetch. This number is exponentially |
| bucketed for privacy reasons, and uses the UKM GetExponentialBucketMin |
| method with a value of 2.0 for spacing. |
| </summary> |
| </metric> |
| <metric name="RatioOfIdealToChosenIconSize"> |
| <summary> |
| Ratio of the ideal icon to the chosen icon size, times hundred. This will |
| be set to -1 if either ideal icon size is 0, or if none of the provided |
| icons are suitable. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="BackgroundFetchDeletingRegistration"> |
| <owner>nator@chromium.org</owner> |
| <owner>rayankans@chromium.org</owner> |
| <owner>peter@chromium.org</owner> |
| <summary> |
| A BackgroundFetchDeletingRegistration event is logged when a background |
| fetch job is being deleted. |
| </summary> |
| <metric name="UserInitiatedAbort"> |
| <summary> |
| Boolean for whether the background fetch job was cancelled from the UI. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="BackgroundSyncCompleted"> |
| <owner>nator@chromium.org</owner> |
| <owner>rayankans@chromium.org</owner> |
| <owner>peter@chromium.org</owner> |
| <summary> |
| Logged when a Background Sync one-shot registration is completed. |
| </summary> |
| <metric name="MaxAttempts"> |
| <summary> |
| Integer value of the maximum number of allowed retries. |
| </summary> |
| </metric> |
| <metric name="NumAttempts"> |
| <summary> |
| Integer value of the number of retries / sync events dispatched. |
| </summary> |
| </metric> |
| <metric name="Status"> |
| <summary> |
| The enum value of the completion status, defined in |
| blink::ServiceWorkerStatusCode. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="BackgroundSyncRegistered"> |
| <owner>nator@chromium.org</owner> |
| <owner>rayankans@chromium.org</owner> |
| <owner>peter@chromium.org</owner> |
| <summary> |
| Logged when a one-shot Background Sync registration is created. |
| </summary> |
| <metric name="CanFire"> |
| <summary> |
| Boolean for whether a sync event can be immediately dispatched for this |
| registration. |
| </summary> |
| </metric> |
| <metric name="IsReregistered"> |
| <summary> |
| Boolean for whether this is a duplicate registration. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Badging"> |
| <owner>phillis@chromium.org</owner> |
| <owner>cmumford@chromium.org</owner> |
| <summary> |
| Metrics that measure the use of Badging API |
| </summary> |
| <metric name="UpdateAppBadge" enum="UpdateAppBadgeTypes"> |
| <summary> |
| Logged when navigator.setAppBadge or navigator.clearAppBadge is called. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Blink.ContentManagementSystem.Versions" singular="True"> |
| <owner>felixarntz@google.com</owner> |
| <owner>nrosenthal@chromium.org</owner> |
| <summary> |
| Metrics stating the detected major+minor version of known content management |
| systems when detected. This event is recorded when the page is loaded. For |
| interoperability with the framework detection above, this reports each |
| content management system individually instead of a single number. The |
| version numbers here are a bit mask: 0xMMmm (Major+minor), e.g. version 16.3 |
| would be 0x1003 |
| </summary> |
| <metric name="DrupalVersion"> |
| <summary> |
| A bitmask (0xMMmm) representing the Drupal version |
| </summary> |
| </metric> |
| <metric name="WordPressVersion"> |
| <summary> |
| A bitmask (0xMMmm) representing the WordPress version |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Blink.DeveloperMetricsRare"> |
| <owner>foolip@chromium.org</owner> |
| <owner>chrome-webdev-metrics@google.com</owner> |
| <summary> |
| Collects data for a subset of UseCounter features of interest to the Web |
| Platform Developer Metrics team due to their recent launch or potential for |
| spec changes. Features reported in this set should be rare, appearing in |
| fewer than 5% of page loads. |
| </summary> |
| <metric name="Feature" enum="FeatureObserver"> |
| <summary> |
| Opt-in UseCounter feature, listed in |
| components/page_load_metrics/browser/observers/use_counter/webdev_metrics_ukm_features.cc |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="IsMainFrameFeature" enum="Boolean"> |
| <summary> |
| Emits True(1) or False(0) to indicate whether the Feature recorded is in |
| the main frame or not. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Blink.FedCm"> |
| <owner>yigu@chromium.org</owner> |
| <owner>web-identity-eng@google.com</owner> |
| <summary> |
| Records performance metrics for FedCM(Federated Credential Management) API. |
| </summary> |
| <metric name="AccountsDialogShown" enum="BooleanHit"> |
| <summary> |
| Records a 1 each time an accounts dialog is shown. |
| </summary> |
| </metric> |
| <metric name="AccountsRequestSent" enum="BooleanHit"> |
| <summary> |
| Records a 1 each time a request is sent to the accounts endpoint. |
| </summary> |
| </metric> |
| <metric name="AutoReauthn.BlockedByContentSettings" enum="Boolean"> |
| <summary> |
| Records whether the FedCM auto re-authn call is blocked because the auto |
| re-authn content settings permission is disabled. Records at most one |
| sample per FedCM API with auto re-authn enabled: some failures could occur |
| before this metric is recorded. |
| </summary> |
| </metric> |
| <metric name="AutoReauthn.BlockedByEmbargo" enum="Boolean"> |
| <summary> |
| Records whether the FedCM auto re-authn call is blocked because the auto |
| re-authn is under embargo, i.e. due to cooldown. Records at most one |
| sample per FedCM API with auto re-authn enabled: some failures could occur |
| before this metric is recorded. |
| </summary> |
| </metric> |
| <metric name="AutoReauthn.BlockedByPreventSilentAccess" enum="Boolean"> |
| <summary> |
| Records whether the FedCM auto re-authn call is blocked because |
| preventSilentAccess() has been called on this site. Records at most one |
| sample per FedCM API with auto re-authn enabled: some failures could occur |
| before this metric is recorded. |
| </summary> |
| </metric> |
| <metric name="AutoReauthn.ReturningAccounts" enum="FedCmNumAccounts"> |
| <summary> |
| Records whether there was zero, one, or multiple returning accounts when a |
| site calls the FedCM API with autoReauthn: true. Records at most one |
| sample per failed API call: some failures could occur before this metric |
| is recorded. |
| </summary> |
| </metric> |
| <metric name="AutoReauthn.Succeeded" enum="Boolean"> |
| <summary> |
| Records whether auto re-authn checks succeeded or not. The count would |
| provide roughly the number of FedCM re-authn attempts, the true count |
| would provide the number of times the re-authn UI is shown to the user, |
| and the false count would provide the number of attempts where auto |
| re-authn was blocked for some non-network related reason. Records at most |
| one sample per FedCM API with auto re-authn enabled: some failures could |
| occur before this metric is recorded. |
| </summary> |
| </metric> |
| <metric name="AutoReauthn.TimeFromEmbargoWhenBlocked"> |
| <summary> |
| Records the amount of time that has passed from the time the FedCM auto |
| re-authn API was embargoed to the time in which the next call occurs. Only |
| records a sample when there is an auto re-authn FedCM API call which is |
| blocked due to embargo. Samples are exponentially bucketed, with a max |
| bucket of 10 minutes, the embargo duration (see |
| `kFederatedIdentityAutoReauthnEmbargoDuration`). |
| </summary> |
| </metric> |
| <metric name="Disconnect.FrameType" enum="FedCmRequesterFrameType"> |
| <summary> |
| Records the type of frame that invokes disconnect(). Records once for each |
| disconnect() call. Possible values are: main frame, same-site iframe, and |
| cross-site iframe, where the site of the iframe is compared with the site |
| of the main frame. |
| </summary> |
| </metric> |
| <metric name="Error.ErrorDialogResult" enum="FedCmErrorDialogResult"> |
| <summary> |
| Records the outcome of the error dialog. Recorded at most once per API |
| call when the error dialog is displayed. |
| </summary> |
| </metric> |
| <metric name="Error.ErrorDialogType" enum="FedCmErrorDialogType"> |
| <summary> |
| Records the type of error dialog shown. Recorded at most once per API call |
| when the error dialog is displayed. |
| </summary> |
| </metric> |
| <metric name="Error.TokenResponseType" enum="FedCmTokenResponseType"> |
| <summary> |
| Records the type of token response received. Recorded at most once per API |
| call when a token response received. |
| </summary> |
| </metric> |
| <metric name="FedCmSessionID"> |
| <summary> |
| Records the session ID associated to the FedCM call for which this event |
| is recording metrics. Each FedCM call gets a random integer session id, |
| which helps group UKM events by the session id. |
| </summary> |
| </metric> |
| <metric name="MismatchDialogShown" enum="BooleanHit"> |
| <summary> |
| Records a 1 each time a mismatch dialog is shown. |
| </summary> |
| </metric> |
| <metric name="MultipleRequestsRpMode" enum="FedCmMultipleRequestsRpMode"> |
| <summary> |
| Records the RpMode of two consecutive requests. Recorded every time when a |
| token request is invoked while there is another one pending. |
| </summary> |
| </metric> |
| <metric name="NumIdpsMismatch"> |
| <summary> |
| Records the number of IDPs that result in a 'mismatch' status from a |
| single FedCM get() invocation. Recorded every time a FedCM get() call is |
| resolved. Records some integer 0 or greater. Uses exponential count |
| bucketing. |
| </summary> |
| </metric> |
| <metric name="NumIdpsRequested"> |
| <summary> |
| Records the number of IDPs that are requested from a single FedCM get() |
| invocation. Recorded every time a FedCM get() call is resolved. Records |
| some integer greater than or equal to 1. Uses exponential count bucketing. |
| </summary> |
| </metric> |
| <metric name="NumRequestsPerDocument"> |
| <summary> |
| Records the number of navigator.credentials.get() requests made in a |
| document. Requests made when FedCM is disabled or when there is a pending |
| FedCM request are not counted. Records at most one sample for every |
| document where at least one navigator.credentials.get() request is made. |
| No samples are recorded if the count is 0. The bucketing method used is |
| base::UmaHistogramCounts100. |
| </summary> |
| </metric> |
| <metric name="PreventSilentAccessFrameType" enum="FedCmRequesterFrameType"> |
| <summary> |
| Records the type of frame that invokes preventSilentAccess(). Records only |
| when there is an existing FedCM sharing permission on the main frame, and |
| some frame in the page invokes the preventSilentAccess() JavaScript call. |
| Possible values are: main frame, same-site iframe, and cross-site iframe, |
| where the site of the iframe is compared with the site of the main frame. |
| </summary> |
| </metric> |
| <metric name="RpMode" enum="FedCmRpMode"> |
| <summary> |
| Records the RP mode of the FedCM API. Recorded once per API call together |
| with Status.RequestIdToken when the request is fulfilled (either resolved |
| or rejected). |
| </summary> |
| </metric> |
| <metric name="Status.Disconnect" enum="FedCmDisconnectStatus"> |
| <summary> |
| Records the status of a disconnect call to the FedCM API. Recorded once |
| per IdentityCredential.disconnect() call, once the browser knows the |
| result. |
| </summary> |
| </metric> |
| <metric name="Status.MediationRequirement" |
| enum="CredentialManagerMediationRequirement"> |
| <summary> |
| Records the mediation requirement of a request token call to the FedCM |
| API. Records a sample when the call is completed, i.e. at the same time as |
| Status.RequestIdToken. |
| </summary> |
| </metric> |
| <metric name="Status.RequestIdToken" enum="FedCmRequestIdTokenStatus"> |
| <summary> |
| Records the status of a request id token call to the FedCM API. Recorded |
| once per API call when the request is fulfilled (either resolved or |
| rejected). |
| </summary> |
| </metric> |
| <metric name="Status.SignInStateMatch" enum="FedCmSignInStateMatchStatus"> |
| <summary> |
| Records whether user sign-in states between IDP and browser match after |
| browser receives an account list from IDP prior to showing UI. |
| </summary> |
| </metric> |
| <metric name="Timing.AccountsDialogShownDuration"> |
| <summary> |
| Records the duration from when an accounts dialog is shown to when dialog |
| is destroyed e.g. user selects an account, user closes the dialog, or the |
| developer aborts the request. This duration includes the time when the |
| accounts dialog is inactive e.g. user switches to a different tab. Samples |
| are at most 10 minutes. Records a sample when an accounts dialog which is |
| not the verifying UI for auto re-authentication is shown. |
| </summary> |
| </metric> |
| <metric name="Timing.CancelOnDialog"> |
| <summary> |
| Records the time (in milliseconds) from when the accounts dialog is shown |
| to when the user closes the dialog without selecting any account. |
| </summary> |
| </metric> |
| <metric name="Timing.ContinueOnDialog"> |
| <summary> |
| Records the time (in milliseconds) from when the accounts dialog is shown |
| to when the user presses the Continue button. |
| </summary> |
| </metric> |
| <metric name="Timing.Disconnect"> |
| <summary> |
| Records the time in milliseconds from when the disconnect() request is |
| received by the browser process to the time in which it is completed, e.g. |
| right before sending the response back to the renderer process. Records |
| one sample for every disconnect call which sends a disconnect request. |
| </summary> |
| </metric> |
| <metric name="Timing.GetUserInfoToButtonMode"> |
| <summary> |
| Records the time in milliseconds from when the accounts are received via |
| the getUserInfo() API to the time when the Button Mode API is called. |
| Recorded when the Button mode is invoked and there was a successful |
| accounts fetch via the getUserInfo API call on this page. Recorded at most |
| once per getUserInfo API call. |
| </summary> |
| </metric> |
| <metric name="Timing.IdTokenResponse"> |
| <summary> |
| Records the time (in milliseconds) from when the user presses the Continue |
| button to when the id token response is received. |
| </summary> |
| </metric> |
| <metric name="Timing.MismatchDialogShownDuration"> |
| <summary> |
| Records the duration from when a mismatch dialog is shown to when user |
| triggers IDP sign-in pop-up window or when dialog is destroyed e.g. user |
| closes the dialog. This duration includes the time when the mismatch |
| dialog is inactive e.g. user switches to a different tab. Samples are at |
| most 10 minutes. Records a sample when a mismatch dialog is shown. |
| </summary> |
| </metric> |
| <metric name="Timing.ShowAccountsDialog"> |
| <summary> |
| Records the time (in milliseconds) from when a call to the API was made to |
| when the accounts dialog is shown. |
| </summary> |
| </metric> |
| <metric name="Timing.ShowAccountsDialogBreakdown.AccountsFetch"> |
| <summary> |
| Records the time (in milliseconds) from when the accounts request was made |
| to when the fetch response is received. Only recorded when the accounts |
| are ready to show which means all fetches are done. In case of multiple |
| identity providers, the fetch that takes the longest will be recorded. |
| </summary> |
| </metric> |
| <metric name="Timing.ShowAccountsDialogBreakdown.ClientMetadataFetch"> |
| <summary> |
| Records the time (in milliseconds) from when the client metadata request |
| was made to when the fetch response is received. Only recorded when the |
| accounts are ready to show which means all fetches are done. In case of |
| multiple identity providers, the fetch that takes the longest will be |
| recorded. |
| </summary> |
| </metric> |
| <metric name="Timing.ShowAccountsDialogBreakdown.WellKnownAndConfigFetch"> |
| <summary> |
| Records the time (in milliseconds) from when a call to the API was made to |
| when the well-known and config files fetch are received. Only recorded |
| when the accounts are ready to show which means all fetches are done. In |
| case of multiple identity providers, the fetch that takes the longest will |
| be recorded. |
| </summary> |
| </metric> |
| <metric name="Timing.TurnaroundTime"> |
| <summary> |
| Records the overall time (in milliseconds) from when the API is called to |
| when the id token response is received. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Blink.FedCmIdp"> |
| <owner>npm@chromium.org</owner> |
| <owner>web-identity-eng@google.com</owner> |
| <summary> |
| Records performance metrics for FedCM (Federated Credential Management) API. |
| Recorded when the web developer calls the FedCM API. Individual metrics are |
| recorded eagerly, whenever the value has been computed. |
| |
| This event uses the specific WEB_IDENTITY ukm_source_id which is generated |
| from the identity provider's origin. |
| </summary> |
| <metric name="AccountsDialogShown" enum="BooleanHit"> |
| <summary> |
| Records a 1 each time an accounts dialog is shown. |
| </summary> |
| </metric> |
| <metric name="AccountsRequestSent" enum="BooleanHit"> |
| <summary> |
| Records a 1 each time a request is sent to the accounts endpoint. |
| </summary> |
| </metric> |
| <metric name="Disconnect.FrameType" enum="FedCmRequesterFrameType"> |
| <summary> |
| Records the type of frame that invokes disconnect(). Records once for each |
| disconnect() call. Possible values are: main frame, same-site iframe, and |
| cross-site iframe, where the site of the iframe is compared with the site |
| of the main frame. |
| </summary> |
| </metric> |
| <metric name="Error.ErrorDialogResult" enum="FedCmErrorDialogResult"> |
| <summary> |
| Records the outcome of the error dialog. Recorded at most once per API |
| call when the error dialog is displayed. |
| </summary> |
| </metric> |
| <metric name="Error.ErrorDialogType" enum="FedCmErrorDialogType"> |
| <summary> |
| Records the type of error dialog shown. Recorded at most once per API call |
| when the error dialog is displayed. |
| </summary> |
| </metric> |
| <metric name="Error.ErrorUrlType" enum="FedCmErrorUrlType"> |
| <summary> |
| Records whether the error URL is same-origin, cross-origin but same-site |
| or cross-site with the config URL. Recorded at most once per API call when |
| a valid error URL is received. |
| </summary> |
| </metric> |
| <metric name="Error.TokenResponseType" enum="FedCmTokenResponseType"> |
| <summary> |
| Records the type of token response received. Recorded at most once per API |
| call when a token response received. |
| </summary> |
| </metric> |
| <metric name="FedCmSessionID"> |
| <summary> |
| Records the session ID associated to the FedCM call for which this event |
| is recording metrics. Each FedCM call gets a random integer session id, |
| which helps group UKM events by the session id. |
| </summary> |
| </metric> |
| <metric name="MismatchDialogShown" enum="BooleanHit"> |
| <summary> |
| Records a 1 each time a mismatch dialog is shown. |
| </summary> |
| </metric> |
| <metric name="MultipleRequestsRpMode" enum="FedCmMultipleRequestsRpMode"> |
| <summary> |
| Records the RpMode of two consecutive requests. Recorded every time when a |
| token request is invoked while there is another one pending. |
| </summary> |
| </metric> |
| <metric name="NumIdpsMismatch"> |
| <summary> |
| Records the number of IDPs that result in a 'mismatch' status from a |
| single FedCM get() invocation. Recorded every time a FedCM get() call is |
| resolved. Records some integer 0 or greater. Uses exponential count |
| bucketing. |
| </summary> |
| </metric> |
| <metric name="NumIdpsRequested"> |
| <summary> |
| Records the number of IDPs that are requested from a single FedCM get() |
| invocation. Recorded every time a FedCM get() call is resolved. Records |
| some integer greater than or equal to 1. Uses exponential count bucketing. |
| </summary> |
| </metric> |
| <metric name="RpMode" enum="FedCmRpMode"> |
| <summary> |
| Records the RP mode of the FedCM API. Recorded once per API call together |
| with Status.RequestIdToken when the request is fulfilled (either resolved |
| or rejected). |
| </summary> |
| </metric> |
| <metric name="Status.Disconnect" enum="FedCmDisconnectStatus"> |
| <summary> |
| Records the status of a disconnect call to the FedCM API. Recorded once |
| per IdentityCredential.disconnect() call, once the browser knows the |
| result. |
| </summary> |
| </metric> |
| <metric name="Status.MediationRequirement" |
| enum="CredentialManagerMediationRequirement"> |
| <summary> |
| Records the mediation requirement of a request token call to the FedCM |
| API. Records a sample when the call is completed, i.e. at the same time as |
| Status.RequestIdToken. |
| </summary> |
| </metric> |
| <metric name="Status.RequestIdToken" enum="FedCmRequestIdTokenStatus"> |
| <summary> |
| Records the status of a request id token call to the FedCM API. Recorded |
| once per API call when the request is fulfilled (either resolved or |
| rejected). |
| </summary> |
| </metric> |
| <metric name="Status.SignInStateMatch" enum="FedCmSignInStateMatchStatus"> |
| <summary> |
| Records whether user sign-in states between IDP and browser match after |
| browser receives an account list from IDP prior to showing UI. |
| </summary> |
| </metric> |
| <metric name="Timing.AccountsDialogShownDuration"> |
| <summary> |
| Records the duration from when an accounts dialog is shown to when dialog |
| is destroyed e.g. user selects an account, user closes the dialog, or the |
| developer aborts the request. This duration includes the time when the |
| accounts dialog is inactive e.g. user switches to a different tab. Samples |
| are at most 10 minutes. Records a sample when an accounts dialog which is |
| not the verifying UI for auto re-authentication is shown. |
| </summary> |
| </metric> |
| <metric name="Timing.CancelOnDialog"> |
| <summary> |
| Records the time (in milliseconds) from when the accounts dialog is shown |
| to when the user closes the dialog without selecting any account. |
| </summary> |
| </metric> |
| <metric name="Timing.ContinueOnDialog"> |
| <summary> |
| Records the time (in milliseconds) from when the accounts dialog is shown |
| to when the user presses the Continue button. |
| </summary> |
| </metric> |
| <metric name="Timing.Disconnect"> |
| <summary> |
| Records the time in milliseconds from when the disconnect() request is |
| received by the browser process to the time in which it is completed, e.g. |
| right before sending the response back to the renderer process. Records |
| one sample for every disconnect call which sends a disconnect request. |
| </summary> |
| </metric> |
| <metric name="Timing.IdTokenResponse"> |
| <summary> |
| Records the time (in milliseconds) from when the user presses the Continue |
| button to when the id token response is received. |
| </summary> |
| </metric> |
| <metric name="Timing.MismatchDialogShownDuration"> |
| <summary> |
| Records the duration from when a mismatch dialog is shown to when user |
| triggers IDP sign-in pop-up window or when dialog is destroyed e.g. user |
| closes the dialog. This duration includes the time when the mismatch |
| dialog is inactive e.g. user switches to a different tab. Samples are at |
| most 10 minutes. Records a sample when a mismatch dialog is shown. |
| </summary> |
| </metric> |
| <metric name="Timing.ShowAccountsDialog"> |
| <summary> |
| Records the time (in milliseconds) from when a call to the API was made to |
| when the accounts dialog is shown. |
| </summary> |
| </metric> |
| <metric name="Timing.TurnaroundTime"> |
| <summary> |
| Records the overall time (in milliseconds) from when the API is called to |
| when the id token response is received. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Blink.FindInPage" singular="True"> |
| <owner>vmpstr@chromium.org</owner> |
| <owner>chrishtr@chromium.org</owner> |
| <owner>paint-dev@chromium.org</owner> |
| <summary> |
| Logged once per page; indicates the type of find-in-page behaviors users |
| utilizied. |
| </summary> |
| <metric name="BeforematchExpandedHiddenMatchable"> |
| <summary> |
| Boolean indicating that a find-in-page match was hidden but became visible |
| after the beforematch event was fired. |
| </summary> |
| </metric> |
| <metric name="DidHaveRenderSubtreeMatch"> |
| <summary> |
| Boolean indicating whether there was an active match in content-visibility |
| unrendered elements. |
| </summary> |
| </metric> |
| <metric name="DidSearch"> |
| <summary> |
| Boolean indicating that find-in-page happened. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Blink.FrameLoader"> |
| <owner>nidhijaju@chromium.org</owner> |
| <owner>chrome-loading@google.com</owner> |
| <summary> |
| Timing metrics associated with the frame loader in Blink. |
| </summary> |
| <metric name="CommitDocumentLoaderTime"> |
| <summary> |
| Time taken to commit a new document in Blink in microseconds. Collected |
| once per navigation when a frame is loaded. This is rounded down to the |
| nearest exponential bucket. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Blink.HTMLParsing"> |
| <owner>dom-dev@google.com</owner> |
| <owner>nidhijaju@chromium.org</owner> |
| <owner>chrome-loading@google.com</owner> |
| <summary> |
| Logged once per page load, to capture information about invocation of the |
| HTMLDocumentParser for the initial document load. Does not include other |
| aspects of document parsing, such as style sheet parsing or script execution |
| during parsing. Also does not include innerText parsing. |
| |
| This event is not recorded on machines with low-resolution clocks. |
| </summary> |
| <metric name="ChunkCount"> |
| <summary> |
| The number of chunks parsed while loading the page. Each chunk represents |
| a piece of the HTML content that can be loaded without blocking or |
| yielding. |
| </summary> |
| </metric> |
| <metric name="FetchQueuedPreloadsTime"> |
| <summary> |
| Time taken to fetch queued subresource preloads for a document in |
| microseconds. This is rounded down to the nearest exponential bucket. |
| </summary> |
| </metric> |
| <metric name="ParsingTimeMax"> |
| <summary> |
| The maximum time used to parse a single chunk before being blocked, |
| yielding or completing, in microseconds. |
| </summary> |
| </metric> |
| <metric name="ParsingTimeMin"> |
| <summary> |
| The minimum time used to parse a single chunk before being blocked, |
| yielding or completing, in microseconds. |
| </summary> |
| </metric> |
| <metric name="ParsingTimeTotal"> |
| <summary> |
| The total amount of time spent in the HTMLDocumentParser parsing the page, |
| in microseconds. |
| </summary> |
| </metric> |
| <metric name="PreloadTime"> |
| <summary> |
| Time spent on preloading subresources for a document, including mojo |
| operations, in microseconds. This is rounded down to the nearest |
| exponential bucket. |
| </summary> |
| </metric> |
| <metric name="PrepareToStopParsingTime"> |
| <summary> |
| Time taken to tokenize the HTML document, if necessary, and perform other |
| tasks around parsing completion in microseconds. This is rounded down to |
| the nearest exponential bucket. |
| </summary> |
| </metric> |
| <metric name="PumpTokenizerTime"> |
| <summary> |
| Time taken to tokenize an HTML document in Blink in microseconds. This is |
| rounded down to the nearest exponential bucket. |
| </summary> |
| </metric> |
| <metric name="ScanAndPreloadTime"> |
| <summary> |
| Time taken to scan and preload subresources for a document in |
| microseconds. This is rounded down to the nearest exponential bucket. |
| </summary> |
| </metric> |
| <metric name="ScanTime"> |
| <summary> |
| Time spent on the preload scanning process for an HTML document, in |
| microseconds. This is rounded down to the nearest exponential bucket. |
| </summary> |
| </metric> |
| <metric name="TokensParsedAverage"> |
| <summary> |
| The average number of tokens parsed across all chunks. |
| </summary> |
| </metric> |
| <metric name="TokensParsedMax"> |
| <summary> |
| The maximum number of tokens parsed as a chunk. |
| </summary> |
| </metric> |
| <metric name="TokensParsedMin"> |
| <summary> |
| The minimum number of tokens parsed as a chunk. |
| </summary> |
| </metric> |
| <metric name="TokensParsedTotal"> |
| <summary> |
| The total number of tokens parsed across all chunks. |
| </summary> |
| </metric> |
| <metric name="YieldedTimeAverage"> |
| <summary> |
| The average time between parsing of two chunks, in microseconds. Will be |
| zero if only one chunk was parsed. |
| </summary> |
| </metric> |
| <metric name="YieldedTimeMax"> |
| <summary> |
| The minimum time between parsing of two chunks, in microseconds. Will be |
| zero if only one chunk was parsed. |
| </summary> |
| </metric> |
| <metric name="YieldedTimeMin"> |
| <summary> |
| The maximum time between parsing of two chunks, in microseconds. Will be |
| zero if only one chunk was parsed. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Blink.JavaScriptFramework.Versions" singular="True"> |
| <owner>houssein@chromium.org</owner> |
| <owner>nrosenthal@chromium.org</owner> |
| <summary> |
| Metrics stating the detected major+minor version of known frameworks when |
| detected. This event is recorded when the page is loaded. Note that a page |
| can use multiple frameworks at the same time, hence why this reports each |
| framework individually instead of a single number. The version numbers here |
| are a bit mask: 0xMMmm (Major+minor), e.g. version 16.3 would be 0x1003 |
| </summary> |
| <metric name="AngularVersion"> |
| <summary> |
| A bitmask (0xMMmm) representing the Angular version |
| </summary> |
| </metric> |
| <metric name="NextJSVersion"> |
| <summary> |
| A bitmask (0xMMmm) representing the NextJS version |
| </summary> |
| </metric> |
| <metric name="NuxtVersion"> |
| <summary> |
| A bitmask (0xMMmm) representing the Nuxt version |
| </summary> |
| </metric> |
| <metric name="VueVersion"> |
| <summary> |
| A bitmask (0xMMmm) representing the Vue version |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Blink.PageLoad"> |
| <owner>pdr@chromium.org</owner> |
| <owner>paint-dev@chromium.org</owner> |
| <summary> |
| The aggregated time spent in each metric's component from creation of the |
| local frame view to the First Contentful Paint signal. The event is reported |
| once per page load when First Contentful Paint is signaled. |
| |
| This event is not recorded on machines with low-resolution clocks. |
| </summary> |
| <metric name="Accessibility"> |
| <summary> |
| The time spent in accessibility tree code, between navigation and First |
| Contentful Paint, in microseconds. |
| </summary> |
| </metric> |
| <metric name="AnchorElementMetricsIntersectionObserver"> |
| <summary> |
| Time spent computing IntersectionObservations for anchor elements, in |
| microseconds. |
| </summary> |
| </metric> |
| <metric name="Animate"> |
| <summary> |
| The time spent in main frame animation, between navigation and First |
| Contentful Paint, in microseconds. |
| </summary> |
| </metric> |
| <metric name="CompositingCommit"> |
| <summary> |
| The time spent committing main thread compositing results, between |
| navigation and First Contentful Paint, in microseconds. |
| </summary> |
| </metric> |
| <metric name="CompositingInputs"> |
| <summary> |
| The time spent in main thread compositing inputs, between navigation and |
| First Contentful Paint, in microseconds. |
| </summary> |
| </metric> |
| <metric name="ContentDocumentUpdate"> |
| <summary> |
| The time spent doing forced document updates due to update sub-document |
| content, between navigation and First Contentful Paint, in microseconds. |
| Includes SVG, Canvas and Plugins. |
| </summary> |
| </metric> |
| <metric name="DisplayLockIntersectionObserver"> |
| <summary> |
| Time spent computing IntersectionObservations for |
| DisplayLockDocumentState, in microseconds. |
| </summary> |
| </metric> |
| <metric name="ForcedStyleAndLayout"> |
| <summary> |
| The time spent in forced style recalc and layouts, between navigation and |
| First Contentful Paint, in microseconds. |
| </summary> |
| </metric> |
| <metric name="HandleInputEvents"> |
| <summary> |
| The time spent in processing rAF-aligned input for the main frame, between |
| navigation and First Contentful Paint, in microseconds. |
| </summary> |
| </metric> |
| <metric name="HitTestDocumentUpdate"> |
| <summary> |
| The time spent updating the document in preparation for a hit test for the |
| main frame, between navigation and First Contentful Paint, in |
| microseconds. |
| </summary> |
| </metric> |
| <metric name="ImplCompositorCommit"> |
| <summary> |
| The time spent committing layer tree impl data in the compositor thread, |
| between navigation and First Contentful Paint, in microseconds. |
| </summary> |
| </metric> |
| <metric name="IntersectionObservation"> |
| <summary> |
| The time spent computing intersection observer state, between navigation |
| and First Contentful Paint, in microseconds. |
| </summary> |
| </metric> |
| <metric name="IntersectionObservationInternalCount"> |
| <summary> |
| The total number of times a blink-internal IntersectionObservation was |
| recomputed between navigation and First Contentful Paint. |
| </summary> |
| </metric> |
| <metric name="IntersectionObservationJavascriptCount"> |
| <summary> |
| The total number of times a javascript-instantiated |
| IntersectionObservation was recomputed between navigation and First |
| Contentful Paint. |
| </summary> |
| </metric> |
| <metric name="JavascriptDocumentUpdate"> |
| <summary> |
| The time spent doing forced document updates due to generic Javascript API |
| requests, between navigation and First Contentful Paint, in microseconds. |
| Note this primarily captures Javascript that explicitly requires Style and |
| Layout, but not implicit requests such as through setting focus or scroll |
| position. |
| </summary> |
| </metric> |
| <metric name="JavascriptIntersectionObserver"> |
| <summary> |
| Time spent computing IntersectionObservations for javascript observers, in |
| microseconds. |
| </summary> |
| </metric> |
| <metric name="Layout"> |
| <summary> |
| The time spent in layout document lifecycle work, between navigation and |
| First Contentful Paint, in microseconds. |
| </summary> |
| </metric> |
| <metric name="LazyLoadIntersectionObserver"> |
| <summary> |
| Time spent computing IntersectionObservations for lazy loading, in |
| microseconds. |
| </summary> |
| </metric> |
| <metric name="MainFrame"> |
| <summary> |
| The time spent in ProxyMain::BeginMainFrame, between navigation and First |
| Contentful Paint, in microseconds. |
| </summary> |
| </metric> |
| <metric name="MediaIntersectionObserver"> |
| <summary> |
| Time spent computing IntersectionObservations for media elements, in |
| microseconds. |
| </summary> |
| </metric> |
| <metric name="Paint"> |
| <summary> |
| The time spent in paint document lifecycle work, between navigation and |
| First Contentful Paint, in microseconds. |
| </summary> |
| </metric> |
| <metric name="ParseStyleSheet"> |
| <summary> |
| The time spent parsing style sheets. |
| </summary> |
| </metric> |
| <metric name="PermissionElementIntersectionObserver"> |
| <summary> |
| Time spent computing IntersectionObservations for permission elements, in |
| microseconds. |
| </summary> |
| </metric> |
| <metric name="PossibleSynchronizedScrollCount2"> |
| <summary> |
| Counts whether a possible sync-scroll update is attempted during an |
| animation update of the outermost main frame of a page between navigation |
| and First Contentful Paint (see sync_scroll_attempt_heuristic.h for |
| details). |
| |
| The heuristic is checked once per main frame update. The recorded value |
| will be either 1 or 0 for a sampled frame depending on whether the |
| heuristic determined that there was a possible sync-scroll update. |
| </summary> |
| </metric> |
| <metric name="PrePaint"> |
| <summary> |
| The time spent in pre-paint document lifecycle work, between navigation |
| and First Contentful Paint, in microseconds. |
| </summary> |
| </metric> |
| <metric name="ServiceDocumentUpdate"> |
| <summary> |
| The time spent doing forced document updates due to browser requested |
| actions, such as accessibility, intersection observer or spell checking, |
| between navigation and First Contentful Paint, in microseconds. |
| </summary> |
| </metric> |
| <metric name="Style"> |
| <summary> |
| The time spent in style document lifecycle work, between navigation and |
| First Contentful Paint, in microseconds. |
| </summary> |
| </metric> |
| <metric name="UpdateLayers"> |
| <summary> |
| The time spent in for LayerTreeHost::UpdateLayers, between navigation and |
| First Contentful Paint, in microseconds. |
| </summary> |
| </metric> |
| <metric name="UpdateViewportIntersection"> |
| <summary> |
| Time spent computing internal geometry information about iframes, between |
| navigation and First Contentful Paint, in microseconds. |
| </summary> |
| </metric> |
| <metric name="UserDrivenDocumentUpdate"> |
| <summary> |
| The time spent doing forced document updates due to a user action such as |
| input, find-in-page or printing, between navigation and First Contentful |
| Paint, in microseconds. |
| |
| As of 04/2023, updates for scrolling are included in this metric. |
| </summary> |
| </metric> |
| <metric name="VisualUpdateDelay"> |
| <summary> |
| Time elapsed, in microseconds, between when an animation update is first |
| scheduled and when the resulting BeginMainFrame starts. |
| </summary> |
| </metric> |
| <metric name="WaitForCommit"> |
| <summary> |
| The time spent waiting for the compositor thread to begin processing a |
| commit, between navigation and First Contentful Paint, in microseconds. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Blink.PaintTiming" singular="True"> |
| <owner>npm@chromium.org</owner> |
| <owner>sullivan@chromium.org</owner> |
| <summary> |
| Paint timing metrics recorded in Blink, usually used as debugging metrics |
| for PaintTiming metrics in the PageLoad event. |
| </summary> |
| <metric name="LCPDebugging.HasViewportImage" enum="Boolean"> |
| <summary> |
| Records whether a page has an image whose size equals the full viewport. |
| Recorded when the LCP algorithm has stopped. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Blink.Script.AsyncScripts" singular="True"> |
| <owner>dom@chromium.org</owner> |
| <owner>chrome-loading@google.com</owner> |
| <summary> |
| Metrics associated with the async script count associated with a document, |
| recorded when the HTML parsing of a mainframe has completed. |
| </summary> |
| </event> |
| |
| <event name="Blink.ShapeText" singular="True"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-loading@google.com</owner> |
| <summary> |
| Metrics to measure the InlineNode::ShapeText() performance that involves |
| font and glyphs handling while loading the outermost main frame document. |
| This is recorded at the frequency of 0.001. |
| </summary> |
| <metric name="MaxTime"> |
| <summary> |
| Measures the maximum elapsed time it takes to run InlineNode::ShapeText(), |
| in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="TotalTime"> |
| <summary> |
| Measures the total elapsed time it takes to run InlineNode::ShapeText(), |
| in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Blink.SVGImage" singular="True"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-loading@google.com</owner> |
| <summary> |
| Metrics to measure the SVGImage::DataChanged() performance per document |
| while loading the outermost main frame document. This is recorded at the |
| frequency of 0.001. |
| </summary> |
| <metric name="Count"> |
| <summary> |
| Measures the call count of SVGImage::DataChanged(). |
| ukm::GetExponentialBucketMinForCounts1000() is applied. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="TotalTime"> |
| <summary> |
| Measures the total elapsed time it takes to run SVGImage::DataChanged(), |
| in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Blink.UpdateTime"> |
| <owner>pdr@chromium.org</owner> |
| <owner>paint-dev@chromium.org</owner> |
| <summary> |
| Metrics that measure various update times in Blink. This includes paint, |
| compositing, and layout update times. This event is reported once in the |
| first main frame update after First Contentful Paint, with data from a |
| randomly chosen frame up to and including First Contentful Paint, and once |
| on LocalFrameView destruction with data from a random frame between |
| FirstContentfulPaint and shutdown. |
| |
| This event is not recorded on machines with low-resolution clocks. |
| </summary> |
| <metric name="Accessibility"> |
| <summary> |
| The time taken for accessibility for the main frame in microseconds during |
| the sampled frame. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="AccessibilityBeginMainFrame"> |
| <summary> |
| The total main frame time used in accessibility, in microseconds. |
| </summary> |
| </metric> |
| <metric name="AnchorElementMetricsIntersectionObserver"> |
| <summary> |
| Time spent computing IntersectionObservations for anchor elements, in |
| microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="AnchorElementMetricsIntersectionObserverBeginMainFrame"> |
| <summary> |
| The total main frame time used to compute IntersectionObservations for |
| anchor elements, in microseconds. |
| </summary> |
| </metric> |
| <metric name="Animate"> |
| <summary> |
| The time taken for main frame animation in microseconds during the sampled |
| frame. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="AnimateBeginMainFrame"> |
| <summary> |
| The total main frame time used by by main thread animations, in |
| microseconds. |
| </summary> |
| </metric> |
| <metric name="CompositingCommit"> |
| <summary> |
| The time taken by the compositing commit in microseconds during the |
| sampled frame. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="CompositingCommitBeginMainFrame"> |
| <summary> |
| The total main frame time used by the compositing commit, in microseconds. |
| </summary> |
| </metric> |
| <metric name="CompositingInputs"> |
| <summary> |
| The time taken by the compositing inputs phase in microseconds during the |
| sampled frame. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="CompositingInputsBeginMainFrame"> |
| <summary> |
| The total main frame time used by the compositing inputs phase, in |
| microseconds. |
| </summary> |
| </metric> |
| <metric name="ContentDocumentUpdate"> |
| <summary> |
| The time spent doing forced document updates due to update sub-document |
| content, during a sampled frame, in microseconds. Includes SVG, Canvas and |
| Plugins. |
| </summary> |
| </metric> |
| <metric name="ContentDocumentUpdateBeginMainFrame"> |
| <summary> |
| The time spent doing forced document updates due to update sub-document |
| content, during the BeginMainFrame block of a sampled frame, in |
| microseconds. Includes SVG, Canvas and Plugins. |
| </summary> |
| </metric> |
| <metric name="DisplayLockIntersectionObserver"> |
| <summary> |
| Time spent computing IntersectionObservations for |
| DisplayLockDocumentState, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="DisplayLockIntersectionObserverBeginMainFrame"> |
| <summary> |
| The total main frame time used to compute IntersectionObservations for |
| DisplayLockDocumentState, in microseconds. |
| </summary> |
| </metric> |
| <metric name="ForcedStyleAndLayout"> |
| <summary> |
| The time taken by forced style recalc and layouts in microseconds between |
| the end of the last main frame update and the current sampled frame, in |
| microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ForcedStyleAndLayoutBeginMainFrame"> |
| <summary> |
| The total main frame time used by forced style updates and layouts, in |
| microseconds. This metric may include time that is also included in the |
| AnimateBeginMainFrame metric. |
| </summary> |
| </metric> |
| <metric name="HandleInputEvents"> |
| <summary> |
| The time taken to process rAF-aligned input for the main frame in |
| microseconds during the sampled frame. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="HandleInputEventsBeginMainFrame"> |
| <summary> |
| The total main frame time used in processing rAF-aligned input, in |
| microseconds. |
| </summary> |
| </metric> |
| <metric name="HitTestDocumentUpdate"> |
| <summary> |
| The time taken to perform hit test document updates for the main frame in |
| microseconds during the sampled frame. It does not compute the actual hit |
| test time, rather the style, layout, compositing, etc time to prepare for |
| the test. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="HitTestDocumentUpdateBeginMainFrame"> |
| <summary> |
| The total main frame time used in performing hit test document updates, in |
| microseconds. |
| </summary> |
| </metric> |
| <metric name="ImplCompositorCommit"> |
| <summary> |
| The time spent committing layer tree impl data in the compositor thread, |
| in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ImplCompositorCommitBeginMainFrame"> |
| <summary> |
| The total main frame time spent committing layer tree impl data in the |
| compositor thread, in microseconds. This should always match |
| ImplCompositorCommit and serves as a check. |
| </summary> |
| </metric> |
| <metric name="IntersectionObservation"> |
| <summary> |
| The time taken to compute intersection observer state for the main frame |
| in microseconds during the sampled frame. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="IntersectionObservationBeginMainFrame"> |
| <summary> |
| The total main frame time used to compute IntersectionObserver |
| observations, in microseconds. |
| </summary> |
| </metric> |
| <metric name="IntersectionObservationInternalCount"> |
| <summary> |
| The number of blink-internal IntersectionObservations that were recomputed |
| during the sampled frame. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="IntersectionObservationInternalCountBeginMainFrame"> |
| <summary> |
| The number of blink-internal IntersectionObservations that were recomputed |
| during the sampled frame. |
| </summary> |
| </metric> |
| <metric name="IntersectionObservationJavascriptCount"> |
| <summary> |
| The number of javascript-instantiated IntersectionObservations that were |
| recomputed during the sampled frame. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="IntersectionObservationJavascriptCountBeginMainFrame"> |
| <summary> |
| The number of javascript-instantiated IntersectionObservations that were |
| recomputed during the sampled frame. |
| </summary> |
| </metric> |
| <metric name="JavascriptDocumentUpdate"> |
| <summary> |
| The time spent doing forced document updates due to generic Javascript API |
| requests, during a sampled frame, in microseconds. Note this primarily |
| captures Javascript that explicitly requires Style and Layout, but not |
| implicit requests such as through setting focus or scroll position. |
| </summary> |
| </metric> |
| <metric name="JavascriptDocumentUpdateBeginMainFrame"> |
| <summary> |
| The time spent doing forced document updates due to generic Javascript API |
| requests, during the BeginMainFrame block of a sampled frame, in |
| microseconds. Note this primarily captures Javascript that explicitly |
| requires Style and Layout, but not implicit requests such as through |
| setting focus or scroll position. |
| </summary> |
| </metric> |
| <metric name="JavascriptIntersectionObserver"> |
| <summary> |
| Time spent computing IntersectionObservations for javascript observers, in |
| microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="JavascriptIntersectionObserverBeginMainFrame"> |
| <summary> |
| The total main frame time used to compute IntersectionObservations for |
| Javascript observers, in microseconds. |
| </summary> |
| </metric> |
| <metric name="Layout"> |
| <summary> |
| The time taken for layout for the main frame in microseconds during the |
| sampled frame. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="LayoutBeginMainFrame"> |
| <summary> |
| The total main frame time used in layout, in microseconds. |
| </summary> |
| </metric> |
| <metric name="LazyLoadIntersectionObserver"> |
| <summary> |
| Time spent computing IntersectionObservations for lazy loading, in |
| microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="LazyLoadIntersectionObserverBeginMainFrame"> |
| <summary> |
| The total main frame time used to compute IntersectionObservations for |
| lazy loading, in microseconds. |
| </summary> |
| </metric> |
| <metric name="MainFrame"> |
| <summary> |
| The time between a BeginMainFrame and the commit of paint results for the |
| sampled frame, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="MainFrameIsBeforeFCP" enum="Boolean"> |
| <summary> |
| True if the lifecycle update in this event occurred before FCP (First |
| Contentful Paint) was registered. |
| </summary> |
| </metric> |
| <metric name="MainFrameReasons"> |
| <summary> |
| A bitfield representation of the reasons for a main frame update. The |
| fields are based on the FrameSequenceTrackerType enum, so bitwise and with |
| the following values to determine if a reason was present: |
| CompositorAnimation: 1, MainThreadAnimation: 2, PinchZoom: 4, RAF: 8, |
| TouchScroll: 16, Universal: 32, Video: 64 and WheelScroll: 128. |
| </summary> |
| </metric> |
| <metric name="MediaIntersectionObserver"> |
| <summary> |
| Time spent computing IntersectionObservations for media elements, in |
| microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="MediaIntersectionObserverBeginMainFrame"> |
| <summary> |
| The total main frame time used to compute IntersectionObservations for |
| media elements, in microseconds. |
| </summary> |
| </metric> |
| <metric name="Paint"> |
| <summary> |
| The time taken to paint for the main frame in microseconds during the |
| sampled frame. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="PaintBeginMainFrame"> |
| <summary> |
| The total main frame time used in paint, in microseconds. |
| </summary> |
| </metric> |
| <metric name="ParseStyleSheet"> |
| <summary> |
| The time spent parsing style sheets. |
| </summary> |
| </metric> |
| <metric name="ParseStyleSheetBeginMainFrame"> |
| <summary> |
| The total main frame time spent parsing style sheets. |
| </summary> |
| </metric> |
| <metric name="PermissionElementIntersectionObserver"> |
| <summary> |
| Time spent computing IntersectionObservations for permission elements, in |
| microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="PermissionElementIntersectionObserverBeginMainFrame"> |
| <summary> |
| The total main frame time used to compute IntersectionObservations for |
| permission elements, in microseconds. |
| </summary> |
| </metric> |
| <metric name="PossibleSynchronizedScrollCount2"> |
| <summary> |
| Counts whether a possible sync-scroll update is attempted during an |
| animation update of the outermost main frame of a page (see |
| sync_scroll_attempt_heuristic.h for details). |
| |
| The heuristic is checked once per main frame update. The recorded value |
| will be either 1 or 0 for a sampled frame depending on whether the |
| heuristic determined that there was a possible sync-scroll update. |
| </summary> |
| </metric> |
| <metric name="PossibleSynchronizedScrollCount2BeginMainFrame"> |
| <summary> |
| Counts whether a possible sync-scroll update is attempted during an |
| animation update of the outermost main frame of a page (see |
| sync_scroll_attempt_heuristic.h for details). |
| |
| The heuristic is checked once per main frame update. The recorded value |
| will be either 1 or 0 for a sampled frame depending on whether the |
| heuristic determined that there was a possible sync-scroll update. |
| |
| Note that since the check happens during main frame updates, there should |
| be no difference between this metric and PossibleSynchronizedScrollCount2 |
| above. |
| </summary> |
| </metric> |
| <metric name="PrePaint"> |
| <summary> |
| The time taken for pre-paint for the main frame in microseconds during the |
| sampled frame. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="PrePaintBeginMainFrame"> |
| <summary> |
| The total main frame time used in pre-paint, in microseconds. |
| </summary> |
| </metric> |
| <metric name="ServiceDocumentUpdate"> |
| <summary> |
| The time spent doing forced document updates due to browser requested |
| actions, such as accessibility, intersection observer or spell checking, |
| during a sampled frame, in microseconds. |
| </summary> |
| </metric> |
| <metric name="ServiceDocumentUpdateBeginMainFrame"> |
| <summary> |
| The time spent doing forced document updates due to browser requested |
| actions, such as accessibility, intersection observer or spell checking, |
| during the BeginMainFrame block of a sampled frame, in microseconds. |
| </summary> |
| </metric> |
| <metric name="Style"> |
| <summary> |
| The time taken for style update for the main frame in microseconds during |
| the sampled frame. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="StyleBeginMainFrame"> |
| <summary> |
| The total main frame time spent updating style information and building |
| the layout tree, in microseconds. |
| </summary> |
| </metric> |
| <metric name="StylePercentage"> |
| <summary> |
| The percentage of the main frame time used in style work. An int in the |
| range [0,100]. |
| </summary> |
| </metric> |
| <metric name="UpdateLayers"> |
| <summary> |
| The time taken for LayerTreeHost::UpdateLayers in microseconds during the |
| sampled frame |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="UpdateLayersBeginMainFrame"> |
| <summary> |
| The total main frame time spent in LayerTreeHost::UpdateLayer, in |
| microseconds. This should always match UpdateLayers and serves as a check. |
| </summary> |
| </metric> |
| <metric name="UpdateViewportIntersection"> |
| <summary> |
| Time spent computing internal geometry information about iframes, in |
| microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="UpdateViewportIntersectionBeginMainFrame"> |
| <summary> |
| The total main frame time used to compute internal geometry information |
| about iframes, in microseconds. |
| </summary> |
| </metric> |
| <metric name="UserDrivenDocumentUpdate"> |
| <summary> |
| The time spent doing forced document updates due to a user action such as |
| input, find-in-page or printing, during a sampled frame, in microseconds. |
| |
| As of 04/2023, updates for scrolling are included in this metric. |
| </summary> |
| </metric> |
| <metric name="UserDrivenDocumentUpdateBeginMainFrame"> |
| <summary> |
| The time spent doing forced document updates due to a user action such as |
| input, find-in-page or printing, during the BeginMainFrame block of a |
| sampled frame, in microseconds. |
| |
| As of 04/2023, updates for scrolling are included in this metric. |
| </summary> |
| </metric> |
| <metric name="VisualUpdateDelay"> |
| <summary> |
| Time elapsed between when an animation update is first scheduled and when |
| the resulting BeginMainFrame starts. |
| </summary> |
| </metric> |
| <metric name="VisualUpdateDelayBeginMainFrame"> |
| <summary> |
| Time elapsed between when an animation update is first scheduled and when |
| the resulting BeginMainFrame starts. |
| </summary> |
| </metric> |
| <metric name="WaitForCommit"> |
| <summary> |
| The time spent waiting for the compositor thread to begin processing a |
| commit, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="WaitForCommitBeginMainFrame"> |
| <summary> |
| The total main frame time spent waiting for the compositor thread to begin |
| processing a commit, in microseconds. This should always match |
| WaitForCommit and serves as a check. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Blink.UseCounter"> |
| <owner>chasej@chromium.org</owner> |
| <summary> |
| Collects data for a subset of UseCounter features where UMA UseCounter data |
| shows a behaviour that is rare but too common to blindly change. This metric |
| should be used to reason about whether a breaking change is acceptable or |
| not. |
| |
| Note: In M87, a number of use counters were removed from UKM reporting due |
| to being reported too frequently (high proportion across page loads). |
| </summary> |
| <metric name="Feature" enum="FeatureObserver"> |
| <summary> |
| Opt-in UseCounter feature. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="IsMainFrameFeature" enum="Boolean"> |
| <summary> |
| Emits True(1) or False(0) to indicate whether the Feature recorded is in |
| the main frame or not. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="BrowsingTopics.DocumentBrowsingTopicsApiResult2"> |
| <owner>yaoxia@chromium.org</owner> |
| <owner>jkarlin@chromium.org</owner> |
| <summary> |
| The document.browsingTopics() result and other metadata. Recorded whenever |
| document.browsingTopics() is invoked from a context. If there are more than |
| 3 candidate topics (e.g. due to custom configuration FeatureParam), only the |
| first 3 candidate topics will be recorded. |
| </summary> |
| <metric name="CandidateTopic0"> |
| <summary> |
| The candidate topic ID at index 0. This metric won't be recorded if no |
| topics were derived from the candidate epochs (which can be due to |
| insufficient epochs, failed epoch topics calculation, cleared history, or |
| cleared/blocked individual topics). |
| </summary> |
| </metric> |
| <metric name="CandidateTopic0IsTrueTopTopic" enum="Boolean"> |
| <summary> |
| Whether `CandidateTopic0` is a true top topic (as opposed to a padded or |
| random one). This metric will be recorded iff `CandidateTopic0` is |
| recorded. |
| </summary> |
| </metric> |
| <metric name="CandidateTopic0ModelVersion"> |
| <summary> |
| The version of the model used to calculate `CandidateTopic0`. This metric |
| will be recorded iff `CandidateTopic0` is recorded. |
| </summary> |
| </metric> |
| <metric name="CandidateTopic0ShouldBeFiltered" enum="Boolean"> |
| <summary> |
| Whether `CandidateTopic0` should be filtered. This metric will be recorded |
| iff `CandidateTopic0` is recorded. |
| </summary> |
| </metric> |
| <metric name="CandidateTopic0TaxonomyVersion"> |
| <summary> |
| The version of the taxonomy applicable to `CandidateTopic0`. This metric |
| will be recorded iff `CandidateTopic0` is recorded. |
| </summary> |
| </metric> |
| <metric name="CandidateTopic1"> |
| <summary> |
| The candidate topic ID at index 1. This metric won't be recorded if less |
| than 2 topics were derived from the candidate epochs (which can be due to |
| insufficient epochs, failed epoch topics calculation, cleared history, or |
| cleared/blocked individual topics). |
| </summary> |
| </metric> |
| <metric name="CandidateTopic1IsTrueTopTopic" enum="Boolean"> |
| <summary> |
| Whether `CandidateTopic1` is a true top topic (as opposed to a padded or |
| random one). This metric will be recorded iff `CandidateTopic1` is |
| recorded. |
| </summary> |
| </metric> |
| <metric name="CandidateTopic1ModelVersion"> |
| <summary> |
| The version of the model used to calculate `CandidateTopic1`. This metric |
| will be recorded iff `CandidateTopic1` is recorded. |
| </summary> |
| </metric> |
| <metric name="CandidateTopic1ShouldBeFiltered" enum="Boolean"> |
| <summary> |
| Whether `CandidateTopic1` should be filtered. This metric will be recorded |
| iff `CandidateTopic1` is recorded. |
| </summary> |
| </metric> |
| <metric name="CandidateTopic1TaxonomyVersion"> |
| <summary> |
| The version of the taxonomy applicable to `CandidateTopic1`. This metric |
| will be recorded iff `CandidateTopic1` is recorded. |
| </summary> |
| </metric> |
| <metric name="CandidateTopic2"> |
| <summary> |
| The candidate topic ID at index 2. This metric won't be recorded if less |
| than 3 topics were derived from the candidate epochs (which can be due to |
| insufficient epochs, failed epoch topics calculation, cleared history, or |
| cleared/blocked individual topics). |
| </summary> |
| </metric> |
| <metric name="CandidateTopic2IsTrueTopTopic" enum="Boolean"> |
| <summary> |
| Whether `CandidateTopic2` is a true top topic (as opposed to a padded or |
| random one). This metric will be recorded iff `CandidateTopic2` is |
| recorded. |
| </summary> |
| </metric> |
| <metric name="CandidateTopic2ModelVersion"> |
| <summary> |
| The version of the model used to calculate `CandidateTopic2`. This metric |
| will be recorded iff `CandidateTopic2` is recorded. |
| </summary> |
| </metric> |
| <metric name="CandidateTopic2ShouldBeFiltered" enum="Boolean"> |
| <summary> |
| Whether `CandidateTopic2` should be filtered. This metric will be recorded |
| iff `CandidateTopic2` is recorded. |
| </summary> |
| </metric> |
| <metric name="CandidateTopic2TaxonomyVersion"> |
| <summary> |
| The version of the taxonomy applicable to `CandidateTopic2`. This metric |
| will be recorded iff `CandidateTopic2` is recorded. |
| </summary> |
| </metric> |
| <metric name="FailureReason" enum="BrowsingTopicsApiAccessResult"> |
| <summary> |
| The reason why the API access is not allowed. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="BrowsingTopics.EpochTopicsCalculationResult"> |
| <owner>yaoxia@chromium.org</owner> |
| <owner>jkarlin@chromium.org</owner> |
| <summary> |
| The epoch topics calculation result, including the top 5 topics and other |
| metadata. Recorded whenever the periodic (weekly) topics calculation has |
| finished. If the result has more than 5 topics (e.g. due to custom |
| configuration FeatureParam), only the first 5 topics will be recorded. |
| </summary> |
| <metric name="ModelVersion"> |
| <summary> |
| The version of the model used to calculate the result topics. This metric |
| won't be recorded if the topics calculation failed in general. |
| </summary> |
| </metric> |
| <metric name="PaddedTopicsStartIndex"> |
| <summary> |
| The start index of the randomly padded top topics. This metric won't be |
| recorded if the topics calculation failed in general. If all topics are |
| real, `PaddedTopicsStartIndex` will equal the feature param |
| `kBrowsingTopicsNumberOfTopTopicsPerEpoch`. |
| </summary> |
| </metric> |
| <metric name="TaxonomyVersion"> |
| <summary> |
| The version of the taxonomy applicable to the result topics. This metric |
| won't be recorded if the topics calculation failed in general. |
| </summary> |
| </metric> |
| <metric name="TopTopic0"> |
| <summary> |
| The top topic ID at index 0. This metric won't be recorded if the |
| candidate topic was blocked, or if the topics calculation failed in |
| general. |
| </summary> |
| </metric> |
| <metric name="TopTopic1"> |
| <summary> |
| The top topic ID at index 1. This metric won't be recorded if the |
| candidate topic was blocked, or if the topics calculation failed in |
| general. |
| </summary> |
| </metric> |
| <metric name="TopTopic2"> |
| <summary> |
| The top topic ID at index 2. This metric won't be recorded if the |
| candidate topic was blocked, or if the topics calculation failed in |
| general. |
| </summary> |
| </metric> |
| <metric name="TopTopic3"> |
| <summary> |
| The top topic ID at index 3. This metric won't be recorded if the |
| candidate topic was blocked, or if the topics calculation failed in |
| general. |
| </summary> |
| </metric> |
| <metric name="TopTopic4"> |
| <summary> |
| The top topic ID at index 4. This metric won't be recorded if the |
| candidate topic was blocked, or if the topics calculation failed in |
| general. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="BrowsingTopics.PageLoad"> |
| <owner>yaoxia@chromium.org</owner> |
| <owner>jkarlin@chromium.org</owner> |
| <summary> |
| PageLoad metrics for BrowsingTopics. Recorded when a page has Topics API |
| usages (that pass the user permission check), and the page is being |
| destroyed/navigated. |
| </summary> |
| <metric name="TopicsRequestingContextDomainsCount"> |
| <summary> |
| The number of unique context domains have requested the topics. Rounded to |
| the nearest exponential bucket (with a bucket ratio of 1.15). |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="BrowsingTopics.TopicsRedirectChainDetected"> |
| <owner>yaoxia@chromium.org</owner> |
| <owner>jkarlin@chromium.org</owner> |
| <summary> |
| Records the redirect state related to Topics. Recorded when a page is |
| detected to have initiated a chain of redirects, and at least two pages |
| within that chain invoke the Topics API, suggesting potential misuse of the |
| API. This event can be logged multiple times for the same page if the |
| redirect chain continues to grow. |
| </summary> |
| <metric name="NumberOfPagesCallingTopics"> |
| <summary> |
| The number of pages that invoked the Topics API in the redirect chain. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="ChargeEventHistory"> |
| <owner>thanhdng@chromium.org</owner> |
| <summary> |
| Records history of charge events including start time and duration of |
| charges. Can be used with other ChargeEventHistory to track the last 30 days |
| of charging events. If a "SmartCharging" event and a |
| "ChargeEventHistory" event has them same source ID and |
| "EventId", it means "ChargeEventHistory" is the charge |
| history when "SmartCharging" event is logged. ChargeEventHistory |
| records an array. Each ChargeEventHistory event records an item in the |
| array, specified by its index ChargeEventHistoryIndex. Items in the same |
| array will have same source ID and EventId. |
| </summary> |
| <metric name="ChargeEventHistoryDuration"> |
| <summary> |
| Duration of a history charge event. |
| </summary> |
| </metric> |
| <metric name="ChargeEventHistoryIndex"> |
| <summary> |
| Index of this event in the ChargeEventHistory array. Please see the event |
| summary for more details. |
| </summary> |
| </metric> |
| <metric name="ChargeEventHistorySize"> |
| <summary> |
| Number of items in ChargeEventHistory array. Please see the event summary |
| for more details. |
| </summary> |
| </metric> |
| <metric name="ChargeEventHistoryStartTime"> |
| <summary> |
| Duration (in minutes) between start time of a charge event and logging |
| time. |
| </summary> |
| </metric> |
| <metric name="EventId"> |
| <summary> |
| A unique number that represent order of an event. Used combined with |
| "SmartCharging"'s EventId to reconstruct charge history. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="ChromeOS.DeviceManagement"> |
| <owner>siakabaro@google.com</owner> |
| <summary> |
| Records the ChromeOS device management state. This event is recorded once |
| per UKM report and is not associated with a source URL. |
| </summary> |
| <metric name="EnrollmentStatus" enum="EnrollmentStatus"> |
| <summary> |
| An enum value representing the enrollment status of a ChromeOS device. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="ChromeOS.WebsiteUsageTime"> |
| <owner>nancylingwang@chromium.org</owner> |
| <owner>dominickn@chromium.org</owner> |
| <summary> |
| Records the amount of time that the focused and activated website was |
| accessed in last two hours on Chrome OS. This is logged each two hours, and |
| only when the website is not installed as a PWA or Chrome app. |
| </summary> |
| <metric name="Duration"> |
| <summary> |
| The milliseconds that the website was accessed in the focused tab and the |
| activated browser window. The accessing time is calculated each two hours, |
| then the noise is applied, and sum the running time for two hours with |
| noise to calculate the two hours accessing time. For example the running |
| time in the past 2 hours = time1 * noise1 + time2 * noise2 + time3 * |
| noise3.... |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="IsFromLastLogin" enum="Boolean"> |
| <summary> |
| Whether the metrics is read from the user pref on disk, recorded for the |
| last login. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Promotable" enum="Boolean"> |
| <summary> |
| Whether the website can be an installable web app. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="UserDeviceMatrix" enum="UserDeviceMatrix"> |
| <summary> |
| An enum that records the user type and the device type. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="ChromeOSApp.InputEvent"> |
| <owner>nancylingwang@chromium.org</owner> |
| <owner>dominickn@chromium.org</owner> |
| <summary> |
| Records each two hours in Chrome OS to log the input events happened on the |
| app window. This is logged only when the user allows app syncing or allows |
| sync of everything, and the user does not set up a sync passphrase. |
| </summary> |
| <metric name="AppInputEventCount"> |
| <summary> |
| The number of the input events happened in each two hours. |
| </summary> |
| </metric> |
| <metric name="AppInputEventSource" enum="AppInputEventSource"> |
| <summary> |
| An enum that records the input event source. |
| </summary> |
| </metric> |
| <metric name="AppType" enum="AppType"> |
| <summary> |
| An enum that records the app type. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="UserDeviceMatrix" enum="UserDeviceMatrix"> |
| <summary> |
| An enum that records the user type and the device type. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="ChromeOSApp.InstalledApp"> |
| <owner>nancylingwang@chromium.org</owner> |
| <owner>dominickn@chromium.org</owner> |
| <summary> |
| Records the installed app in Chrome OS, only when the user allows app |
| syncing or allows sync of everything, and the user does not set up a sync |
| passphrase. Only ARC apps, Chrome apps and web apps(PWA), system web apps, |
| buildin apps are recorded. This is logged when the user installs a new app. |
| </summary> |
| <metric name="AppType" enum="AppType"> |
| <summary> |
| An enum that records the app type. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="InstallReason" enum="InstallReason"> |
| <summary> |
| An enum that records the reason why the app was installed. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="InstallSource2" enum="InstallSource2"> |
| <summary> |
| An enum that records where the app was installed. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="InstallTime" enum="InstallTime"> |
| <summary> |
| An enum that records when the app was installed. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="UserDeviceMatrix" enum="UserDeviceMatrix"> |
| <summary> |
| An enum that records the user type and the device type. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="ChromeOSApp.Launch"> |
| <owner>nancylingwang@chromium.org</owner> |
| <owner>dominickn@chromium.org</owner> |
| <summary> |
| Records a launched app in Chrome OS, only when the user allows app syncing |
| or allows sync of everything, and the user does not set up a sync |
| passphrase. Only ARC apps, Chrome apps and web apps(PWA), system web apps, |
| buildin apps are recorded. This is logged when an app is launched. |
| </summary> |
| <metric name="AppType" enum="AppType"> |
| <summary> |
| An enum that records the app type. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="LaunchSource" enum="LaunchSource"> |
| <summary> |
| An enum that records where the app was launched. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="UserDeviceMatrix" enum="UserDeviceMatrix"> |
| <summary> |
| An enum that records the user type and the device type. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="ChromeOSApp.UninstallApp"> |
| <owner>nancylingwang@chromium.org</owner> |
| <owner>dominickn@chromium.org</owner> |
| <summary> |
| Records the uninstalled app in Chrome OS, only when the user allows app |
| syncing or allows sync of everything, and the user does not set up a sync |
| passphrase. Only ARC apps, Chrome apps and web apps(PWA), system web apps, |
| buildin apps are recorded. This is logged when the user uninstalls an app. |
| </summary> |
| <metric name="AppType" enum="AppType"> |
| <summary> |
| An enum that records the app type. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="UninstallSource" enum="UninstallSource"> |
| <summary> |
| An enum that records how the app was uninstalled. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="UserDeviceMatrix" enum="UserDeviceMatrix"> |
| <summary> |
| An enum that records the user type and the device type. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="ChromeOSApp.UsageTime"> |
| <owner>nancylingwang@chromium.org</owner> |
| <owner>dominickn@chromium.org</owner> |
| <summary> |
| Records the amount of time that the app was used in the last two hours on |
| Chrome OS, only when the user allows app syncing or allows sync of |
| everything, and the user does not set up a sync passphrase. Only ARC apps, |
| Chrome apps and web apps(PWA), system web apps, builtin apps are recorded. |
| This is logged every two hours and at shutdown. |
| </summary> |
| <metric name="AppType" enum="AppType"> |
| <summary> |
| An enum that records the app type. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Duration"> |
| <summary> |
| The milliseconds that the app was used. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="UserDeviceMatrix" enum="UserDeviceMatrix"> |
| <summary> |
| An enum that records the user type and the device type. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="ChromeOSApp.UsageTimeReusedSourceId"> |
| <owner>nancylingwang@chromium.org</owner> |
| <owner>dominickn@chromium.org</owner> |
| <summary> |
| Records the amount of time that the app were used in the last two hours on |
| Chrome OS, only when the user allows app syncing or allows sync of |
| everything, and the user does not set up a sync passphrase. Only ARC apps, |
| Chrome apps and web apps(PWA), system web apps, buildin apps are recorded. |
| This is logged every two hours. |
| </summary> |
| <metric name="AppType" enum="AppType"> |
| <summary> |
| An enum that records the app type. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Duration"> |
| <summary> |
| The milliseconds that the app was used. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="UserDeviceMatrix" enum="UserDeviceMatrix"> |
| <summary> |
| An enum that records the user type and the device type. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="ClickInput" singular="True"> |
| <owner>dougarnett@chromium.org</owner> |
| <summary> |
| Metrics associated with user click input. In particular, captures when user |
| has a burst of clicks at the same location which may be a signal of user |
| unhappiness for an experiment if it differs from the baseline data for the |
| site. |
| </summary> |
| <metric name="Experimental.ClickInputBurst"> |
| <summary> |
| The count of the largest burst of click inputs for a page load. Only |
| recorded if it meets a minimum threshold to be considered a burst. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="ClientHints.AcceptCHFrameUsage"> |
| <owner>arichiv@chromium.org</owner> |
| <owner>victortan@chromium.org</owner> |
| <summary> |
| Record when a Client Hint is requested in an ACCEPT_CH TLS Frame. |
| </summary> |
| <metric name="Type" enum="WebClientHintsType"> |
| <summary> |
| Records an enum representing the specific Client Hint type that was |
| requested. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="ClientHints.AcceptCHHeaderUsage"> |
| <owner>arichiv@chromium.org</owner> |
| <owner>victortan@chromium.org</owner> |
| <summary> |
| Record when a Client Hint is requested in a Accept-CH HTTP Response Header. |
| </summary> |
| <metric name="Type" enum="WebClientHintsType"> |
| <summary> |
| Records an enum representing the specific Client Hint type that was |
| requested. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="ClientHints.AcceptCHMetaUsage"> |
| <owner>arichiv@chromium.org</owner> |
| <owner>victortan@chromium.org</owner> |
| <summary> |
| Record when a Client Hint is requested in a Accept-CH HTML Meta Tag. |
| </summary> |
| <metric name="Type" enum="WebClientHintsType"> |
| <summary> |
| Records an enum representing the specific Client Hint type that was |
| requested. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="ClientHints.CriticalCHHeaderUsage"> |
| <owner>arichiv@chromium.org</owner> |
| <owner>victortan@chromium.org</owner> |
| <summary> |
| Record when a Client Hint is requested in a Critical-CH HTTP Response |
| Header. |
| </summary> |
| <metric name="Type" enum="WebClientHintsType"> |
| <summary> |
| Records an enum representing the specific Client Hint type that was |
| requested. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="ClientHints.DelegateCHMetaUsage"> |
| <owner>arichiv@chromium.org</owner> |
| <owner>victortan@chromium.org</owner> |
| <summary> |
| Record when a Client Hint is requested in a Delegate-CH HTML Meta Tag. |
| </summary> |
| <metric name="Type" enum="WebClientHintsType"> |
| <summary> |
| Records an enum representing the specific Client Hint type that was |
| requested. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="ClientRenderingAPI"> |
| <owner>aaronhk@chromium.org</owner> |
| <owner>cwallez@chromium.org</owner> |
| <owner>enga@chromium.org</owner> |
| <owner>fserb@chromium.org</owner> |
| <owner>jdarpinian@chromium.org</owner> |
| <owner>kainino@chromium.org</owner> |
| <owner>kbr@chromium.org</owner> |
| <owner>shrekshao@google.com</owner> |
| <summary> |
| Metrics collecting types of rendering context created with |
| canvas/offscreencanvas. It also collects requests of GPU device via WebGPU |
| API. |
| </summary> |
| <metric name="Canvas.RenderingContext" enum="CanvasRenderingAPI"> |
| <summary> |
| Type of rendering contexts created for HTMLCanvasElement. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Canvas.RenderingContextDrawnTo" enum="CanvasRenderingAPI"> |
| <summary> |
| Type of rendering contexts created for HTMLCanvasElement that something |
| has actually been drawn to. For WebGL 1 and 2 context this means there is |
| at least one draw call issued. For other context types we leave the |
| implementation blank at this moment. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="GPUDevice"> |
| <summary> |
| Event fired when a GPUDevice from the WebGPU API is created. |
| </summary> |
| </metric> |
| <metric name="OffscreenCanvas.RenderingContext" enum="CanvasRenderingAPI"> |
| <summary> |
| Type of rendering contexts created for OffscreenCanvas. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="OffscreenCanvas.RenderingContextDrawnTo" |
| enum="CanvasRenderingAPI"> |
| <summary> |
| Type of rendering contexts created for OffscreenCanvas that something has |
| actually been drawn to. For WebGL 1 and 2 context this means there is at |
| least one draw call issued. For other context types we leave the |
| implementation blank at this moment. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Companion.PageView"> |
| <owner>shaktisahu@chromium.org</owner> |
| <summary> |
| Records metrics for the companion side panel. The events correspond to a |
| single page load in the main frame and the metrics are flushed when the page |
| navigates away. For most of the UI surfaces, only the last event (e.g. |
| displayed or clicked) is recorded. |
| </summary> |
| <metric name="ATX.ComponentPosition"> |
| <summary> |
| The position of the ATX surface in the page. |
| </summary> |
| </metric> |
| <metric name="ATX.LastEvent" enum="Companion.UiEvent"> |
| <summary> |
| The last event on the ATX surface. |
| </summary> |
| </metric> |
| <metric name="CQ.ClickPosition"> |
| <summary> |
| The position of the CQ element that was clicked with respect to its parent |
| list. |
| </summary> |
| </metric> |
| <metric name="CQ.ComponentPosition"> |
| <summary> |
| The position of the CQ surface in the page. |
| </summary> |
| </metric> |
| <metric name="CQ.LastEvent" enum="Companion.UiEvent"> |
| <summary> |
| The last event on the CQ surface. |
| </summary> |
| </metric> |
| <metric name="CQ.NumEntriesAvailable"> |
| <summary> |
| The number of child elements available within the CQ surface after |
| eligibility check after text finder API. Clamped to a max value of 10. |
| </summary> |
| </metric> |
| <metric name="CQ.NumEntriesShown"> |
| <summary> |
| The number of child elements actually shown within the CQ surface after |
| eligibility check through text finder API. Clamped to a max value of 10. |
| </summary> |
| </metric> |
| <metric name="OpenTrigger" enum="SidePanelOpenTrigger"> |
| <summary> |
| The UI location from which the companion page was opened. |
| </summary> |
| </metric> |
| <metric name="PageEntities.ClickPosition"> |
| <summary> |
| The position of the page entities element that was clicked with respect to |
| its parent list. |
| </summary> |
| </metric> |
| <metric name="PageEntities.ComponentPosition"> |
| <summary> |
| The position of the page entities surface in the page. |
| </summary> |
| </metric> |
| <metric name="PageEntities.LastEvent" enum="Companion.UiEvent"> |
| <summary> |
| The last event on the page entities surface. |
| </summary> |
| </metric> |
| <metric name="PageEntities.NumEntriesAvailable"> |
| <summary> |
| The number of child elements available within the page entities surface. |
| Clamped to a max value of 10. |
| </summary> |
| </metric> |
| <metric name="PageEntities.NumEntriesShown"> |
| <summary> |
| The number of child elements shown within the page entities surface. |
| Clamped to a max value of 10. |
| </summary> |
| </metric> |
| <metric name="PH.ComponentPosition"> |
| <summary> |
| The position of the PH surface in the page. |
| </summary> |
| </metric> |
| <metric name="PH.Feedback" enum="Companion.PhFeedback"> |
| <summary> |
| The last user feedback event on the PH surface. |
| </summary> |
| </metric> |
| <metric name="PH.LastEvent" enum="Companion.UiEvent"> |
| <summary> |
| The last event on the PH surface. |
| </summary> |
| </metric> |
| <metric name="PHResult.ClickPosition"> |
| <summary> |
| The position of the PH element that was clicked with respect to its parent |
| list. |
| </summary> |
| </metric> |
| <metric name="PHResult.ComponentPosition"> |
| <summary> |
| The position of the PH surface in the page. |
| </summary> |
| </metric> |
| <metric name="PHResult.LastEvent" enum="Companion.UiEvent"> |
| <summary> |
| The last event on the PH surface. |
| </summary> |
| </metric> |
| <metric name="PHResult.NumEntriesAvailable"> |
| <summary> |
| The number of child elements available within the PH surface, regardless |
| of text finder API results. Clamped to a max value of 10. |
| </summary> |
| </metric> |
| <metric name="PHResult.NumEntriesShown"> |
| <summary> |
| The number of child elements within the PH surface that pass text finder |
| API elibigility check, this is the count bullet points that have jump |
| tags. Clamped to a max value of 10. |
| </summary> |
| </metric> |
| <metric name="PromoEvent" enum="Companion.PromoEvent"> |
| <summary> |
| The last event on the promo surface. |
| </summary> |
| </metric> |
| <metric name="RegionSearch.ClickCount"> |
| <summary> |
| The number of times region search in the multimodal box was clicked. |
| </summary> |
| </metric> |
| <metric name="RelQr.ClickPosition"> |
| <summary> |
| The position of the RelQr element that was clicked with respect to its |
| parent list. |
| </summary> |
| </metric> |
| <metric name="RelQr.ComponentPosition"> |
| <summary> |
| The position of the RelQr surface in the page. |
| </summary> |
| </metric> |
| <metric name="RelQr.LastEvent" enum="Companion.UiEvent"> |
| <summary> |
| The last event on the RelQr surface. |
| </summary> |
| </metric> |
| <metric name="RelQr.NumEntriesAvailable"> |
| <summary> |
| The number of child elements available within the RelQr surface. Clamped |
| to a max value of 10. |
| </summary> |
| </metric> |
| <metric name="RelQr.NumEntriesShown"> |
| <summary> |
| The number of child elements shown within the RelQr surface. Clamped to a |
| max value of 10. |
| </summary> |
| </metric> |
| <metric name="RelQs.ClickPosition"> |
| <summary> |
| The position of the RelQs element that was clicked with respect to its |
| parent list. |
| </summary> |
| </metric> |
| <metric name="RelQs.ComponentPosition"> |
| <summary> |
| The position of the RelQs surface in the page. |
| </summary> |
| </metric> |
| <metric name="RelQs.LastEvent" enum="Companion.UiEvent"> |
| <summary> |
| The last event on the RelQs surface. |
| </summary> |
| </metric> |
| <metric name="RelQs.NumEntriesAvailable"> |
| <summary> |
| The number of child elements available within the RelQs surface. Clamped |
| to a max value of 10. |
| </summary> |
| </metric> |
| <metric name="RelQs.NumEntriesShown"> |
| <summary> |
| The number of child elements shown within the RelQs surface. Clamped to a |
| max value of 10. |
| </summary> |
| </metric> |
| <metric name="TextSearchCount"> |
| <summary> |
| The number of times text search box was used, clamped to a max of 10. |
| </summary> |
| </metric> |
| <metric name="VQ.ClickPosition"> |
| <summary> |
| The position of the VQ element that was clicked with respect to its parent |
| list. |
| </summary> |
| </metric> |
| <metric name="VQ.ComponentPosition"> |
| <summary> |
| The position of the VQ surface in the page. |
| </summary> |
| </metric> |
| <metric name="VQ.LastEvent" enum="Companion.UiEvent"> |
| <summary> |
| The last event on the VQ surface. |
| </summary> |
| </metric> |
| <metric name="VQ.NumEntriesAvailable"> |
| <summary> |
| The number of child elements available within the VQ surface. Clamped to a |
| max value of 10. |
| </summary> |
| </metric> |
| <metric name="VQ.NumEntriesShown"> |
| <summary> |
| The number of child elements shown within the VQ surface. Clamped to a max |
| value of 10. |
| </summary> |
| </metric> |
| <metric name="VQS.ImageSensitiveCount"> |
| <summary> |
| The number of images classified as sensitive. Uses exponential bucket of |
| 1.3 for privacy. |
| </summary> |
| </metric> |
| <metric name="VQS.ImageShoppyCount"> |
| <summary> |
| The number of images classified as shoppy. Uses exponential bucket of 1.3 |
| for privacy. |
| </summary> |
| </metric> |
| <metric name="VQS.ImageShoppyNotSensitiveCount"> |
| <summary> |
| The number of images classified as shoppy and non-sensitive. Uses |
| exponential bucket of 1.3 for privacy. |
| </summary> |
| </metric> |
| <metric name="VQS.VisualEligibleImagesCount"> |
| <summary> |
| The number of images eligible for visual classification. Uses exponential |
| bucket of 1.3 for privacy. |
| </summary> |
| </metric> |
| <metric name="VQS.VisualSearchTriggeredCount"> |
| <summary> |
| The number of images that qualify for visual suggestions. Uses exponential |
| bucket of 1.3 for privacy. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Compose.PageEvents"> |
| <owner>chrome-compose-frontend@google.com</owner> |
| <owner>dewittj@chromium.org</owner> |
| <owner>carlosk@chromium.org</owner> |
| <summary> |
| Reported at PrimaryPageChanged (or tab destruction) if any metrics have been |
| recorded. This collects user actions in the compose feature (and some of its |
| effects) for this page. |
| </summary> |
| <metric name="ComposeTextInserted"> |
| <summary> |
| The number of times the Compose result was inserted into the page. Uses |
| exponential buckets for privacy. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="MenuItemClicked"> |
| <summary> |
| The number of times the Compose context menu item was clicked for an |
| element on the page. Uses exponential buckets for privacy. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="MenuItemShown"> |
| <summary> |
| The number of times the Compose context menu item was shown for an element |
| on the page. Uses exponential buckets for privacy. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="MissingFormData"> |
| <summary> |
| The number of times the Compose context menu item was clicked but the |
| expected dialog was not presented because Autofill could not obtain the |
| text field's respective FormData. Uses exponential buckets for privacy. |
| </summary> |
| </metric> |
| <metric name="MissingFormFieldData"> |
| <summary> |
| The number of times the Compose context menu item was clicked but the |
| expected dialog was not presented because Autofill could not obtain the |
| text field's respective FormFieldData. Uses exponential buckets for |
| privacy. |
| </summary> |
| </metric> |
| <metric name="ProactiveNudgeDisabledForSite" enum="Boolean"> |
| <summary> |
| True if the proactive nudge was disabled for this site during this page |
| load. Added in M126. |
| </summary> |
| </metric> |
| <metric name="ProactiveNudgeDisabledGlobally" enum="Boolean"> |
| <summary> |
| True if the proactive nudge was globally disabled this page load. Added in |
| M126. |
| </summary> |
| </metric> |
| <metric name="ProactiveNudgeOpened"> |
| <summary> |
| The number of times the Compose dialog is opened from the proactive nudge |
| during this page load. Recorded everytime the nudge is opened. Added in |
| M126. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ProactiveNudgeShouldShow"> |
| <summary> |
| The number of times the Compose proactive nudge should show during this |
| page load. Recorded any time Compose is asked to show the proactive nudge |
| even if it is eventually not shown. Added in M125. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ProactiveNudgeShown"> |
| <summary> |
| The number of times the Compose proactive nudge is shown during this page |
| load. Recorded everytime a request to show the nudge returns true. Added |
| in M126. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Compose.SessionProgress"> |
| <owner>chrome-compose-frontend@google.com</owner> |
| <owner>petewil@chromium.org</owner> |
| <owner>dewittj@chromium.org</owner> |
| <summary> |
| Reported at the end of every compose session. There may be more than one |
| compose session per pageload. This collects user actions in the compose |
| dialogs for this URL. |
| </summary> |
| <metric name="Canceled" enum="Boolean"> |
| <summary> |
| If the user canceled this session with the "X" button. This does |
| not include dismissing the dialog by losing focus. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="CasualCount"> |
| <summary> |
| How many times the user pressed the "shorten" button in this |
| session. Uses exponential buckets for privacy. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ComposeCount"> |
| <summary> |
| How many times the user pressed the "generate" button in this |
| session. Uses exponential buckets for privacy. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="DialogShownCount"> |
| <summary> |
| How many times the compose dialog was shown to the user. Uses exponential |
| buckets for privacy. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="FormalCount"> |
| <summary> |
| How many times the user pressed the "formal" button in this |
| session. Uses exponential buckets for privacy. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="InsertedResults" enum="Boolean"> |
| <summary> |
| If the user inserted results back to the web page in this session, either |
| by pressing the "insert" or "replace" button. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="LengthenCount"> |
| <summary> |
| How many times the user pressed the "elaborate" button in this |
| session. Uses exponential buckets for privacy. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RegenerateCount"> |
| <summary> |
| How many times the user pressed the "regenerate" button in this |
| session. Uses exponential buckets for privacy. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ShortenCount"> |
| <summary> |
| How many times the user pressed the "shorten" button in this |
| session. Uses exponential buckets for privacy. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="StartedWithProactiveNudge" enum="Boolean"> |
| <summary> |
| True if the session started with the proactive nudge rather than the |
| context menu option. Added in M126. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="UndoCount"> |
| <summary> |
| How many times the user pressed the "undo" button in this |
| session. Uses exponential buckets for privacy. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Compose.TextElementUsage"> |
| <owner>harringtond@google.com</owner> |
| <owner>carlosk@chromium.org</owner> |
| <summary> |
| Reported once per page load per each multiline text element that received |
| input. Excludes potentially sensitive fields including input type=password |
| or when autofill determines the field is sensitive. |
| </summary> |
| <metric name="AutofillFormControlType" enum="AutofillFormControlType2"> |
| <summary> |
| The control type, such as text or textarea. See |
| |autofill::FormControlType|. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="EditingTime"> |
| <summary> |
| Number of seconds the user spent editing the field. Includes time between |
| key presses, up to 5 seconds each. Bucketed using |
| GetExponentialBucketMinForUserTiming(). |
| </summary> |
| </metric> |
| <metric name="FieldSignature"> |
| <summary> |
| The signature of the field (mod 1021). This is the hash identifier used to |
| denote this field. See components/autofill/core/common/signatures.cc for |
| more details. |
| </summary> |
| </metric> |
| <metric name="FormSignature"> |
| <summary> |
| The signature of the form (mod 1021). This is the hash identifier used to |
| denote this form. See components/autofill/core/common/signatures.cc for |
| more details. |
| </summary> |
| </metric> |
| <metric name="IsAutofillFieldType" enum="Boolean"> |
| <summary> |
| Whether the field is detected and supported by Autofill. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="TypedCharacterCount"> |
| <summary> |
| Total number of characters typed into the text element. Bucketed with an |
| exponential factor of 2. This is reported as -1 for sensitive field types, |
| like passwords or credit cards numbers. Note that this number attempts to |
| count only typed changes, but is not always accurate. Additionally, there |
| is a limit to the total possible length observed. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="TypedWordCount"> |
| <summary> |
| Total number of space-delimited words typed into the text element. |
| Bucketed with an exponential factor of 2. This is reported as -1 for |
| sensitive field types like passwords or credit cards numbers. Note that |
| this number attempts to count only typed changes, but is not always |
| accurate. Additionally, there is a limit to the total possible length |
| observed. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Compositor.Rendering"> |
| <owner>khushalsagar@chromium.org</owner> |
| <summary> |
| Metrics related to rendering in the compositor. |
| </summary> |
| <metric name="CheckerboardedImagesCount"> |
| <summary> |
| The number of images checker-imaged and re-rasterized on this page. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Compositor.UserInteraction"> |
| <owner>khushalsagar@chromium.org</owner> |
| <summary> |
| Metrics related to user interaction handled by the compositor. This includes |
| user gestures like scrolling, pinch-zoom and page-scale animations triggered |
| in response to a double-tap event. The length of the user interaction is |
| defined as the time the compositor is running an animation resulting from |
| user input. |
| </summary> |
| <metric name="CheckerboardedContentArea"> |
| <summary> |
| The number of visible pixels per frame checkerboarded during this |
| interaction. |
| </summary> |
| </metric> |
| <metric name="CheckerboardedContentAreaRatio"> |
| <summary> |
| The percentage of visible pixels per frame checkerboarded during this |
| interaction. This value should be between [0, 100]. |
| </summary> |
| </metric> |
| <metric name="CheckerboardedImagesCount"> |
| <summary> |
| The number of images checker-imaged and re-rasterized during this |
| interaction. |
| </summary> |
| </metric> |
| <metric name="NumMissingTiles"> |
| <summary> |
| The number of visible tiles per frame checkerboarded during this |
| interaction. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="ContactsPicker.ShareStatistics"> |
| <owner>finnur@chromium.org</owner> |
| <owner>peter@chromium.org</owner> |
| <summary> |
| Measures statistics about the contacts shared in the contacts picker (when |
| the Contacts Picker dialog is dismissed.) |
| </summary> |
| <metric name="PropertiesRequested"> |
| <summary> |
| Measures the contact properties requested by the website (names, emails, |
| telephone numbers). Bit 1 - telephone numbers, bit 2 - emails, bit 3 - |
| names. |
| </summary> |
| </metric> |
| <metric name="SelectCount"> |
| <summary> |
| Measures the total number of contacts selected in the contacts picker. |
| </summary> |
| </metric> |
| <metric name="SelectPercentage"> |
| <summary> |
| Measures the percentage of contacts selected in the contacts picker. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="ContentIndex.Added"> |
| <owner>rayankans@chromium.org</owner> |
| <summary> |
| Collected when a new Content Index entry is registered. |
| </summary> |
| <metric name="Category" enum="ContentIndexCategory"> |
| <summary> |
| The type of the content registered. Corresponds to |
| blink.mojom.ContentCategory. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="ContentIndex.DeletedByUser"> |
| <owner>rayankans@chromium.org</owner> |
| <summary> |
| Collected when a Content Index entry is deleted by the user from the |
| Downloads page. |
| </summary> |
| <metric name="Deleted" enum="Boolean"> |
| <summary> |
| Always true. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="ContentIndex.Opened"> |
| <owner>rayankans@chromium.org</owner> |
| <summary> |
| Collected when a Content Index entry is opened from the Downloads page. |
| </summary> |
| <metric name="IsOffline" enum="Boolean"> |
| <summary> |
| Whether the browser was offline when the content was opened. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="ContentManagementSystemPageLoad" singular="True"> |
| <owner>felixarntz@google.com</owner> |
| <owner>npm@chromium.org</owner> |
| <summary> |
| Metrics stating whether the main frame of a page uses certain content |
| management systems. This event is recorded when the page is going to be |
| unloaded or when the app enters the background on Android. The content |
| management system detection is done when the document is loaded (similar to |
| when load event is fired). If a CMS is used after this then it would not be |
| detected. For interoperability with the JavaScript framework detection |
| above, this reports each CMS individually instead of a single enum. |
| </summary> |
| <metric name="DrupalPageLoad" enum="Boolean"> |
| <summary> |
| True if the page loaded in the main frame uses the Drupal CMS. |
| </summary> |
| </metric> |
| <metric name="JoomlaPageLoad" enum="Boolean"> |
| <summary> |
| True if the page loaded in the main frame uses the Joomloa CMS. |
| </summary> |
| </metric> |
| <metric name="ShopifyPageLoad" enum="Boolean"> |
| <summary> |
| True if the page loaded in the main frame uses the Shopify CMS. |
| </summary> |
| </metric> |
| <metric name="SquarespacePageLoad" enum="Boolean"> |
| <summary> |
| True if the page loaded in the main frame uses the Squarespace CMS. |
| </summary> |
| </metric> |
| <metric name="WixPageLoad" enum="Boolean"> |
| <summary> |
| True if the page loaded in the main frame uses the Wix CMS. |
| </summary> |
| </metric> |
| <metric name="WordPressPageLoad" enum="Boolean"> |
| <summary> |
| True if the page loaded in the main frame uses the WordPress CMS. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="ContextMenuAndroid.Selected"> |
| <owner>benwgold@google.com</owner> |
| <owner>twellington@chromium.org</owner> |
| <metric name="Action"> |
| <summary> |
| Emits an integer id for a selection corresponding to the action enum |
| defined in ChromeContextMenuPopulator.java (within the ContextMenuUma |
| class). |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="ContextMenuAndroid.Shown"> |
| <owner>benwgold@google.com</owner> |
| <owner>twellington@chromium.org</owner> |
| <metric name="SearchByImage" enum="Boolean"> |
| <summary> |
| Recorded when the context menu is constructed and logged if the search by |
| image option was displayed. |
| </summary> |
| </metric> |
| <metric name="SearchWithGoogleLens" enum="Boolean"> |
| <summary> |
| Recorded when the context menu is constructed and logged if the Lens |
| option was displayed. |
| </summary> |
| </metric> |
| <metric name="ShopWithGoogleLens" enum="Boolean"> |
| <summary> |
| Recorded when the context menu is constructed and logged if the Lens |
| shopping option was displayed. |
| </summary> |
| </metric> |
| <metric name="ShopWithGoogleLensChip" enum="Boolean"> |
| <summary> |
| Recorded when the context menu is constructed and logged if the Lens |
| shopping chip was displayed. |
| </summary> |
| </metric> |
| <metric name="TranslateWithGoogleLensChip" enum="Boolean"> |
| <summary> |
| Recorded when the context menu is constructed and logged if the Lens |
| translate chip was displayed. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="CookieHasNonAsciiCharacter"> |
| <owner>bingler@chromium.org</owner> |
| <summary> |
| A collection of metrics which are recorded for cookies which include at |
| least one non-ascii unicode character in either their name or value fields. |
| This metric is only interested in an event being generated, the value it |
| records is meaningless. |
| </summary> |
| <metric name="Name" enum="Boolean"> |
| <summary> |
| Records events when a cookie has a non-ascii unicode character in its name |
| field. |
| </summary> |
| </metric> |
| <metric name="Value" enum="Boolean"> |
| <summary> |
| Records events when a cookie has a non-ascii unicode character in its |
| value field. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Cookies.FirstPartyPartitionedInCrossSiteContextV3"> |
| <owner>selya@chromium.org</owner> |
| <owner>dylancutler@google.com</owner> |
| <summary> |
| Recorded when a page loads that has a first-party partitioned cookie present |
| and the cookie's name is not receive-cookie-deprecation. |
| </summary> |
| <metric name="CookiePresent" enum="Boolean"> |
| <summary> |
| Records true if one or more first-party partitioned cookies in a cross |
| site context are present and the cookie's name is not |
| receive-cookie-deprecation. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="CPUUsageMeasurement"> |
| <owner>chrisha@chromium.org</owner> |
| <owner>siggi@chromium.org</owner> |
| <summary> |
| A CPU usage measurement that corresponds to a tick in a CPU usage |
| time-series. There is also some metadata stored to determine how faithful |
| the CPU usage measurement is (e.g. NumberOfCoresidentTabs). |
| </summary> |
| <metric name="CPUUsage"> |
| <summary> |
| CPU usage measurement. This is in units of clock-cycles. For example, 1.2 |
| seconds of 100% CPU usage on a 2.5GHz CPU corresponds to a value of 1.2 x |
| 1.0 x 2.5e9 = 3e6. |
| </summary> |
| </metric> |
| <metric name="EventType"> |
| <summary> |
| The event associated with the measurement. This is an integer value |
| corresponding to the enum defined in |
| resource_coordinator::RenderProcessProbe. |
| </summary> |
| </metric> |
| <metric name="IsVisible"> |
| <summary> |
| Indicates if any frame hosted in this tab is visible at the moment the |
| measurement is taken. |
| </summary> |
| </metric> |
| <metric name="NumberOfCoresidentTabs"> |
| <summary> |
| Number of co-resident tabs in all of the render processes a tab is |
| associated with when the CPU usage measurement is taken. |
| </summary> |
| </metric> |
| <metric name="ObservationWindowSizeMs"> |
| <summary> |
| The size of the observation window (time since last CPU measurement) in |
| milliseconds. |
| </summary> |
| </metric> |
| <metric name="ProcessUptimeMs"> |
| <summary> |
| The uptime of the process being measured, in milliseconds. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="CrossOriginSubframeWithoutEmbeddingControl"> |
| <owner>clamy@chromium.org</owner> |
| <summary> |
| Recorded when a subframe is embedded in a cross-origin context without |
| having a CSP frame-ancestor header or an XFO header. |
| </summary> |
| <metric name="SubframeEmbedded"> |
| <summary> |
| Mesaures the number of pages with subframes embedded in cross-origin |
| contexts without having a CSP frame-ancestor header or an XFO header. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="DailyChargeSummary"> |
| <owner>thanhdng@chromium.org</owner> |
| <summary> |
| Records daily summaries of charging. DailyChargeSummary summarizes charging |
| information (e.g. amount of time on full charge, amount of time on AC |
| adapter, etc) in a day. It can be used in combination with other |
| DailyChargeSummary events to get information about the last 30 days of |
| charging. If a "SmartCharging" event and a |
| "DailyChargeSummary" event has them same source ID and |
| "EventId", it means "DailyChargeSummary" is the summary |
| when "SmartCharging" event is logged. DailyChargeSummary records |
| an array. Each event records an item in the array, specified by its index |
| DailySummaryIndex. Items in the same array will have same source ID and |
| EventId. |
| </summary> |
| <metric name="DailySummaryHoldTimeOnAc"> |
| <summary> |
| Amount of time (in minutes) the device was on AC charger and the charge |
| was hold due to adaptive charging, at an index specified by |
| DailySummaryIndex. |
| </summary> |
| </metric> |
| <metric name="DailySummaryIndex"> |
| <summary> |
| Index of this event in the array. Please see the event summary for more |
| details. |
| </summary> |
| </metric> |
| <metric name="DailySummaryNumDaysDistance"> |
| <summary> |
| Distance in days bettwen current day and the day that the daily summary |
| was logged. |
| </summary> |
| </metric> |
| <metric name="DailySummarySize"> |
| <summary> |
| Number of items in array. Please see the event summary for more details. |
| </summary> |
| </metric> |
| <metric name="DailySummaryTimeFullOnAc"> |
| <summary> |
| Amount of time (in minutes) the device was keep on AC charger with full |
| battery (100%). |
| </summary> |
| </metric> |
| <metric name="DailySummaryTimeOnAc"> |
| <summary> |
| Amount of time (in minutes) the device was keep on AC charger. |
| </summary> |
| </metric> |
| <metric name="EventId"> |
| <summary> |
| A number that represent order of an event. Used combined with |
| "SmartCharging"'s EventId to reconstruct charge history. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="DataReductionProxy" singular="True"> |
| <owner>robertogden@chromium.org</owner> |
| <summary> |
| Data Reduction Proxy related metrics associated with a page load. See |
| //components/data_reduction_proxy/. |
| </summary> |
| <metric name="DataSaverPageUUID"> |
| <summary> |
| A unique identifier of this page load to the proxy server. Recorded for |
| each navigation that uses the proxy. |
| </summary> |
| </metric> |
| <metric name="EstimatedOriginalNetworkBytes"> |
| <summary> |
| The estimated number of bytes that would have been used if that proxy was |
| disabled on this page load. Recorded for each navigation that uses the |
| proxy. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="DevTools.Opened"> |
| <owner>skrakowi@chromium.org</owner> |
| <owner>chrome-counter-abuse-core@google.com</owner> |
| <summary> |
| Records that the DevTools were opened by the user. |
| </summary> |
| <metric name="HasOccurred" enum="Boolean"> |
| <summary> |
| A boolean signaling that the DevTools menu was opened by the user; only |
| records true values. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="DIPS.ChainBegin" singular="True"> |
| <owner>rtarpine@google.com</owner> |
| <owner>dc-komics@google.com</owner> |
| <summary> |
| Emitted after a redirect chain terminates, but for the page visited before |
| the chain began -- the initial URL. |
| </summary> |
| <metric name="ChainId"> |
| <summary> |
| A randomly-generated 32-bit id to connect this event with the |
| DIPS.Redirect and DIPS.ChainEnd events emitted for the same redirect |
| chain. |
| </summary> |
| </metric> |
| <metric name="InitialAndFinalSitesSame" enum="BooleanSameSite"> |
| <summary> |
| True when the site before the redirect chain is the same as the site at |
| the end of the chain. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="DIPS.ChainEnd" singular="True"> |
| <owner>rtarpine@google.com</owner> |
| <owner>dc-komics@google.com</owner> |
| <summary> |
| Emitted for the page visited at the end of a redirect chain -- the final |
| URL. |
| </summary> |
| <metric name="ChainId"> |
| <summary> |
| A randomly-generated 32-bit id to connect this event with the |
| DIPS.ChainBegin and DIPS.Redirect events emitted for the same redirect |
| chain. |
| </summary> |
| </metric> |
| <metric name="InitialAndFinalSitesSame" enum="BooleanSameSite"> |
| <summary> |
| True when the site before the redirect chain is the same as the site at |
| the end of the chain. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="DIPS.Deletion" singular="True"> |
| <owner>rtarpine@google.com</owner> |
| <owner>dc-komics@google.com</owner> |
| <summary> |
| Recorded when DIPS judges a site to be an incidental party and deletes its |
| state if specific conditions are met. |
| </summary> |
| <metric name="HasCookieException" enum="Boolean"> |
| <summary> |
| True iff the user has a third-party cookies blocking exception for the |
| site (as a third-party). |
| </summary> |
| </metric> |
| <metric name="IsDeletionEnabled" enum="Boolean"> |
| <summary> |
| True iff site data deletion is enabled for the DIPS service. |
| </summary> |
| </metric> |
| <metric name="ShouldBlockThirdPartyCookies" enum="Boolean"> |
| <summary> |
| True when third-party cookies are blocked. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="DIPS.NavigationFlowNode" singular="True"> |
| <owner>svend@google.com</owner> |
| <owner>dc-komics@google.com</owner> |
| <summary> |
| When a user visits three consecutive pages A->B->C within a tab, B |
| accesses cookies or storage, and the site (eTLD+1) for B is different from |
| the sites of A and C, then this event is recorded. |
| </summary> |
| <metric name="DidHaveSuccessfulWAA" enum="Boolean"> |
| <summary> |
| True if this page had a successful WebAuthn assertion during the visit. |
| </summary> |
| </metric> |
| <metric name="DidHaveUserActivation" enum="Boolean"> |
| <summary> |
| True if this page received user activation (click, etc.) during the visit. |
| </summary> |
| </metric> |
| <metric name="DidSiteHavePreviousUserActivation" enum="Boolean"> |
| <summary> |
| True if DIPS had a record of user activation on this page's site prior to |
| this visit to this page. |
| </summary> |
| </metric> |
| <metric name="VisitDurationMilliseconds"> |
| <summary> |
| The number of milliseconds this page was the primary page for, |
| exponentially bucketed. The duration increases as long as the page is the |
| primary page in its tab, even if the tab is not the active tab. |
| </summary> |
| </metric> |
| <metric name="WasEntryUserInitiated" enum="Boolean"> |
| <summary> |
| True if the navigation from the prior page to this page was initiated by a |
| user gesture (e.g., typing a URL into the omnibar, clicking a link, etc.). |
| </summary> |
| </metric> |
| <metric name="WasExitUserInitiated" enum="Boolean"> |
| <summary> |
| True if the navigation from this page to the next page was initiated by a |
| user gesture (e.g., typing a URL into the omnibar, clicking a link, etc.). |
| </summary> |
| </metric> |
| <metric name="WereEntryAndExitRendererInitiated" enum="Boolean"> |
| <summary> |
| True if both the navigation from the prior page to this page, as well as |
| the navigation from this page to the next page, were initiated from the |
| renderer (e.g., by clicking a link in page content, etc.). |
| </summary> |
| </metric> |
| <metric name="WerePreviousAndNextSiteSame" enum="Boolean"> |
| <summary> |
| True if the site (eTLD+1) for the page visited immediately prior to this |
| one (in the same tab) is the same as the site for the page visited |
| immediately after this one (in the same tab). |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="DIPS.Redirect" singular="True"> |
| <owner>rtarpine@google.com</owner> |
| <owner>dc-komics@google.com</owner> |
| <summary> |
| Recorded on every HTTP redirect or client-side bounce, where a client-side |
| bounce is a non-user-initiated navigation starting soon after the previous |
| navigation committed. |
| </summary> |
| <metric name="ChainId"> |
| <summary> |
| A randomly-generated 32-bit id to connect this event with other |
| DIPS.Redirect events and the DIPS.ChainBegin/ChainEnd events emitted for |
| the same redirect chain. |
| </summary> |
| </metric> |
| <metric name="ClientBounceDelay"> |
| <summary> |
| Populated for client redirects only. The time in seconds (capped at 10) |
| between the page committing and the redirect navigation starting. An int |
| in the range [0, 10]. |
| </summary> |
| </metric> |
| <metric name="CookieAccessType" enum="CookieAccessType"> |
| <summary> |
| Whether the redirect read cookies, wrote cookies, both, or neither. |
| </summary> |
| </metric> |
| <metric name="HasStickyActivation" enum="BooleanHasUserActivation"> |
| <summary> |
| Populated for client redirects only. Whether the user interacted with the |
| page (See the HTML spec for a definition). This info is persistem within |
| DIPS for a duration of `dips::kInteractionTtl`. |
| </summary> |
| </metric> |
| <metric name="InitialAndFinalSitesSame" enum="BooleanSameSite"> |
| <summary> |
| True when the site before the redirect chain is the same as the site at |
| the end of the chain. |
| </summary> |
| </metric> |
| <metric name="IsPartialRedirectChain"> |
| <summary> |
| True if the chain is missing the end URL. Any comparisons to the final |
| site are invalid for this redirect. |
| </summary> |
| </metric> |
| <metric name="RedirectAndFinalSiteSame" enum="BooleanSameSite"> |
| <summary> |
| True when the redirect site is the same as the site at the end of the |
| redirect chain. |
| </summary> |
| </metric> |
| <metric name="RedirectAndInitialSiteSame" enum="BooleanSameSite"> |
| <summary> |
| True when the redirect site is the same as the site before the redirect |
| chain. |
| </summary> |
| </metric> |
| <metric name="RedirectChainIndex"> |
| <summary> |
| 0-based index of this individual redirect within its chain. |
| </summary> |
| </metric> |
| <metric name="RedirectChainLength"> |
| <summary> |
| The length of the overall redirect chain. |
| </summary> |
| </metric> |
| <metric name="RedirectType" enum="DIPSRedirectType"> |
| <summary> |
| The type of the redirect: client or server. |
| </summary> |
| </metric> |
| <metric name="SiteEngagementLevel" enum="SiteEngagementLevel"> |
| <summary> |
| The site engagement level of the redirect URL, at the time the redirect |
| took place. |
| </summary> |
| </metric> |
| <metric name="WebAuthnAssertionRequestSucceeded" |
| enum="BooleanWebAuthnAssertionRequestSucceeded"> |
| <summary> |
| Populated for client redirects only. Whether the user triggered a |
| successful web authn assertion. This info is persistem within DIPS for a |
| duration of `dips::kInteractionTtl`. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="DIPS.TriggeringAction"> |
| <owner>kaklilu@google.com</owner> |
| <owner>dc-komics@google.com</owner> |
| <summary> |
| Recorded on a repeated interval when DIPS may want to clear site storage to |
| improve user privacy. These metrics will be used to determine which |
| triggering action is most appropriate for our use case. |
| |
| When these cases occur, the DIPS instance recording these metrics will keep |
| track of which triggering actions have already happened to prevent logging |
| duplicate metrics. |
| </summary> |
| <metric name="DidBounce" enum="Boolean"> |
| <summary> |
| True for sites that redirected the user since the last time the DIPS |
| instance attempted to clear site storage. |
| </summary> |
| </metric> |
| <metric name="DidStatefulBounce" enum="Boolean"> |
| <summary> |
| True for sites that redirected the user while accessing storage since the |
| last time the DIPS instance attempted to clear site storage. |
| </summary> |
| </metric> |
| <metric name="UsedStorage" enum="Boolean"> |
| <summary> |
| True for sites wrote to the browser's storage since the last time the DIPS |
| instance attempted to clear site storage. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="DocumentCreated"> |
| <owner>rakina@chromium.org</owner> |
| <owner>navigation-dev@chromium.org</owner> |
| <summary> |
| Recorded when a Document object is created and records the source ID of the |
| navigation and whether the document was in the main frame. This can be used |
| to link subframe UKM events to the parent document. |
| </summary> |
| <metric name="IsCrossOriginFrame"> |
| <summary> |
| Whether the document was in a cross origin iframe. This can either be 0 or |
| 1. |
| </summary> |
| </metric> |
| <metric name="IsCrossSiteFrame"> |
| <summary> |
| Whether the document was in a cross site iframe. This can either be 0 or |
| 1. |
| </summary> |
| </metric> |
| <metric name="IsMainFrame"> |
| <summary> |
| Whether the document was in the main frame. This is can either be 0 or 1. |
| </summary> |
| </metric> |
| <metric name="NavigationSourceId"> |
| <summary> |
| Contains the UKM source id of the navigation as an integer. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Download.Completed"> |
| <owner>clank-downloads@google.com</owner> |
| <summary> |
| Metrics taken when a download completes. Its parent event is |
| Download.Started. |
| </summary> |
| <metric name="BytesWasted"> |
| <summary> |
| The number of bytes that have been used in an excess (ie. download |
| restarting the middle of a download). |
| </summary> |
| </metric> |
| <metric name="DownloadId"> |
| <summary> |
| The id of the download that is used to associate separate events. |
| </summary> |
| </metric> |
| <metric name="ResultingFileSize"> |
| <summary> |
| The size of the file that is downloaded, expressed in kilobytes with |
| exponentially growing buckets. |
| </summary> |
| </metric> |
| <metric name="TimeSinceStart"> |
| <summary> |
| The difference in the time between when the download finished and when it |
| began, expressed in milliseconds. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Download.Interrupted"> |
| <owner>clank-downloads@google.com</owner> |
| <summary> |
| Metrics taken when a download is interrupted. Its parent event is |
| Download.Started. |
| </summary> |
| <metric name="BytesWasted"> |
| <summary> |
| The number of bytes that have been used in an excess (ie. download |
| restarting the middle of a download). |
| </summary> |
| </metric> |
| <metric name="ChangeInFileSize"> |
| <summary> |
| The difference in the size of the file that is downloaded compared to the |
| initial reported size, expressed in kilobytes with exponentially growing |
| buckets. |
| </summary> |
| </metric> |
| <metric name="DownloadId"> |
| <summary> |
| The id of the download that is used to associate separate events. |
| </summary> |
| </metric> |
| <metric name="Reason"> |
| <summary> |
| The reason the download was interrupted, expressed as an enum defined in |
| DownloadInterruptReason. |
| </summary> |
| </metric> |
| <metric name="ResultingFileSize"> |
| <summary> |
| The size of the file that is downloaded, expressed in kilobytes with |
| exponentially growing buckets. |
| </summary> |
| </metric> |
| <metric name="TimeSinceStart"> |
| <summary> |
| The difference in the time between when the download interrupted and when |
| it began, expressed in milliseconds. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Download.Resumed"> |
| <owner>clank-downloads@google.com</owner> |
| <summary> |
| Metrics taken when a download is resumed. Its parent event is |
| Download.Started. |
| </summary> |
| <metric name="DownloadId"> |
| <summary> |
| The id of the download that is used to associate separate events. |
| </summary> |
| </metric> |
| <metric name="Mode"> |
| <summary> |
| The mode by which the download was resumed, expressed as an enum defined |
| in ResumeMode. |
| </summary> |
| </metric> |
| <metric name="TimeSinceStart"> |
| <summary> |
| The difference in the time between when the download resumed and when it |
| began, expressed in milliseconds. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Download.Started"> |
| <owner>clank-downloads@google.com</owner> |
| <summary> |
| Metrics taken when a download begins. It has one Download.Ended and none to |
| multiple Download.Interrupted/Download.Resumed events associated with it. |
| </summary> |
| <metric name="DownloadConnectionSecurity"> |
| <summary> |
| The state of the security of the final download URL and all the redirects |
| leading to it. Expressed as an enum defined in DownloadConnectionSecurity. |
| </summary> |
| </metric> |
| <metric name="DownloadId"> |
| <summary> |
| The id of the download that is used to associate separate events. |
| </summary> |
| </metric> |
| <metric name="DownloadSource"> |
| <summary> |
| The source of the download, expressed as an enum defined in DownloadEntry. |
| </summary> |
| </metric> |
| <metric name="FileType"> |
| <summary> |
| The type of file that is downloaded, expressed as an enum defined in |
| DownloadContentType. |
| </summary> |
| </metric> |
| <metric name="IsSameHostDownload"> |
| <summary> |
| A boolean denoting if the final download URL is the same host as the |
| initiating frame (i.e., whether the initiating site likely controls the |
| download itself). |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Event.Scroll"> |
| <owner>woa-performance@google.com</owner> |
| <summary> |
| Metrics related to scroll and scroll jank, |
| </summary> |
| <metric name="FrameCount"> |
| <summary> |
| The number of frames that are presented during the scroll. If this is less |
| than or equal to 16, then the presented frame count is considered small; |
| if this is greater than 16 and less than or equal to 64 presented frames, |
| then it is considered medium; if this is greater than 64 presented frames, |
| then it is considered large. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="PredictorJankyFrameCount"> |
| <summary> |
| The number of frames that are deemed janky to the human eye after Chrome |
| has applied its scroll prediction algorithm.. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ScrollJank.DelayedFrameCount"> |
| <summary> |
| The number of delayed frames. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ScrollJank.MissedVsyncsMax"> |
| <summary> |
| The maximum number of vsyncs missed during any and all janks. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ScrollJank.MissedVsyncsSum"> |
| <summary> |
| The total number of vsyncs missed during any and all janks that occurred. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="VsyncCount"> |
| <summary> |
| The number of vsyncs that occur during the scroll. If this is less than or |
| equal to 16, then the number of vsyncs is considered small; if this is |
| greater than 16 and less than or equal to 64 vsyncs, then it is considered |
| medium; if this is greater than 64 vsyncs, then is considered large. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Event.ScrollJank.PredictorJank"> |
| <owner>woa-performance@google.com</owner> |
| <summary> |
| Recorded for scroll update events only if the conditions for janky predictor |
| metrics are met - if the ratio of displacement between any consecutive |
| frames is above a particular threshold. Threshold depends on scroll speed |
| and screen displacement in pixels. |
| </summary> |
| <metric name="MaxDelta"> |
| <summary> |
| The maximum scroll delta at a given update, when compared to its two |
| neighbors. If this value is less than 7 (kScrollDeltaThreshold in |
| PredictorJankTracker), then the scroll is considered slow. Above this |
| threshold, the scroll is considered fast. This also helps to determine |
| what the threshold for jank should be. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ScrollUpdate.MissedVsync.FrameAboveJankyThreshold2"> |
| <summary> |
| The total number of times that there was a larger displacement at a given |
| frame relative to its neighboring frames in the sequence, if the previous |
| vsync was missed. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ScrollUpdate.NoMissedVsync.FrameAboveJankyThreshold2"> |
| <summary> |
| The total number of times that there was a larger displacement at a given |
| frame relative to its neighboring frames in the sequence, if the previous |
| vsync was not missed. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Extensions.BackgroundContentsCreated"> |
| <owner>erikchen@chromium.org</owner> |
| <summary> |
| Recorded each time a background contents creates its first renderer by |
| navigating its initial WebContents. |
| </summary> |
| <metric name="Seen" enum="Boolean"> |
| <summary> |
| Dummy Boolean as UKM does not support events with no metrics. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Extensions.MV2ExtensionHandledInSoftDisable"> |
| <owner>rdevlin.cronin@chromium.org</owner> |
| <owner>emiliapaz@chromium.org</owner> |
| <summary> |
| Recorded each time a user either re-enables or removes an extension affected |
| by the Manifest V2 deprecation during the "soft disable" |
| deprecation phase. Recorded when the user takes this action. This is only |
| recorded for extensions that update from the Chrome Web Store. |
| </summary> |
| <metric name="Action" enum="ExtensionMV2DeprecationAction"> |
| <summary> |
| The action the user took on the extension. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Extensions.OnNavigation" singular="True"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>sisidovski@chromium.org</owner> |
| <owner>hiroshige@chromium.org</owner> |
| <owner>kouhei@chromium.org</owner> |
| <summary> |
| Records the extension related metrics that might have negative impacts on |
| LCP. This is recorded when navigation is finished. |
| </summary> |
| <metric name="DeclarativeNetRequestFeedbackPermissionCount"> |
| <summary> |
| The number of enabled extensions that have a DeclarativeNetRequestFeedback |
| permission. The exponential bucketing is applied for privacy reasons by |
| using ukm::GetExponentialBucketMin(value, 2). |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="DeclarativeNetRequestPermissionCount"> |
| <summary> |
| The number of enabled extensions that have a DeclarativeNetRequest |
| permission. The exponential bucketing is applied for privacy reasons by |
| using ukm::GetExponentialBucketMin(value, 2). |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="DeclarativeNetRequestWithHostAccessPermissionCount"> |
| <summary> |
| The number of enabled extensions that have a |
| DeclarativeNetRequestWithHostAccess permission. The exponential bucketing |
| is applied for privacy reasons by using |
| ukm::GetExponentialBucketMin(value, 2). |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="DeclarativeWebRequestPermissionCount"> |
| <summary> |
| The number of enabled extensions that have a DeclarativeWebRequest |
| permission. The exponential bucketing is applied for privacy reasons by |
| using ukm::GetExponentialBucketMin(value, 2). |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="EnabledExtensionCount"> |
| <summary> |
| The number of enabled extensions that are not themes nor apps nor |
| components. The exponential bucketing is applied for privacy reasons by |
| using ukm::GetExponentialBucketMin(value, 2). |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="EnabledExtensionCount.HaveHostPermissions"> |
| <summary> |
| The number of enabled extensions that have host permissions for the |
| navigation target URL. The exponential bucketing is applied for privacy |
| reasons by using ukm::GetExponentialBucketMin(value, 2). |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="EnabledExtensionCount.InjectContentScript"> |
| <summary> |
| The number of enabled extensions that inject content scripts. The |
| exponential bucketing is applied for privacy reasons by using |
| ukm::GetExponentialBucketMin(value, 2). |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="WebRequestAuthProviderPermissionCount"> |
| <summary> |
| The number of enabled extensions that have a WebRequestAuthProvider |
| permission. The exponential bucketing is applied for privacy reasons by |
| using ukm::GetExponentialBucketMin(value, 2). |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="WebRequestBlockingPermissionCount"> |
| <summary> |
| The number of enabled extensions that have a WebRequestBlocking |
| permission. The exponential bucketing is applied for privacy reasons by |
| using ukm::GetExponentialBucketMin(value, 2). |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="WebRequestPermissionCount"> |
| <summary> |
| The number of enabled extensions that have a WebRequest permission. The |
| exponential bucketing is applied for privacy reasons by using |
| ukm::GetExponentialBucketMin(value, 2). |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Extensions.WebRequest.KeepaliveRequestFinished"> |
| <owner>yhirano@chromium.org</owner> |
| <owner>kinuko@chromium.org</owner> |
| <summary> |
| Whether and how keepalive requests are blocked. Recorded when a keepalive |
| request finishes. |
| </summary> |
| <metric name="NumRedirects"> |
| <summary> |
| The number of redirects the request experienced. This is up to 21, as |
| specified at https://fetch.spec.whatwg.org/#http-redirect-fetch . |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="State" enum="ExtensionInProgressRequestState"> |
| <summary> |
| The final state of the request. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="FacilitatedPayments.Pix.Transaction"> |
| <owner>vishwasuppoor@google.com</owner> |
| <owner>siashah@google.com</owner> |
| <owner>rouslan@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| An event that is logged when a FacilitatedPayments transaction is completed. |
| </summary> |
| <metric name="Result" enum="FacilitatedPayments.TransactionResult"> |
| <summary> |
| The result of the transaction. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="TriggerSource" enum="FacilitatedPayments.TriggerSource"> |
| <summary> |
| The trigger source for this transaction. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="FacilitatedPayments.PixCodeDetectionResult"> |
| <owner>vishwasuppoor@google.com</owner> |
| <owner>siashah@google.com</owner> |
| <owner>rouslan@chromium.org</owner> |
| <owner>payments-autofill-team@google.com</owner> |
| <summary> |
| An event that is logged after a PIX code detection is triggered on the page. |
| </summary> |
| <metric name="Attempts"> |
| <summary> |
| The number of attempts at PIX code detection on a given page. Each attempt |
| is a full scan of the document DOM tree. Repeated attempts are made if a |
| PIX code was not found on the page, but the page URL is allowlisted. The |
| retry attempts are limited. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="DetectionTriggeredOnDomContentLoaded" enum="Boolean"> |
| <summary> |
| Whether PIX code detection was triggered on DOMContentLoaded instead of |
| DidFinishLoad. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="LatencyInMillis"> |
| <summary> |
| The duration (in milliseconds) for how long it took to scan the document |
| for PIX code. It is the time between the browser sending a message to the |
| renderer to trigger PIX code detection and the renderer returning the |
| result of the scan. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Result" enum="PixCodeDetectionResult"> |
| <summary> |
| Represents the outcome of running PIX code detection on the page. It is |
| used to log whether or not PIX detection was run, and if a valid PIX code |
| was found on the page. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="FamilyLinkUser.BlockedContent"> |
| <owner>chrome-kids-eng@google.com</owner> |
| <summary> |
| Logged whenever a page load for a supervised user had some or all of its |
| content blocked. Either MainFrameBlocked is true, or NumBlockedIframes is |
| non-zero. |
| </summary> |
| <metric name="MainFrameBlocked" enum="Boolean"> |
| <summary> |
| Whether the main frame for the navigation was blocked (in which case) none |
| of the content of the site is loaded. |
| </summary> |
| </metric> |
| <metric name="NumBlockedIframes"> |
| <summary> |
| The number of Iframes that were blocked by the supervised user filtering |
| logic in this page load. Exponentially bucketed. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="FastCheckout.FormStatus"> |
| <owner>bwolfgang@google.com</owner> |
| <owner>jkeitel@google.com</owner> |
| <owner>vizcay@google.com</owner> |
| <summary> |
| Recorded at the end of a Fast Checkout run. |
| </summary> |
| <metric name="Filled" enum="Boolean"> |
| <summary> |
| 1 if the form was filled by Fast Checkout, 0 otherwise. |
| </summary> |
| </metric> |
| <metric name="FormSignature"> |
| <summary> |
| An approximately 10-bit hash of the form's actual signature. |
| </summary> |
| </metric> |
| <metric name="FormTypes"> |
| <summary> |
| Type of form. Stored as bitvector. A set i-th bit implies enum |
| FormTypeNameForLogging's i-th type was detected. Multiple types are |
| possible. |
| </summary> |
| </metric> |
| <metric name="RunId"> |
| <summary> |
| Unique run ID for linking to other UKM events. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="FastCheckout.RunOutcome"> |
| <owner>bwolfgang@google.com</owner> |
| <owner>jkeitel@google.com</owner> |
| <owner>vizcay@google.com</owner> |
| <summary> |
| Recorded at the end of a Fast Checkout run. |
| </summary> |
| <metric name="RunId"> |
| <summary> |
| Unique run ID for linking to other UKM events. |
| </summary> |
| </metric> |
| <metric name="RunOutcome" enum="FastCheckoutRunOutcome"> |
| <summary> |
| States if the run was successful or why it was not. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="FileSystemAPI.WebRequest"> |
| <owner>mek@chromium.org</owner> |
| <owner>rhalavatigit@chromium.org</owner> |
| <summary> |
| Logged when a website requests accessing FileSystem API. |
| </summary> |
| <metric name="Persistent"> |
| <summary> |
| Marks a request for a Persistent FileSystem. |
| </summary> |
| </metric> |
| <metric name="Temporary"> |
| <summary> |
| Marks a request for a Temporary FileSystem. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="FingerprintingProtection" singular="True"> |
| <owner>rizvis@google.com</owner> |
| <owner>theslasa@google.com</owner> |
| <owner>trishalfonso@google.com</owner> |
| <summary> |
| Recorded for page loads where fingerprinting protection filtering policy was |
| evaluated. |
| </summary> |
| <metric name="ActivationDecision"> |
| <summary> |
| Enum that records the policy decision to activate subresource filtering |
| for a page load. 0 = Unknown, 1 = Activated, 2 = Disabled, 3 = Deprecated |
| value, 4 = URL allowlisted, 5 = Activation conditions not met. 'Activated' |
| indicates that subresource filtering was activated. All other reasons |
| indicate that subresource filtering was not activated. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="AllowlistSource"> |
| <summary> |
| Enum that records the source of the fingerprinting protection filtering |
| allowlist entry. 0 = Unknown, 1 = UserBypass, 2 = Enterprise. Recorded |
| only when `ActivationDecision` is "URL allowlisted" |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="DryRun"> |
| <summary> |
| Records `1` if the fingerprinting protection filtering was activated in |
| dry-run mode. In dry-run mode, fingerprinting protection filtering policy |
| is evaluated against resources loaded on the page, but subresource |
| blocking is not actually applied. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="FlocPageLoad" singular="True"> |
| <owner>yaoxia@chromium.org</owner> |
| <owner>jkarlin@chromium.org</owner> |
| <summary> |
| Whenever the floc is computed, this event will be recorded at the commit |
| time of the next page load. Caveat: if the browser is closed before the next |
| page load occurs (in a new session), the event won't be recorded. |
| </summary> |
| <metric name="FlocId"> |
| <summary> |
| The user's floc id. This ignores any general or per-context access |
| permissions, and records the internal int64_t number directly. This metric |
| may still be skipped if the floc was not calculated or has been |
| invalidated. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Fullscreen.Enter"> |
| <owner>muyaoxu@google.com</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| The browser enters the fullscreen mode. |
| </summary> |
| <metric name="LockState" enum="FullscreenLockState"> |
| <summary> |
| The keyboard and pointer lock states. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Fullscreen.Exit"> |
| <owner>muyaoxu@google.com</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| The browser exits the fullscreen mode. |
| </summary> |
| <metric name="SessionDuration"> |
| <summary> |
| Duration of the fullscreen session. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="GameControls.ButtonOptionsMenuFunctionTriggered"> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>pjlee@google.com</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| Logged when Game Controls' options menu button functions are triggered. |
| </summary> |
| <metric name="Function" enum="GameControlsButtonOptionsMenuFunction"> |
| <summary> |
| The functions on the button options menu. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="GameControls.EditDeleteMenuFuctionTriggered"> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>pjlee@google.com</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| Logged when Game Controls edit-delete menu functions are triggered. |
| </summary> |
| <metric name="Function" enum="GameControlsEditDeleteMenuFunction"> |
| <summary> |
| The functions on the edit-delete menu. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="GameControls.EditingListFunctionTriggered"> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>pjlee@google.com</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| Logged when Game Controls editing list functions are triggered. |
| </summary> |
| <metric name="Function" enum="GameControlsEditingListFunction"> |
| <summary> |
| The functions on the editing list. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="GameControls.ToggleWithMappingSource"> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>pjlee@google.com</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| Logged when Game Controls feature or hint is toggled on or off. |
| </summary> |
| <metric name="Function" enum="GameControlsToggleFunction"> |
| <summary> |
| Toggle the feature or mapping hint. |
| </summary> |
| </metric> |
| <metric name="MappingSource" enum="GameControlsMappingSource"> |
| <summary> |
| Toggle the feature or mapping hint. |
| </summary> |
| </metric> |
| <metric name="ToggleOn" enum="Boolean"> |
| <summary> |
| Whether the function is toggled on or off. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="GameDashboard.ControlsFeatureToggleState"> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>phshah@chromium.org</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| Logged when Game Controls feature is toggled on or off. |
| </summary> |
| <metric name="ToggleOn" enum="Boolean"> |
| <summary> |
| Game Controls feature is toggled on or off. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="GameDashboard.ControlsHintToggleSource"> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>phshah@chromium.org</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| Logged when Game Controls mapping hint is toggled on or off. |
| </summary> |
| <metric name="Source" enum="GameDashboardMenu"> |
| <summary> |
| Where the mapping hint is toggled from. |
| </summary> |
| </metric> |
| <metric name="ToggleOn" enum="Boolean"> |
| <summary> |
| Game Controls mapping hint is toggled on or off. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="GameDashboard.EditControlsWithEmptyState"> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>phshah@chromium.org</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| Logged whether Game Controls is empty when entering Game Controls edit mode. |
| </summary> |
| <metric name="Empty" enum="Boolean"> |
| <summary> |
| Whether Game Controls is empty. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="GameDashboard.FunctionTriggered"> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>phshah@chromium.org</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| Logged when the game dashboard functions are triggered. |
| </summary> |
| <metric name="Function" enum="GameDashboardFunction"> |
| <summary> |
| Game dashboard function. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="GameDashboard.RecordingStartSource"> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>phshah@chromium.org</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| Logged where the recording starts from. |
| </summary> |
| <metric name="Source" enum="GameDashboardMenu"> |
| <summary> |
| Where is the recording started from, main menu or toolbar. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="GameDashboard.ScreenshotTakeSource"> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>phshah@chromium.org</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| Logged where the screenshot is taken from. |
| </summary> |
| <metric name="Source" enum="GameDashboardMenu"> |
| <summary> |
| Where is the screenshot taken from, main menu or toolbar. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="GameDashboard.ToggleMainMenu"> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>phshah@chromium.org</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| Logged when the game dashboard main menu is toggled on or off and how it is |
| toggled. |
| </summary> |
| <metric name="ToggleMethod" enum="GameDashboardMainMenuToggleMethod"> |
| <summary> |
| How the main menu is toggled. |
| </summary> |
| </metric> |
| <metric name="ToggleOn" enum="Boolean"> |
| <summary> |
| Whether the main menu is toggled on or off. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="GameDashboard.ToolbarClickToExpandState"> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>phshah@chromium.org</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| Logged when the game dashboard toolbar is expanded or collapsed. |
| </summary> |
| <metric name="Expanded" enum="Boolean"> |
| <summary> |
| Whether the toolbar is expanded. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="GameDashboard.ToolbarNewLocation"> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>phshah@chromium.org</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| Logged when the game dashboard toolbar is snapped to a new location. |
| </summary> |
| <metric name="Location" enum="GameDashboardToolbarSnapLocation"> |
| <summary> |
| Toolbar new snap location. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="GameDashboard.ToolbarToggleState"> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>phshah@chromium.org</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| Logged when the game dashboard toolbar is toggled on or off. |
| </summary> |
| <metric name="ToggleOn" enum="Boolean"> |
| <summary> |
| Whether the toolbar is toggled on or off. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="GameDashboard.WelcomeDialogNotificationToggleState"> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>phshah@chromium.org</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| Logged when the game dashboard welcome dialog notification is toggled on or |
| off. |
| </summary> |
| <metric name="ToggleOn" enum="Boolean"> |
| <summary> |
| Welcome dialog notification is toggled on or off. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="GamingInputOverlay.ActionRepositionOperationType"> |
| <owner>pjlee@google.com</owner> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| An event that is logged when key mapping position is changed. |
| </summary> |
| <metric name="OperationType" enum="ArcInputOverlayRepositionOperationType"> |
| <summary> |
| Type about how the reposition is done. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="GamingInputOverlay.ActionRepositionWindowStateType"> |
| <owner>pjlee@google.com</owner> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| An event that is logged when key mapping position is changed. |
| </summary> |
| <metric name="WindowStateType" enum="ArcInputOverlayWindowStateType"> |
| <summary> |
| Window state type when the reposition is done. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="GamingInputOverlay.ButtonGroupRepositionOperationType"> |
| <owner>pjlee@google.com</owner> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| An event that is logged when button group position is changed. |
| </summary> |
| <metric name="OperationType" enum="ArcInputOverlayRepositionOperationType"> |
| <summary> |
| Type about how the reposition is done. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="GamingInputOverlay.ButtonGroupRepositionWindowStateType"> |
| <owner>pjlee@google.com</owner> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| An event that is logged when menu entry position is changed. |
| </summary> |
| <metric name="WindowStateType" enum="ArcInputOverlayWindowStateType"> |
| <summary> |
| Window state type when the reposition is done. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="GamingInputOverlay.Customization"> |
| <owner>pjlee@google.com</owner> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| An event for gaming input overlay that is logged when users enter into edit |
| mode. |
| </summary> |
| <metric name="CustomizationUsed" enum="Boolean"> |
| <summary> |
| Whether the customization option was used. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="GamingInputOverlay.Feature"> |
| <owner>pjlee@google.com</owner> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| An event for gaming input overlay that is logged when the input overlay |
| feature itself changes state. |
| </summary> |
| <metric name="FeatureStateOn" enum="Boolean"> |
| <summary> |
| Whether the gaming input overlay feature is in use. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="GamingInputOverlay.MappingHint"> |
| <owner>pjlee@google.com</owner> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| An event for gaming input overlay that is logged when the mapping hint state |
| is changed. |
| </summary> |
| <metric name="MappingHintStateOn" enum="Boolean"> |
| <summary> |
| Whether the mapping hint for gaming input overlay is on. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="GamingInputOverlay.MenuEntryRepositionOperationType"> |
| <owner>pjlee@google.com</owner> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| An event that is logged when key mapping position is changed. |
| </summary> |
| <metric name="OperationType" enum="ArcInputOverlayRepositionOperationType"> |
| <summary> |
| Type about how the reposition is done. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="GamingInputOverlay.MenuEntryRepositionWindowStateType"> |
| <owner>pjlee@google.com</owner> |
| <owner>cuicuiruan@google.com</owner> |
| <owner>arc-gaming@google.com</owner> |
| <summary> |
| An event that is logged when menu entry position is changed. |
| </summary> |
| <metric name="WindowStateType" enum="ArcInputOverlayWindowStateType"> |
| <summary> |
| Window state type when the reposition is done. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="GeneratedNavigation" singular="True"> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>avi@chromium.org</owner> |
| <summary> |
| Logged when the user navigated to their home page or their default search |
| engine. Recorded if the first URL or the final URL matches the pattern for |
| Default Search or matches the user's home page URL. Recorded upon commit |
| (even if the page was not foreground). |
| </summary> |
| <metric name="FinalURLIsDefaultSearchEngine"> |
| <summary> |
| If the navigation committed URL matches the template URL of the user's |
| Default Search Engine. |
| </summary> |
| </metric> |
| <metric name="FinalURLIsHomePage"> |
| <summary> |
| If the navigation committed URL matches the user's home page URL. Not |
| recorded on Android because home page is managed outside of Chrome. |
| </summary> |
| </metric> |
| <metric name="FirstURLIsDefaultSearchEngine"> |
| <summary> |
| If the navigation starting URL matches the template URL of the user's |
| Default Search Engine. |
| </summary> |
| </metric> |
| <metric name="FirstURLIsHomePage"> |
| <summary> |
| If the navigation starting URL (first URL in the redirect chain) matches |
| the user's home page URL. Not recorded on Android because home page is |
| managed outside of Chrome. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="GoogleDocsOfflineExtension"> |
| <owner>rhalavati@chromium.org</owner> |
| <owner>chrome-privacy-core@google.com</owner> |
| <summary> |
| Logged when a website requests a shared resource from Google Docs Offline |
| Extension. Note that this is double counted for imports since it is done |
| once in preload and once in actual load. |
| </summary> |
| <metric name="ResourceRequested"> |
| <summary> |
| Marks a resource request from a website. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Graphics.Smoothness.EventLatency"> |
| <owner>jonross@chromium.org</owner> |
| <summary> |
| Tracks the duration of stages in the rendering pipeline when processing a |
| single frame in response to an input event. To meet UKM goals for data |
| volume, a Poisson process with an exponential decay multiplier is used to |
| sample events for recporting. It will sample many reandomly distributed |
| events early during page load and initial interaction, then samples at an |
| exponentially decreasing rate to effectively cap the number of samples. All |
| times are in microseconds. |
| </summary> |
| <metric name="Activation"> |
| <summary> |
| The duration of the activation stage, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="BeginImplFrameToSendBeginMainFrame"> |
| <summary> |
| The time from when the Impl frame is started to when BeginMainFrame is |
| sent, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Commit"> |
| <summary> |
| The duration of the commit stage, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="EndActivateToSubmitCompositorFrame"> |
| <summary> |
| The time from when an activation is complete to the next |
| SubmitCompositorFrame, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="EndCommitToActivation"> |
| <summary> |
| The time from when a commit is complete to the beginning of the next |
| activation, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="EventType" enum="EventLatencyEventType"> |
| <summary> |
| Type of the input event. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="GenerationToRendererCompositor"> |
| <summary> |
| The time from when the event is created until it arrives in the renderer |
| compositor, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="PinchInputType" enum="EventLatencyPinchInputType"> |
| <summary> |
| Type of the input device for pinch events. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RendererCompositorFinishedToActivation"> |
| <summary> |
| The time from when the event processing is finished on the renderer |
| compositor until the beginning of the activation, in microseconds. This |
| metric is only reported if the event is handled on the renderer compositor |
| and the first compositor step after that is the beginning of the |
| activation. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RendererCompositorFinishedToBeginImplFrame"> |
| <summary> |
| The time from when the event processing is finished on the renderer |
| compositor until the compositor frame is started, in microseconds. This |
| metric is only reported if the event is handled on the renderer compositor |
| and compositor frame is started after that. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RendererCompositorFinishedToCommit"> |
| <summary> |
| The time from when the event processing is finished on the renderer |
| compositor until the beginning of the commit, in microseconds. This metric |
| is only reported if the event is handled on the renderer compositor and |
| the first compositor step after that is the beginning of the commit. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RendererCompositorFinishedToEndActivate"> |
| <summary> |
| The time from when the event processing is finished on the renderer |
| compositor until the end of the activation, in microseconds. This metric |
| is only reported if the event is handled on the renderer compositor and |
| the first compositor step after that is the end of the activation. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RendererCompositorFinishedToEndCommit"> |
| <summary> |
| The time from when the event processing is finished on the renderer |
| compositor until the end of the commit, in microseconds. This metric is |
| only reported if the event is handled on the renderer compositor and the |
| first compositor step after that is the end of the commit. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RendererCompositorFinishedToSendBeginMainFrame"> |
| <summary> |
| The time from when the event processing is finished on the renderer |
| compositor until BeginMainFrame is sent, in microseconds. This metric is |
| only reported if the event is handled on the renderer compositor and the |
| first compositor step after that is SendBeginMainFrame. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RendererCompositorFinishedToSubmitCompositorFrame"> |
| <summary> |
| The time from when the event processing is finished on the renderer |
| compositor until the compositor frame is submitted, in microseconds. This |
| metric is only reported if the event is handled on the renderer compositor |
| and the first compositor step after that is the submission of the |
| compositor frame. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RendererCompositorProcessing"> |
| <summary> |
| The time spent in the renderer compositor to process the event, in |
| microseconds. This metric won't be reported if the renderer compositor |
| does not have a dedicated thread. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RendererCompositorQueueingDelay"> |
| <summary> |
| The time from when the event arrives in the renderer compositor until the |
| compositor starts processing it, in microseconds. This metric won't be |
| reported if the renderer compositor does not have a dedicated thread. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RendererCompositorToMain"> |
| <summary> |
| The time from when the processing of the event on the renderer compositor |
| is finished until the main thread starts processing the event, in |
| microseconds. If the renderer compositor does not have a dedicated thread, |
| the processing of the event on the renderer compositor is considered |
| finished as soon as the event arrives in the renderer compositor. This |
| metric won't be reported if the event is handled on the renderer |
| compositor. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RendererMainFinishedToActivation"> |
| <summary> |
| The time from when the event processing is finished on the renderer main |
| until the beginning of the activation, in microseconds. This metric is |
| only reported if the event is handled on the renderer main and the first |
| compositor step after that is the beginning of the activation. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RendererMainFinishedToBeginImplFrame"> |
| <summary> |
| The time from when the event processing is finished on the renderer main |
| until the compositor frame is started, in microseconds. This metric is |
| only reported if the event is handled on the renderer main and compositor |
| frame is started after that. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RendererMainFinishedToCommit"> |
| <summary> |
| The time from when the event processing is finished on the renderer main |
| until the beginning of the commit, in microseconds. This metric is only |
| reported if the event is handled on the renderer main and the first |
| compositor step after that is the beginning of the commit. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RendererMainFinishedToEndActivate"> |
| <summary> |
| The time from when the event processing is finished on the renderer main |
| until the end of the activation, in microseconds. This metric is only |
| reported if the event is handled on the renderer main and the first |
| compositor step after that is the end of the activation. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RendererMainFinishedToEndCommit"> |
| <summary> |
| The time from when the event processing is finished on the renderer main |
| until the end of the commit, in microseconds. This metric is only reported |
| if the event is handled on the renderer main and the first compositor step |
| after that is the end of the commit. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RendererMainFinishedToSendBeginMainFrame"> |
| <summary> |
| The time from when the event processing is finished on the renderer main |
| until BeginMainFrame is sent, in microseconds. This metric is only |
| reported if the event is handled on the renderer main and the first |
| compositor step after that is SendBeginMainFrame. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RendererMainFinishedToSubmitCompositorFrame"> |
| <summary> |
| The time from when the event processing is finished on the renderer main |
| until the compositor frame is submitted, in microseconds. This metric is |
| only reported if the event is handled on the renderer main and the first |
| compositor step after that is the submission of the compositor frame. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RendererMainProcessing"> |
| <summary> |
| The time spent in the main thread to process the event, in microseconds. |
| This metric won't be reported if the renderer compositor handles the |
| event. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ScrollBegin.Touch"> |
| <summary> |
| The total time from when the event is generated by the OS to when the |
| frame is presented, in microseconds. Emitted for the first touch event of |
| a scroll. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ScrollBegin.Wheel"> |
| <summary> |
| The total time from when the event is generated by the OS to when the |
| frame is presented, in microseconds. Emitted for the first wheel event of |
| a scroll. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ScrollInputType" enum="EventLatencyScrollInputType"> |
| <summary> |
| Type of the input device for scroll events. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ScrollUpdate.Touch"> |
| <summary> |
| The total time from when the event is generated by the OS to when the |
| frame is presented, in microseconds. Emitted for the all touch events of a |
| scroll after the initial one. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ScrollUpdate.Wheel"> |
| <summary> |
| The total time from when the event is generated by the OS to when the |
| frame is presented, in microseconds. Emitted for the all wheel events of a |
| scroll after the initial one. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit"> |
| <summary> |
| The time from when the BeginMainFrame is sent to the beginning of the |
| commit, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.Accessibility"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent on accessibility, in |
| microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.Animate"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent on animations, in |
| microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.BeginMainSentToStarted"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent before starting main |
| thread work, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.CompositeCommit"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent on composite commit, |
| in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.CompositingInputs"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent on updating |
| compositing inputs, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.HandleInputEvents"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent on handling input |
| events, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.LayoutUpdate"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent on layout update, in |
| microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.Paint"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent on paint, in |
| microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.Prepaint"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent on prepaint, in |
| microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.StyleUpdate"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent on style update, in |
| microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.UpdateLayers"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent on updating layers, |
| in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SubmitCompositorFrameToPresentationCompositorFrame"> |
| <summary> |
| The time from when a compositor frame is submitted to the display |
| compositor to when it is presented, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric |
| name="SubmitCompositorFrameToPresentationCompositorFrame.BufferAvailableToBufferReady"> |
| <summary> |
| The time from when the target framebuffer is available to when the GPU has |
| finished drawing to it, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric |
| name="SubmitCompositorFrameToPresentationCompositorFrame.BufferReadyToLatch"> |
| <summary> |
| The time from when the target framebuffer is ready to be displayed to when |
| the buffer is latched on for presentation, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric |
| name="SubmitCompositorFrameToPresentationCompositorFrame.LatchToSwapEnd"> |
| <summary> |
| The time from when the target framebuffer is latched on to when the swap |
| ends, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric |
| name="SubmitCompositorFrameToPresentationCompositorFrame.ReceivedCompositorFrameToStartDraw"> |
| <summary> |
| The time from when a compositor frame is received to when it starts to |
| draw, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric |
| name="SubmitCompositorFrameToPresentationCompositorFrame.StartDrawToSwapStart"> |
| <summary> |
| The time from when a compositor frame is started to draw to when it starts |
| swap, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric |
| name="SubmitCompositorFrameToPresentationCompositorFrame.SubmitToReceiveCompositorFrame"> |
| <summary> |
| The time from when a compositor frame is submitted to when it is received, |
| in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric |
| name="SubmitCompositorFrameToPresentationCompositorFrame.SwapEndToPresentationCompositorFrame"> |
| <summary> |
| The time from when a compositor frame ends swap to when it is presented, |
| in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric |
| name="SubmitCompositorFrameToPresentationCompositorFrame.SwapStartToBufferAvailable"> |
| <summary> |
| The time from when the compositor frame starts to swap to when the target |
| framebuffer becomes available, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric |
| name="SubmitCompositorFrameToPresentationCompositorFrame.SwapStartToSwapEnd"> |
| <summary> |
| The time from when a compositor frame starts swap to when it ends swap, in |
| microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="TotalLatency"> |
| <summary> |
| The total time from when the event is created in the browser to when the |
| frame is presented, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Graphics.Smoothness.Latency"> |
| <owner>animations-dev@chromium.org</owner> |
| <owner>jonross@chromium.org</owner> |
| <summary> |
| Tracks the duration of stages in the rendering pipeline while processing a |
| single frame. All times are in microseconds. |
| </summary> |
| <metric name="Activation"> |
| <summary> |
| The duration of the activation stage, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="BeginImplFrameToSendBeginMainFrame"> |
| <summary> |
| The time from when the Impl frame is started to when BeginMainFrame is |
| sent, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="CanvasAnimation" enum="Boolean"> |
| <summary> |
| True when a canvas animation was active this frame. |
| </summary> |
| </metric> |
| <metric name="Commit"> |
| <summary> |
| The duration of the commit stage, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="CompositorAnimation" enum="Boolean"> |
| <summary> |
| True when a compositor-driven animation was active this frame. |
| </summary> |
| </metric> |
| <metric name="EndActivateToSubmitCompositorFrame"> |
| <summary> |
| The time from when an activation is complete to the next |
| SubmitCompositorFrame, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="EndCommitToActivation"> |
| <summary> |
| The time from when a commit is complete to the beginning of the next |
| activation, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="JSAnimation" enum="Boolean"> |
| <summary> |
| True when a inline style animation was active this frame. |
| </summary> |
| </metric> |
| <metric name="MainThreadAnimation" enum="Boolean"> |
| <summary> |
| True when a main-thread-driven animation was active this frame. |
| </summary> |
| </metric> |
| <metric name="MissedFrame" enum="Boolean"> |
| <summary> |
| True when the main frame missed its deadline for this frame. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="PinchZoom" enum="Boolean"> |
| <summary> |
| True when a pinch-to-zoom interaction was active this frame. |
| </summary> |
| </metric> |
| <metric name="RAF" enum="Boolean"> |
| <summary> |
| True when a rAF-driven animation was active this frame. |
| </summary> |
| </metric> |
| <metric name="ScrollbarScroll" enum="Boolean"> |
| <summary> |
| True when a scrollbar driven interaction was active this frame. |
| </summary> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit"> |
| <summary> |
| The time from when the BeginMainFrame is sent to the beginning of the |
| commit, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.Accessibility"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent on accessibility, in |
| microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.Animate"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent on animations, in |
| microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.BeginMainSentToStarted"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent before starting main |
| thread work, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.CompositeCommit"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent on composite commit, |
| in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.CompositingInputs"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent on updating |
| compositing inputs, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.HandleInputEvents"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent on handling input |
| events, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.LayoutUpdate"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent on layout update, in |
| microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.Paint"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent on paint, in |
| microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.Prepaint"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent on prepaint, in |
| microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.StyleUpdate"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent on style update, in |
| microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SendBeginMainFrameToCommit.UpdateLayers"> |
| <summary> |
| The time portion of SendBeginMainFrameToCommit spent on updating layers, |
| in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SubmitCompositorFrameToPresentationCompositorFrame"> |
| <summary> |
| The time from when the a compositor frame is submitted to the display |
| compositor to when it is presented, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric |
| name="SubmitCompositorFrameToPresentationCompositorFrame.BufferAvailableToBufferReady"> |
| <summary> |
| The time from when the target framebuffer is available to when the GPU has |
| finished drawing to it, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric |
| name="SubmitCompositorFrameToPresentationCompositorFrame.BufferReadyToLatch"> |
| <summary> |
| The time from when the target framebuffer is ready to be displayed to when |
| the buffer is latched on for presentation, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric |
| name="SubmitCompositorFrameToPresentationCompositorFrame.LatchToSwapEnd"> |
| <summary> |
| The time from when the target framebuffer is latched on to when the swap |
| ends, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric |
| name="SubmitCompositorFrameToPresentationCompositorFrame.ReceivedCompositorFrameToStartDraw"> |
| <summary> |
| The time from when a compositor frame is received to when it starts to |
| draw, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric |
| name="SubmitCompositorFrameToPresentationCompositorFrame.StartDrawToSwapStart"> |
| <summary> |
| The time from when a compositor frame is started to draw to when it starts |
| swap, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric |
| name="SubmitCompositorFrameToPresentationCompositorFrame.SubmitToReceiveCompositorFrame"> |
| <summary> |
| The time from when a compositor frame is submitted to when it is received, |
| in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric |
| name="SubmitCompositorFrameToPresentationCompositorFrame.SwapEndToPresentationCompositorFrame"> |
| <summary> |
| The time from when the a compositor frame ends swap to when it is |
| presented, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric |
| name="SubmitCompositorFrameToPresentationCompositorFrame.SwapStartToBufferAvailable"> |
| <summary> |
| The time from when the compositor frame starts to swap to when the target |
| framebuffer becomes available, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric |
| name="SubmitCompositorFrameToPresentationCompositorFrame.SwapStartToSwapEnd"> |
| <summary> |
| The time from when a compositor frame starts swap to when it ends swap, in |
| microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="TotalLatency"> |
| <summary> |
| The total time starting from BeginImplFrame to when |
| CompositorFramePresentation is done with updates from the MainThread (i.e. |
| the time it takes for BeginImplFrame, BeginMainFrame, Commit, Activate, |
| SubmitCompositorFrame and PresentCompositorFrame), in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="TouchScroll" enum="Boolean"> |
| <summary> |
| True when a touchscreen driven interaction was active this frame. |
| </summary> |
| </metric> |
| <metric name="Unknown"> |
| <summary> |
| The time within a stage not attributed to any system, in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Video" enum="Boolean"> |
| <summary> |
| True when video playback was active this frame. |
| </summary> |
| </metric> |
| <metric name="WheelScroll" enum="Boolean"> |
| <summary> |
| True when a mouse driven scroll was active this frame. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Graphics.Smoothness.NormalizedPercentDroppedFrames" |
| singular="True"> |
| <owner>animations-dev@chromium.org</owner> |
| <owner>jonross@chromium.org</owner> |
| <summary> |
| Measures various normalizations for the smoothness metric. The metric is |
| measured by counting dropped frames, and various normalization strategies |
| are used. |
| |
| The metric is reported once per page-load, and when the page closes (e.g. |
| the user closes the tab, or navigates away to a different page). |
| </summary> |
| <metric name="AboveThreshold"> |
| <summary> |
| The number of fixed-duration sliding windows (as a percentage) where the |
| number of dropped frames are above a threshold. The specific threshold is |
| yet to be determined. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Average"> |
| <summary> |
| This is trivially computable by counting the total number of dropped |
| frames and the total number of vsyncs the page has been visible for, |
| exposed as a percentage. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="CompositorFocusedMedian"> |
| <summary> |
| CompositorFocused metrics report the throughput of frames that include |
| compositor thread updates. The median dropped frames within a |
| fixed-duration sliding window (as a percentage). So out of all |
| PerecentDroppedFrames of sliding windows the median will be reported here. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="CompositorFocusedPercentile95"> |
| <summary> |
| CompositorFocused metrics report the throughput of frames that include |
| compositor thread updates. The 95-th percentile dropped frames within a |
| fixed-duration sliding window (as a percentage). So out of all |
| PerecentDroppedFrames of sliding windows the 95th percentile will be |
| reported here. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="CompositorFocusedVariance"> |
| <summary> |
| CompositorFocused metrics report the throughput of frames that include |
| compositor thread updates. The variance of percent dropped frames within a |
| fixed-duration sliding window. So out of all PerecentDroppedFrames of |
| sliding windows the variance will be reported here. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="MainFocusedMedian"> |
| <summary> |
| MainFocused metrics report the throughput of frames that include main |
| thread updates. The median dropped frames within a fixed-duration sliding |
| window (as a percentage). So out of all PerecentDroppedFrames of sliding |
| windows the median will be reported here. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="MainFocusedPercentile95"> |
| <summary> |
| MainFocused metrics report the throughput of frames that include main |
| thread updates. The 95-th percentile dropped frames within a |
| fixed-duration sliding window (as a percentage). So out of all |
| PerecentDroppedFrames of sliding windows the 95th percentile will be |
| reported here. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="MainFocusedVariance"> |
| <summary> |
| MainFocused metrics report the throughput of frames that include main |
| thread updates. The variance of percent dropped frames within a |
| fixed-duration sliding window. So out of all PerecentDroppedFrames of |
| sliding windows the variance will be reported here. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Median"> |
| <summary> |
| The median dropped frames within a fixed-duration sliding window (as a |
| percentage). So out of all PerecentDroppedFrames of sliding windows the |
| median will be reported here. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Percentile95"> |
| <summary> |
| The 95-th percentile dropped frames within a fixed-duration sliding window |
| (as a percentage). So out of all PerecentDroppedFrames of sliding windows |
| the 95th percentile will be reported here. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ScrollFocusedMedian"> |
| <summary> |
| ScrollFocused metrics reports the throughput with highest priority on |
| scroll interactions. The median dropped frames within a fixed-duration |
| sliding window (as a percentage) with highest priority given to scroll |
| throughput. So out of all PerecentDroppedFrames of sliding windows the |
| median will be reported here. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ScrollFocusedPercentile95"> |
| <summary> |
| ScrollFocused metrics reports the throughput with highest priority on |
| scroll interactions. The 95-th percentile dropped frames within a |
| fixed-duration sliding window (as a percentage). So out of all |
| PerecentDroppedFrames of sliding windows the 95th percentile will be |
| reported here. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ScrollFocusedVariance"> |
| <summary> |
| ScrollFocused metrics reports the throughput with highest priority on |
| scroll interactions. The variance of percent dropped frames within a |
| fixed-duration sliding window. So out of all PerecentDroppedFrames of |
| sliding windows the variance will be reported here. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SmoothnessBad"> |
| <summary> |
| The percentage of sliding windows with bad smoothness, or a |
| PercentDroppedFrames of 12% to 25%. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SmoothnessGood"> |
| <summary> |
| The percentage of sliding windows with good smoothness, or a |
| PercentDroppedFrames of 3% to 6%. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SmoothnessOkay"> |
| <summary> |
| The percentage of sliding windows with okay smoothness, or a |
| PercentDroppedFrames of 6% to 12%. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SmoothnessVeryBad25to50"> |
| <summary> |
| The percentage of sliding windows with a subset of very bad smoothness, or |
| a PercentDroppedFrames of 25% to 50%. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SmoothnessVeryBad50to75"> |
| <summary> |
| The percentage of sliding windows with a subset of very bad smoothness, or |
| a PercentDroppedFrames of 50% to 75%. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SmoothnessVeryBad75to100"> |
| <summary> |
| The percentage of sliding windows with a subset of very bad smoothness, or |
| a PercentDroppedFrames of 75% to 100%. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SmoothnessVeryGood"> |
| <summary> |
| The percentage of sliding windows with very good smoothness, or a |
| PercentDroppedFrames of 0% to 3%. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Variance"> |
| <summary> |
| The variance of percent dropped frames within a fixed-duration sliding |
| window. So out of all PerecentDroppedFrames of sliding windows the |
| variance will be reported here. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="WorstCase"> |
| <summary> |
| The maximum number of dropped frames (as a percentage) within a |
| fixed-duration sliding window. So out of all PerecentDroppedFrames of |
| sliding windows the max percentile will be reported here. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="WorstCaseAfter1Sec"> |
| <summary> |
| The same as WorstCase metric, but only the sliding windows which starts 1 |
| second after first contentful paint will be taken into account. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="WorstCaseAfter2Sec"> |
| <summary> |
| The same as WorstCase metric, but only the sliding windows which starts 2 |
| second after first contentful paint will be taken into account. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="WorstCaseAfter5Sec"> |
| <summary> |
| The same as WorstCase metric, but only the sliding windows which starts 5 |
| second after first contentful paint will be taken into account. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="HistoryClusters" singular="True"> |
| <owner>chrome-memories@google.com</owner> |
| <owner>mcrouse@chromium.org</owner> |
| <summary> |
| Metrics that capture the iteractions with HistoryClusters, or Journeys, This |
| will be recorded once per visit to the HistoryClusters UI and logged when |
| the UI is closed or navigated away from. |
| </summary> |
| <metric name="FinalState" enum="HistoryClustersFinalState"> |
| <summary> |
| The final state, or outcome, of an interaction on the HistoryClusters UI. |
| </summary> |
| </metric> |
| <metric name="InitialState" enum="HistoryClustersInitialState"> |
| <summary> |
| The initial state that describes how an interaction with the |
| HistoryClusters UI was started. |
| </summary> |
| </metric> |
| <metric name="NumQueries"> |
| <summary> |
| The number of times the user performed a query on the HistoryClusters UI |
| during this interaction. This can include partial queries that occur due |
| to the UI's query timing. |
| </summary> |
| </metric> |
| <metric name="NumTogglesToBasicHistory"> |
| <summary> |
| The number of times the user toggled to the basic history page during this |
| interaction with the HistoryClusters UI. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="HistoryManipulationIntervention"> |
| <owner>shivanisha@chromium.org</owner> |
| <summary> |
| Logged when an entry in the back-forward list is marked to be skipped on |
| subsequent back/forward button clicks as part of the history manipulation |
| intervention. This is logged when the entry is navigated away from. |
| </summary> |
| </event> |
| |
| <event name="HistoryNavigation" singular="True"> |
| <owner>altimin@chromium.org</owner> |
| <owner>arthursonzogni@chromium.org</owner> |
| <owner>hajimehoshi@chromium.org</owner> |
| <summary> |
| Metrics recorded each time we commit a history navigation, which are needed |
| to estimate benefits of back-forward cache. Except as otherwise noted, the |
| metrics are recorded for history navigations, but not for same-document |
| navigations. |
| </summary> |
| <metric name="BackForwardCache.BlocklistedFeatures"> |
| <summary> |
| When navigating back to a page in the session history, this records what |
| blocklisted features were used when the page was loaded and prevented this |
| page from being stored in the back-forward cache. Multiple blocklisted |
| features can be recorded for the same page as a binary mask. This entry |
| records the features numbered from 0 to 63. |
| </summary> |
| </metric> |
| <metric name="BackForwardCache.BlocklistedFeatures2"> |
| <summary> |
| When navigating back to a page in the session history, this records what |
| blocklisted features were used when the page was loaded and prevented this |
| page from being stored in the back-forward cache. Multiple blocklisted |
| features can be recorded for the same page as a binary mask. This entry |
| records the features numbered from 64 to 127. |
| </summary> |
| </metric> |
| <metric name="BackForwardCache.BrowsingInstanceNotSwappedReason" |
| enum="BackForwardCacheBrowsingInstanceNotSwappedReason"> |
| <summary> |
| When navigating back to a page in the session history and the |
| BackForwardCache wasn't used because of the related browsing instances, |
| this records the reason why the browsing instance wasn't swapped. |
| </summary> |
| </metric> |
| <metric name="BackForwardCache.DisabledForRenderFrameHostReasonCount"> |
| <summary> |
| The number of the reasons passed to |
| BackForwardCache::DisableForRenderFrameHost calls. |
| </summary> |
| </metric> |
| <metric name="BackForwardCache.IsAmpPage" enum="Boolean"> |
| <summary> |
| Boolean whether the now-restored page uses AMP (see https://amp.dev). If |
| the page wasn't restored from the back-forward cache, this metric will not |
| be populated. This metric will never be true when |
| BackForwardCache.IsServedFromBackForwardCache is false. |
| </summary> |
| </metric> |
| <metric name="BackForwardCache.IsServedFromBackForwardCache"> |
| <summary> |
| Boolean whether the page was restored from the back-forward cache or not. |
| </summary> |
| </metric> |
| <metric name="BackForwardCache.NotRestoredReasons"> |
| <summary> |
| Bitmask of the reasons why the page was not restored from the back-forward |
| cache. See contents::BackForwardCacheMetrics::NotRestoredReason for the |
| meaning of the individual bits. This entry records the features numbered |
| from 0 to 63. |
| </summary> |
| </metric> |
| <metric name="BackForwardCache.NotRestoredReasons2"> |
| <summary> |
| Bitmask of the reasons why the page was not restored from the back-forward |
| cache. See contents::BackForwardCacheMetrics::NotRestoredReason for the |
| meaning of the individual bits. This entry records the features numbered |
| from 64 to 127. |
| </summary> |
| </metric> |
| <metric name="CrossOriginSubframesFeatures"> |
| <summary> |
| Bitmask of features numbered from 0 to 63 used by the cross origin |
| subframes of the previous page load. See blink::SchedulingPolicy::Feature |
| for the meaning for the individual features. |
| </summary> |
| </metric> |
| <metric name="CrossOriginSubframesFeatures2"> |
| <summary> |
| Bitmask of features numbered from 64 to 127 used by the cross origin |
| subframes of the previous page load. See blink::SchedulingPolicy::Feature |
| for the meaning for the individual features. |
| </summary> |
| </metric> |
| <metric name="CumulativeShiftScoreAfterBackForwardCacheRestore"> |
| <summary> |
| Deprecated as of 04/23. It is still reported, but most users should use |
| PageLoad.LayoutInstability.MaxCumulativeShiftScore.AfterBackForwardCacheRestore.SessionWindow.Gap1000ms.Max5000ms. |
| |
| Measures the cumulative layout shift (bit.ly/3fQz29y) that has occurred |
| during the session, after the page is restored from the back-forward |
| cache. This metric's integral value is 100x the fractional cumulative |
| layout shift score described in the explainer. |
| </summary> |
| </metric> |
| <metric name="FirstInputDelayAfterBackForwardCacheRestore"> |
| <summary> |
| Measures First Input Delay, the duration between the hardware timestamp |
| and the start of event processing on the main thread for the first |
| meaningful input per navigation, after the page is restored from the |
| back-forward cache. |
| </summary> |
| </metric> |
| <metric name="FirstRequestAnimationFrameAfterBackForwardCacheRestore"> |
| <summary> |
| Measures the time duration between the page restore from back-forward |
| cache and the first requestAnimationFrame time in milliseconds. |
| </summary> |
| </metric> |
| <metric name="ForegroundDurationAfterBackForwardCacheRestore"> |
| <summary> |
| For page loads that start in the foreground, measures the duration of time |
| in milliseconds until one of the following events occurs: the load of the |
| main resource fails, the page load is stopped, the tab hosting the page is |
| closed, the render process hosting the page goes away, a new navigation |
| which later commits is initiated in the same tab, or the tab hosting the |
| page is backgrounded. This metric has a very long tail, for pages that |
| spend a long period of time in the foreground. As such, use of the mean or |
| tail values are not recommended. |
| </summary> |
| </metric> |
| <metric name="LastCommittedCrossDocumentNavigationSourceIdForTheSameDocument"> |
| <summary> |
| For history navigations and reloads, the source id of the previous |
| navigation which loaded the page we're trying to navigate back to. |
| </summary> |
| </metric> |
| <metric name="MainFrameFeatures"> |
| <summary> |
| Bitmask of features numbered from 0 to 63 used by the main frames of the |
| previous page load. See blink::SchedulingPolicy::Feature for the meaning |
| for the individual features. |
| </summary> |
| </metric> |
| <metric name="MainFrameFeatures2"> |
| <summary> |
| Bitmask of features numbered from 64 to 127 used by the main frames of the |
| previous page load. See blink::SchedulingPolicy::Feature for the meaning |
| for the individual features. |
| </summary> |
| </metric> |
| <metric |
| name="MaxCumulativeShiftScoreAfterBackForwardCacheRestore.SessionWindow.Gap1000ms.Max5000ms"> |
| <summary> |
| Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that |
| has occurred in a session window, after the page is restored from the |
| back-forward. The gap between two consecutive shifts in a window is not |
| bigger than 1000ms and the maximum window size is 5000ms. This metric's |
| integral value is 100x the fractional cumulative layout shift score |
| described in the explainer. |
| </summary> |
| </metric> |
| <metric name="NavigatedToTheMostRecentEntryForDocument"> |
| <summary> |
| Boolean for whether we navigated to the same navigation entry as the one |
| which was last visible. |
| |
| It can be false when subframes or same-document navigations are present. |
| For example, after navigating from http://foo to http://foo#bar and then |
| http://bar and then going back by 2 entries will mean we went to |
| http://foo while the last committed entry from this document was |
| http://foo#bar. |
| |
| It's expected to be rare, but might be problematic for back-forward cache. |
| </summary> |
| </metric> |
| <metric name="NavigationToFirstPaintAfterBackForwardCacheRestore"> |
| <summary> |
| Measures the time in milliseconds from navigation timing's navigation |
| start to the time the first paint is performed, after the page is restored |
| from the back-forward cache. |
| </summary> |
| </metric> |
| <metric name="NumInteractionsAfterBackForwardCacheRestore"> |
| <summary> |
| The number of distinct user interactions on a page after it is restored |
| from the back-forward cache. See definition of user interaction: |
| https://web.dev/better-responsiveness-metric/#group-events-into-interactions |
| </summary> |
| </metric> |
| <metric name="PageEndReasonAfterBackForwardCacheRestore"> |
| <summary> |
| The reason (as a |page_load_metrics::PageEndReason|) why the user |
| navigated away from the page after it was restored from the back-forward |
| cache. This includes navigations after which the page is stored in the |
| back-forward cache again, as well as other page-ending events. |
| </summary> |
| </metric> |
| <metric name="SameOriginSubframesFeatures"> |
| <summary> |
| Bitmask of features numbered from 0 to 63 used by the same origin |
| subframes of the previous page load. See blink::SchedulingPolicy::Feature |
| for the meaning for the individual features. |
| </summary> |
| </metric> |
| <metric name="SameOriginSubframesFeatures2"> |
| <summary> |
| Bitmask of features numbered from 64 to 127 used by the same origin |
| subframes of the previous page load. See blink::SchedulingPolicy::Feature |
| for the meaning for the individual features. |
| </summary> |
| </metric> |
| <metric name="SecondRequestAnimationFrameAfterBackForwardCacheRestore"> |
| <summary> |
| Measures the time duration between the page restore from back-forward |
| cache and the second requestAnimationFrame time in milliseconds. |
| </summary> |
| </metric> |
| <metric name="ThirdRequestAnimationFrameAfterBackForwardCacheRestore"> |
| <summary> |
| Measures the time duration between the page restore from back-forward |
| cache and the third requestAnimationFrame time in milliseconds. |
| </summary> |
| </metric> |
| <metric name="TimeSinceNavigatedAwayFromDocument"> |
| <summary> |
| Time in milliseconds from the moment the current navigation stopped being |
| active to the start of the current navigation. |
| |
| This is clamped to hours for values greater than 3 hours, to minutes for |
| values greater than 3 minutes, to seconds for values greater than 5 |
| seconds. |
| </summary> |
| </metric> |
| <metric |
| name="UserInteractionLatencyAfterBackForwardCacheRestore.HighPercentile2.MaxEventDuration"> |
| <summary> |
| An approximation of a high percentile of user interaction latency of a |
| page after it is restored from the back-forward cache, in ms. For this |
| metric, we measure the latency of user interactions by |
| Responsiveness.UserInteraction.MaxEventDuration. |
| </summary> |
| </metric> |
| <metric |
| name="WorstUserInteractionLatencyAfterBackForwardCacheRestore.MaxEventDuration2"> |
| <summary> |
| The maximum value of user interaction latency of a page after it is |
| restored from the back-forward, in ms. For this metric, we measure the |
| latency of user interactions by |
| Responsiveness.UserInteraction.MaxEventDuration. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Identifiability"> |
| <owner>antoniosartori@chromium.org</owner> |
| <owner>caraitto@chromium.org</owner> |
| <owner>mkwst@chromium.org</owner> |
| <owner>pauljensen@chromium.org</owner> |
| <summary> |
| Identifiability metrics are used to measure the diversity of web clients as |
| observed by individual web sites. |
| |
| Browser or device fingerprinting uses differences in behaviors of web APIs |
| as identifiers. The values collected under this event indicate the level of |
| identifiability of these differences. |
| |
| Metrics recorded under this event are keyed based on parameters determined |
| at runtime. Hence the metrics described in this file are not exhaustive. |
| |
| See |
| //third_party/blink/public/common/privacy_budget/identifiability/identifiability_metric_builder.h |
| for details on how the metrics hash is determined. |
| </summary> |
| <metric name="GeneratorVersion.926"> |
| <summary> |
| An integer identifying the "generator" version for this record. |
| Some identifiability study samples are derived from multiple factors which |
| are run though a digest function to derive the int64_t value. If the set |
| of factors change or the method of combining them changes, then the |
| resulting statistics cannot be aggregated with those from a prior version. |
| |
| The name suffix (.926) was chosen so that the resulting metric hash as |
| determined by base::HashMetricName() has all 8 LSBs set to 0. Such a |
| metric hash does not collide with any other metric hash generated by |
| blink::IdentifiabilityMetricBuilder(). |
| </summary> |
| </metric> |
| <metric name="StudyGeneration.626"> |
| <summary> |
| An integer identifying the study "generation." In case the study |
| parameters need to be tweaked to the point where results cannot be |
| aggregated across study parameter sets, this value can be changed to |
| partition the results. |
| |
| The name suffix (.626) was chosen so that the resulting metric hash as |
| determined by base::HashMetricName() has all 8 LSBs set to 0. Such a |
| metric hash does not collide with any other metric hash generated by |
| blink::IdentifiabilityMetricBuilder(). |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="InputMethod.Assistive.AutocorrectV2"> |
| <owner>mehrab@google.com</owner> |
| <summary> |
| Metrics recording a summary of user interactions with Autocorrect feature. |
| The event is recorded whenever an autocorrect suggestion is shown or a user |
| interacted with a suggestion to accept or reject it. |
| </summary> |
| <metric name="CompatibilitySummary.PK" |
| enum="IMEAutocorrectCompatibilitySummary"> |
| <summary> |
| A summary of interactions with Physical Keyboard Autocorrect suggestions |
| for the purpose of identifying App Compatibility issues. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="CompatibilitySummary.VK" |
| enum="IMEAutocorrectCompatibilitySummary"> |
| <summary> |
| A summary of interactions with Virtual Keyboard Autocorrect suggestions |
| for the purpose of identifying App Compatibility issues. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="InputMethod.Assistive.Match"> |
| <owner>jiwan@chromium.org</owner> |
| <summary> |
| Recorded when an assistive action could be triggered according to the |
| surrounding text. |
| </summary> |
| <metric name="Type" enum="IMEAssistiveAction"> |
| <summary> |
| The type of the assistive suggestion which is triggered. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="InputMethod.LongpressDiacritics"> |
| <owner>jopalmer@google.com</owner> |
| <owner>essential-inputs-team@google.com</owner> |
| <summary> |
| Recorded when a user uses the long press diacritics feature to insert |
| diacritics via long press with a physical keyboard. |
| </summary> |
| <metric name="Actions" enum="IMEPKLongpressDiacriticAction"> |
| <summary> |
| Action taken by the user to interact with this feature. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="InputMethod.Manta.Orca"> |
| <owner>curtismcmullan@google.com</owner> |
| <summary> |
| Metrics recording a summary of critical user interactions with the Editor |
| feature. The event is recorded whenever a user triggers a critical event in |
| the Editor funnel (specifically; the UI is shown, a request is triggered, or |
| a user inserts some suggested text). |
| </summary> |
| <metric name="EditorCriticalStates" enum="IMEEditorCriticalStates"> |
| <summary> |
| A summary of interactions with the Editor feature for the purpose of |
| identifying common contexts where the feature is used. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="InputMethod.NonCompliantApi"> |
| <owner>shend@chromium.org</owner> |
| <summary> |
| Metrics indicating what Input Method Editor (IME) operations are behaving |
| incorrectly on an input field. This event is recorded whenever an IME |
| operation is executed on the input field but the result does not match the |
| IME's expectations (e.g. IME wants to insert 'a' but the input field |
| inserted 'b' instead). |
| </summary> |
| <metric name="NonCompliantOperation" enum="InputMethodApiOperation"> |
| <summary> |
| The operation that behaved incorrectly. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="InstalledRelatedApps"> |
| <owner>rayankans@chromium.org</owner> |
| <owner>peter@chromium.org</owner> |
| <summary> |
| Recorded before resolving a call to navigator.getInstalledRelatedApps(). |
| </summary> |
| <metric name="Called"> |
| <summary> |
| Always true. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="IOS.FindInPageSearchMatches"> |
| <owner>thegreenfrog@chromium.org</owner> |
| <owner>michaeldo@chromium.org</owner> |
| <summary> |
| Logged when the FindInPage returns a user search request result. Starting |
| from M111, this is only logged at the end of the Find session i.e. when the |
| Find UI is dismissed. |
| </summary> |
| <metric name="HasMatches" enum="Boolean"> |
| <summary> |
| True if there were matches. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="IOS.FullscreenActions"> |
| <owner>ajuma@chromium.org</owner> |
| <owner>alionadangla@chromium.org</owner> |
| <summary> |
| Logged when a user exited the fullscreen mode when browsing a web page in |
| iOS. |
| </summary> |
| <metric name="HasExitedManually" enum="Boolean"> |
| <summary> |
| True if the user tapped on the top toolbar to exit and false if they |
| exited it in any other way. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="IOS.IsDefaultBrowser"> |
| <owner>rkgibson@chromium.org</owner> |
| <summary> |
| As of iOS14, users will be able to set a default browser other than Safari. |
| When Chrome is the default browser, it will open all URL links, which is |
| likely to change certain stability metrics. Thus, it will be good to filter |
| those metrics by default browser status. This metrics records whether the |
| user was deemed to have set Chrome as the device's default browser. This |
| metric will be logged once per metrics log upload, and if the metric changes |
| mid-report, this just records the state at the very end of the report. Note: |
| this is tied to a source_id that is not going to be emitted. |
| </summary> |
| <metric name="IsDefaultBrowser" enum="Boolean"> |
| <summary> |
| True if Chrome is set as default browser. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="IOS.PageAddedToReadingList"> |
| <owner>thegreenfrog@chromium.org</owner> |
| <summary> |
| Logged when the user adds a page to the Reading List. |
| </summary> |
| <metric name="AddedFromMessages" enum="Boolean"> |
| <summary> |
| True if the page was added by the user tapping on the Messages prompt to |
| save to Reading List. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="IOS.PageReadability"> |
| <owner>thegreenfrog@chromium.org</owner> |
| <summary> |
| Logged when the Distilibility score of the current page is returned and the |
| Reading List Message is shown. Muliplied by 10X to get tenth digit |
| granularity. 0.1 granularity will be recorded for scores between 0.5 and |
| 1.5. Otherwise, the granularity will be 0.5. |
| </summary> |
| <metric name="DidAccept" enum="Boolean"> |
| <summary> |
| True if the user tapped on the Messages prompt to save the current page to |
| Reading List. |
| </summary> |
| </metric> |
| <metric name="DistilibilityLongScore"> |
| <summary> |
| Distilibility score value indicating the "long readability" of |
| the page. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="DistilibilityScore"> |
| <summary> |
| Distilibility score value indicating the "readability" of the |
| page. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="IOS.PageZoomChanged"> |
| <owner>rkgibson@google.com</owner> |
| <summary> |
| Logged when the user changes their zoom level on iOS. |
| </summary> |
| <metric name="ContentSizeCategory" enum="IOSContentSizeCategory"> |
| <summary> |
| The content size category the user is currently using. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="OverallZoomLevel"> |
| <summary> |
| The overall zoom level. This is based on a combination of the user zoom |
| level and a multiplier from the user's content size category. |
| </summary> |
| </metric> |
| <metric name="UserZoomLevel"> |
| <summary> |
| The current zoom multiplier (percentage-based, with 100 -> 100%) the |
| user has chosen. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="IOS.ParcelTrackingNumberDetected"> |
| <owner>thegreenfrog@chromium.org</owner> |
| <owner>huitingyu@google.com</owner> |
| <summary> |
| Logged when the current page has a valid parcel tracking number in the HTML |
| of the initial page load. |
| </summary> |
| <metric name="ParcelCarrier" enum="IOSParcelCarrier"> |
| <summary> |
| The parcel carrier for the parcel number detected. As a privacy measure, |
| 80% of the time when the event occurs, a random enum value is assigned. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="IOS.RendererGone"> |
| <owner>olivierrobin@chromium.org</owner> |
| <summary> |
| Logged when WKWebView process is reported gone. Metrics will give |
| information of the context in which some website present sad tabs. It will |
| help debug some renderer issues either in Chrome or in WebKit. |
| </summary> |
| <metric name="AliveRecentlyRendererCount"> |
| <summary> |
| The number of WKWebView alive in the last 2 seconds. |
| </summary> |
| </metric> |
| <metric name="AliveRendererCount"> |
| <summary> |
| The number of WKWebView alive at the moment this renderer is gone. |
| </summary> |
| </metric> |
| <metric name="InForeground" enum="TabForegroundState"> |
| <summary> |
| Whether the app/tab was in foregound or background. 0: tab in foreground, |
| app in foreground, 1: tab in background, app in foreground, 2: tab in |
| foreground, app in background, 3: tab in background, app in background. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SawMemoryWarning" enum="Boolean"> |
| <summary> |
| Whether a memory warning was received less than 5 seconds before the |
| renderer process is gone. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="JavascriptFrameworkPageLoad" singular="True"> |
| <owner>houssein@chromium.org</owner> |
| <owner>npm@chromium.org</owner> |
| <summary> |
| Metrics stating whether the main frame of a page uses certain JavaScript |
| frameworks. This event is recorded when the page is going to be unloaded or |
| when the app enters the background on Android. The framework detection is |
| done when the document is loaded (similar to when load event is fired). If a |
| framework is used after this then it would not be detected. Note that a page |
| can use multiple frameworks at the same time, hence why this reports each |
| framework individually instead of a single enum. |
| </summary> |
| <metric name="AngularPageLoad" enum="Boolean"> |
| <summary> |
| True if the page loaded in the main frame uses the Angular JavaScript |
| framework. |
| </summary> |
| </metric> |
| <metric name="GatsbyPageLoad" enum="Boolean"> |
| <summary> |
| True if the page loaded in the main frame uses the Gatsby JavaScript |
| framework. |
| </summary> |
| </metric> |
| <metric name="NextJSPageLoad" enum="Boolean"> |
| <summary> |
| True if the page loaded in the main frame uses the Next.js JavaScript |
| framework. |
| </summary> |
| </metric> |
| <metric name="NuxtJSPageLoad" enum="Boolean"> |
| <summary> |
| True if the page loaded in the main frame uses the Nuxt.js JavaScript |
| framework. |
| </summary> |
| </metric> |
| <metric name="PreactPageLoad" enum="Boolean"> |
| <summary> |
| True if the page loaded in the main frame uses the Preact JavaScript |
| framework. |
| </summary> |
| </metric> |
| <metric name="ReactPageLoad" enum="Boolean"> |
| <summary> |
| True if the page loaded in the main frame uses the React JavaScript |
| framework. |
| </summary> |
| </metric> |
| <metric name="SapperPageLoad" enum="Boolean"> |
| <summary> |
| True if the page loaded in the main frame uses the Sapper JavaScript |
| framework. |
| </summary> |
| </metric> |
| <metric name="SveltePageLoad" enum="Boolean"> |
| <summary> |
| True if the page loaded in the main frame uses the Svelte JavaScript |
| framework. |
| </summary> |
| </metric> |
| <metric name="VuePageLoad" enum="Boolean"> |
| <summary> |
| True if the page loaded in the main frame uses the Vue JavaScript |
| framework. |
| </summary> |
| </metric> |
| <metric name="VuePressPageLoad" enum="Boolean"> |
| <summary> |
| True if the page loaded in the main frame uses the VuePress JavaScript |
| framework. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Lens.Overlay.Overlay.UserAction"> |
| <owner>jdonnelly@google.com</owner> |
| <owner>lens-chrome@google.com</owner> |
| <summary> |
| Recorded each time the user interactions with the Lens Overlay, enumerated |
| by those actions. |
| </summary> |
| <metric name="UserAction" enum="LensOverlayUserAction"> |
| <summary> |
| The user interaction with the Lens Overlay. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Lens.Overlay.SessionEnd"> |
| <owner>jdonnelly@google.com</owner> |
| <owner>lens-chrome@google.com</owner> |
| <summary> |
| Recorded once when the Lens Overlay feature is dismissed. Measures the |
| invocation source of the session, the duration, and whether a search |
| performed in the session. |
| </summary> |
| <metric name="InvocationResultedInSearch" enum="Boolean"> |
| <summary> |
| Indicates whether or not a search was performed at any point since the |
| overlay was invoked. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="InvocationSource" enum="LensOverlayInvocationSource"> |
| <summary> |
| The UI entry point used to invoke the Lens Overlay feature. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SessionDuration"> |
| <summary> |
| Measures the elapsed time between when the overlay was invoked and when it |
| was dismissed. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Lens.Overlay.TimeToFirstInteraction"> |
| <owner>jdonnelly@google.com</owner> |
| <owner>lens-chrome@google.com</owner> |
| <summary> |
| Recorded once when the user first interacts with the overlay. Measures the |
| elapsed time (ms) between when the overlay was invoked and when the user |
| first interacts with the overlay. Nothing is logged when the user enters |
| through the image context menu. |
| </summary> |
| <metric name="AllEntryPoints"> |
| <summary> |
| Time to first interaction for all entry points. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="AppMenu"> |
| <summary> |
| Time to first interaction when overlay invoked through the app menu. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ContentAreaContextMenuPage"> |
| <summary> |
| Time to first interaction when overlay invoked through the page content |
| area context menu. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="FindInPage"> |
| <summary> |
| Time to first interaction when overlay invoked through the find in page |
| button. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Omnibox"> |
| <summary> |
| Time to first interaction when overlay invoked through the omnibox. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Toolbar"> |
| <summary> |
| Time to first interaction when overlay invoked through the toolbar. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="LoadCountsPerTopLevelDocument"> |
| <owner>fdoray@chromium.org</owner> |
| <owner>chrome-catan@google.com</owner> |
| <summary> |
| Counts loads of each type that occurred on a top-level document. Recorded |
| when a top-level document is unloaded. This can be used to diagnose changes |
| to the "Total pageloads" shown on stability dashboard. |
| |
| Exponential bucketing is applied to all counts. The bucketing function |
| preserves exact count up until 20. |
| </summary> |
| <metric name="NumMainFrameSameDocumentLoads_Hidden"> |
| <summary> |
| Number of main frame same-document loads that occurred while the page was |
| hidden. |
| </summary> |
| </metric> |
| <metric name="NumMainFrameSameDocumentLoads_Visible"> |
| <summary> |
| Number of main frame same-document loads that occurred while the page was |
| visible. |
| </summary> |
| </metric> |
| <metric name="NumSubFrameDifferentDocumentLoads_Hidden"> |
| <summary> |
| Number of sub frame different-document loads that occurred while the page |
| was hidden. |
| </summary> |
| </metric> |
| <metric name="NumSubFrameDifferentDocumentLoads_Visible"> |
| <summary> |
| Number of sub frame different-document loads that occurred while the page |
| was visible. |
| </summary> |
| </metric> |
| <metric name="NumSubFrameSameDocumentLoads_Hidden"> |
| <summary> |
| Number of sub frame same-document loads that occurred while the page was |
| hidden. |
| </summary> |
| </metric> |
| <metric name="NumSubFrameSameDocumentLoads_Visible"> |
| <summary> |
| Number of sub frame same-document loads that occurred while the page was |
| visible. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="LoadingPredictor" singular="true"> |
| <owner>sophiechang@chromium.org</owner> |
| <owner>tbansal@chromium.org</owner> |
| <summary> |
| Metrics that reflect the accuracy of the predictions used by the Loading |
| Predictor. This event will be recorded once per page load on |
| DocumentOnLoadCompletedInPrimaryMainFrame(). |
| </summary> |
| <metric name="CorrectSubresourceOriginPreconnectsInitiated"> |
| <summary> |
| The number of subresource origin preconnects that were initiated by the |
| Loading Predictor for the navigation and were actually used by the page |
| load, excluding the main frame URL's origin. If more than 100 subresource |
| origins were preconnected to and were actually used by the page load, this |
| will be capped at 100. |
| </summary> |
| </metric> |
| <metric name="CorrectSubresourcePrefetchesInitiated"> |
| <summary> |
| The number of subresource prefetches that were initiated by the Loading |
| Predictor for the navigation and were actually used by the page load. If |
| more than 100 subresources were prefetched and were actually used by the |
| page load, this will be capped at 100. |
| </summary> |
| </metric> |
| <metric name="LocalPredictionCorrectlyPredictedOrigins"> |
| <summary> |
| The number of subresource origins that were correctly predicted by the |
| local prediction database. This will be recorded if there is a prediction |
| available in the local prediction database and does not necessarily mean |
| that the prediction was used. If more than 100 subresource origins were |
| correctly predicted, this will be capped at 100. |
| </summary> |
| </metric> |
| <metric name="LocalPredictionOrigins"> |
| <summary> |
| The number of subresource origins that were predicted locally. This will |
| be recorded if there is a prediction available in the local prediction |
| database and does not necessarily mean that the prediction was used. If |
| more than 100 subresource origins were predicted, this will be capped at |
| 100. |
| </summary> |
| </metric> |
| <metric name="NavigationStartToFirstSubresourcePrefetchInitiated"> |
| <summary> |
| The time (in milliseconds) that elapsed between navigation start and the |
| first subresource prefetch that was initiated based on these predictions. |
| </summary> |
| </metric> |
| <metric name="NavigationStartToNavigationCommit"> |
| <summary> |
| The time (in milliseconds) that elapsed between navigation start and the |
| commit finished. |
| </summary> |
| </metric> |
| <metric name="NavigationStartToOptimizationGuidePredictionArrived"> |
| <summary> |
| The time (in milliseconds) that elapsed between navigation start and the |
| optimization guide prediction arriving for the navigation. |
| </summary> |
| </metric> |
| <metric |
| name="OptimizationGuidePredictionCorrectlyPredictedLowPriorityOrigins"> |
| <summary> |
| The number of predicted subresource origins that were only used by the |
| page for low-priority subresource loads before it unloaded. This will be |
| recorded if the Optimization Guide was consulted for the page load and the |
| Optimization Guide had a prediction for it. If more than 100 subresource |
| origins were correctly predicted, this will be capped at 100. |
| </summary> |
| </metric> |
| <metric |
| name="OptimizationGuidePredictionCorrectlyPredictedLowPrioritySubresources"> |
| <summary> |
| The number of predicted subresources that were only used by the page for |
| low-priority subresource loads before it unloaded. This will be recorded |
| if the Optimization Guide was consulted for the page load and the |
| Optimization Guide had a prediction for it. If more than 100 subresources |
| were predicted, this will be capped at 100. |
| </summary> |
| </metric> |
| <metric |
| name="OptimizationGuidePredictionCorrectlyPredictedLowPrioritySubresources.CrossOrigin"> |
| <summary> |
| The number of predicted cross-origin subresources that were only used by |
| the page for low-priority subresource loads before it unloaded. This will |
| be recorded if the Optimization Guide was consulted for the page load and |
| the Optimization Guide had a prediction for it. If more than 100 |
| subresources were predicted, this will be capped at 100. |
| </summary> |
| </metric> |
| <metric name="OptimizationGuidePredictionCorrectlyPredictedOrigins"> |
| <summary> |
| The number of subresource origins that were correctly predicted by the |
| Optimization Guide. This only counts origins of high-priority subresources |
| that are used before the page finishes loading. This will be recorded if |
| the Optimization Guide was consulted for the page load and the |
| Optimization Guide had a prediction for it. If more than 100 subresource |
| origins were correctly predicted, this will be capped at 100. |
| </summary> |
| </metric> |
| <metric name="OptimizationGuidePredictionCorrectlyPredictedSubresources"> |
| <summary> |
| The number of subresources that were correctly predicted by the |
| Optimization Guide. This only counts high-priority subresources used |
| before the page finishes loading. This will be recorded if the |
| Optimization Guide was consulted for the page load and the Optimization |
| Guide had a prediction for it. If more than 100 subresources were |
| predicted, this will be capped at 100. |
| </summary> |
| </metric> |
| <metric |
| name="OptimizationGuidePredictionCorrectlyPredictedSubresources.CrossOrigin"> |
| <summary> |
| The number of cross-origin subresources that were correctly predicted by |
| the Optimization Guide. This only counts high-priority subresources used |
| before the page finishes loading. This will be recorded if the |
| Optimization Guide was consulted for the page load and the Optimization |
| Guide had a prediction for it. If more than 100 subresources were |
| predicted, this will be capped at 100. |
| </summary> |
| </metric> |
| <metric name="OptimizationGuidePredictionDecision" |
| enum="OptimizationGuideOptimizationGuideDecision"> |
| <summary> |
| The decision coming from the Optimization Guide for whether there was a |
| prediction available for the Page Load. This will be recorded if the |
| Optimization Guide was consulted for the page load. |
| </summary> |
| </metric> |
| <metric name="OptimizationGuidePredictionOrigins"> |
| <summary> |
| The number of subresource origins that were predicted by the Optimization |
| Guide. This will be recorded if the Optimization Guide was consulted for |
| the page load and the Optimization Guide had a prediction for it. If more |
| than 100 subresource origins were predicted, this will be capped at 100. |
| </summary> |
| </metric> |
| <metric name="OptimizationGuidePredictionSubresources"> |
| <summary> |
| The number of subresources that were predicted by the Optimization Guide. |
| This will be recorded if the Optimization Guide was consulted for the page |
| load and the Optimization Guide had a prediction for it. If more than 100 |
| subresources were predicted, this will be capped at 100. |
| </summary> |
| </metric> |
| <metric name="OptimizationGuidePredictionSubresources.CrossOrigin"> |
| <summary> |
| The number of cross-origin subresources that were predicted by the |
| Optimization Guide. This will be recorded if the Optimization Guide was |
| consulted for the page load and the Optimization Guide had a prediction |
| for it. If more than 100 subresources were predicted, this will be capped |
| at 100. |
| </summary> |
| </metric> |
| <metric name="SubresourceOriginPreconnectsInitiated"> |
| <summary> |
| The number of subresource origins that were initiated by the Loading |
| Predictor and were preconnected to, excluding the main frame URL's origin. |
| If more than 100 subresource origins were preconnected to, this will be |
| capped at 100. |
| </summary> |
| </metric> |
| <metric name="SubresourcePrefetchesInitiated"> |
| <summary> |
| The number of subresource prefetches that were initiated by the Loading |
| Predictor for the navigation. If more than 100 subresources were |
| prefetched, this will be capped at 100. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="LocalNetworkRequests"> |
| <owner>uthakore@chromium.org</owner> |
| <owner>invernizzi@chromium.org</owner> |
| <summary> |
| Metrics that describe the resource request behavior of pages for which |
| navigation successfully commits. A separate entry is generated for every |
| unique IP address or localhost port number to which the loaded page makes a |
| resource request. |
| </summary> |
| <metric name="Count.Failed"> |
| <summary> |
| The count of requests made by the page to the given resource for which a |
| response is not received or a network error occurs (i.e. |net_error| != |
| |net::OK|) between the time navigation to the page commits and the time it |
| completes. |
| </summary> |
| </metric> |
| <metric name="Count.Successful"> |
| <summary> |
| The count of requests made by the page to the given resource for which a |
| successful response is received (i.e. |net_error| == |net::OK|) between |
| the time navigation to the page commits and the time it completes. |
| </summary> |
| </metric> |
| <metric name="PortType"> |
| <summary> |
| An enum value representing the type of port for requests to localhost. The |
| enum is defined in |LocalNetworkRequestsPageLoadMetricsObserver|. Possible |
| values are 1 for common web server ports, 2 for common database server |
| ports, 4 for common print server ports, 8 for common development server |
| ports, and 0 for all other ports. |
| </summary> |
| </metric> |
| <metric name="ResourceType"> |
| <summary> |
| An enum value representing the type of resource requested. The enum is |
| defined in |LocalNetworkRequestsPageLoadMetricsObserver|. Possible values |
| are 0 for public resources requested by private pages, 1 for private |
| resources requested by public pages, 2 for private resources within the |
| same reserved IP space as the loaded private page, 4 for private resources |
| within a different reserved IP space than the loaded private page, 8 for |
| resources requested by public pages that are suspected to be routers, and |
| 16 for localhost resources. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="LookalikeUrl.NavigationSuggestion" singular="True"> |
| <owner>meacer@chromium.org</owner> |
| <owner>cthomp@chromium.org</owner> |
| <summary> |
| Metrics recorded when a navigated URL's domain name is visually similar to a |
| popular domain or a domain that the user engaged with. |
| </summary> |
| <metric name="MatchType"> |
| <summary> |
| An enum value representing the type of the match (popular domain, engaged |
| domain, etc.). The enum is defined in |LookalikeUrlBlockingPage|. |
| </summary> |
| </metric> |
| <metric name="TriggeredByInitialUrl" enum="Boolean"> |
| <summary> |
| A boolean representing whether or not the warning was triggered by the |
| first URL in the chain, or whether the warning was triggered by the final |
| (committed) URL. |
| </summary> |
| </metric> |
| <metric name="UserAction"> |
| <summary> |
| An enum value representing the decision the user made when shown an |
| interstitial (ignored, suggestion_accepted, etc.). The enum is defined in |
| |LookalikeUrlBlockingPage|. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="MainFrameNavigation" singular="True"> |
| <owner>thegreenfrog@chromium.org</owner> |
| <summary> |
| Metric associated with a main frame navigation. Currently implemented only |
| on iOS. |
| </summary> |
| <metric name="DidCommit" enum="Boolean"> |
| <summary> |
| Set to 1 if the navigation successfully committed. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="MainFrameNavigation.ZstdContentEncoding"> |
| <owner>nidhijaju@chromium.org</owner> |
| <owner>blink-network-stack@google.com</owner> |
| <summary> |
| Event recorded on navigation commit when a page load is content-encoded with |
| zstd and is a main frame navigation. |
| </summary> |
| <metric name="UsedZstd" enum="Boolean"> |
| <summary> |
| Set to 1 if the main frame served zstd-compressed content. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Media.Autoplay.Attempt"> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Event recorded when there is an attempt to autoplay (ie. no user gesture). |
| It will be recorded regardless of the result of this attempt. |
| </summary> |
| <metric name="AudioTrack"> |
| <summary> |
| Whether the element had an audio track when autoplay was attempted. |
| </summary> |
| </metric> |
| <metric name="HighMediaEngagement"> |
| <summary> |
| Whether the document has a high media engagement. |
| </summary> |
| </metric> |
| <metric name="Muted"> |
| <summary> |
| Whether the element was muted when autoplay was attempted. |
| </summary> |
| </metric> |
| <metric name="Source"> |
| <summary> |
| Source of the autoplay attempt: 0 for attribute; 1 for play(). |
| </summary> |
| </metric> |
| <metric name="UserGestureRequired"> |
| <summary> |
| Whether a user gesture was required per autoplay rules at the time of |
| attempt. By definition there is no user gesture on the stack when the |
| attempt is registered. |
| </summary> |
| </metric> |
| <metric name="UserGestureStatus"> |
| <summary> |
| Reflects the current status of user gesture/activation. This is a bit |
| field with the following values: - 0b0001 if there is a user gesture on |
| the stack; - 0b0010 if there was a user gesture on the page (ie. was |
| activated); - 0b0100 if there was a user gesture propagated after a |
| navigation. |
| </summary> |
| </metric> |
| <metric name="VideoTrack"> |
| <summary> |
| Whether the element had a video track when autoplay was attempted. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Media.Autoplay.AudioContext"> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records the AudioContext autoplay information. |
| </summary> |
| <metric name="SourceNodeStarted"> |
| <summary> |
| A boolean indicating if start() was called for any source node associated |
| to the AudioContext. |
| </summary> |
| </metric> |
| <metric name="Status"> |
| <summary> |
| Status of this AudioContext when the autoplay policy applies. It will |
| match the values from AudioContext::AutoplayStatus. |
| </summary> |
| </metric> |
| <metric name="UnlockType"> |
| <summary> |
| How the AudioContext was unlocked if it was. It will match the values from |
| AudioContext::AutoplayUnlockType unless the AudioContext was never |
| unlocked in which case it will be equal to -1. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Media.Autoplay.Muted.UnmuteAction"> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Event recorded when there is an attempt to unmute an media that was |
| autoplaying following the rules of autoplay muted. |
| </summary> |
| <metric name="Result"> |
| <summary> |
| 0 means that the unmute failed because it happened without a user gesture. |
| 1 means that it succeeded because it had a user gesture. |
| </summary> |
| </metric> |
| <metric name="Source"> |
| <summary> |
| Similar to "Source" in "Media.Autoplay.Attempt" with |
| the addition of a value for both sources being used: 0 for attribute; 1 |
| for play(); 2 for both attempted. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Media.BasicPlayback"> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Core metrics associated with a media playback through WebMediaPlayerImpl. |
| Reported at the time of WatchTimeRecorder destruction or render process |
| termination; whichever comes first. There will be multiple entries for a |
| given playback; one for every PlaybackProperties change as well as one for |
| foreground and background. Records may be aggregated based on PlayerID and |
| correlated with the Media.WebMediaPlayerState event. |
| </summary> |
| <metric name="AudioCodec" enum="AudioCodec"> |
| <summary> |
| media::AudioCodec enum value. Can be kUnknownAudioCodec even when HasAudio |
| is true because we don't always know the codec. |
| </summary> |
| </metric> |
| <metric name="AudioCodecProfile" enum="AudioCodecProfile"> |
| <summary> |
| media::AudioCodecProfile enum value. Can be AudioCodecProfile::kUnknown |
| even when HasAudio is true because we don't always know the codec profile. |
| </summary> |
| </metric> |
| <metric name="AudioDecoderName" enum="AudioDecoderType"> |
| <summary> |
| Enumeration of audio decoder implementations, zero if none or unknown |
| (Cast, HLS, etc). See AudioDecoderType (media/base/decoder.h) for expected |
| values. |
| </summary> |
| </metric> |
| <metric name="AudioEncryptionScheme" enum="EncryptionScheme"> |
| <summary> |
| media::EncryptionScheme enum value (media/base/encryption_scheme.h). Can |
| be kUnencrypted if IsEME is false or if the audio track is unencrypted. |
| </summary> |
| </metric> |
| <metric name="AutoplayInitiated" enum="Boolean"> |
| <summary> |
| Boolean value indicating whether the initial playback was initiated via |
| autoplay. Multilpe chunk records of the same player should have the same |
| value. Autoplay is defined as a playback starting before there was a user |
| activation on the page or without a user initiated same-domain navigation. |
| </summary> |
| </metric> |
| <metric name="CompletedRebuffersCount"> |
| <summary> |
| Integer count of the number of times a previous rebuffer succeeded and |
| playback continued. |
| </summary> |
| </metric> |
| <metric name="CompletedRebuffersDuration"> |
| <summary> |
| Sum in milliseconds of all completed rebuffering events. Only reported if |
| a rebuffering completion occurred. |
| </summary> |
| </metric> |
| <metric name="Duration"> |
| <summary> |
| Duration in milliseconds, rounded to the most significant digit, of the |
| media being played. May be missing if the duration is unknown or infinite. |
| </summary> |
| </metric> |
| <metric name="HasAudio" enum="Boolean"> |
| <summary> |
| Boolean value indicating the presence of audio. |
| </summary> |
| </metric> |
| <metric name="HasVideo" enum="Boolean"> |
| <summary> |
| Boolean value indicating the presence of video. |
| </summary> |
| </metric> |
| <metric name="IsBackground" enum="Boolean"> |
| <summary> |
| Boolean value indicating if this event is for a background playback. |
| </summary> |
| </metric> |
| <metric name="IsEME" enum="Boolean"> |
| <summary> |
| Boolean value indicating if this event is for an EME playback. |
| </summary> |
| </metric> |
| <metric name="IsMSE" enum="Boolean"> |
| <summary> |
| Boolean value indicating if this event is for an MSE playback. If false it |
| means this was a SRC playback. |
| </summary> |
| </metric> |
| <metric name="IsMuted" enum="Boolean"> |
| <summary> |
| Boolean value indicating if this event is for a muted playback. |
| </summary> |
| </metric> |
| <metric name="IsTopFrame" enum="Boolean"> |
| <summary> |
| Flag indicating whether the report comes from the top frame or some inner |
| frame. For privacy, metrics from inner frames are recorded with the top |
| frame's origin, so this flag helps separate top frame vs. embedded |
| playbacks. |
| </summary> |
| </metric> |
| <metric name="LastPipelineStatus" enum="PipelineStatus"> |
| <summary> |
| media::PipelineStatusCodes enum value (media/base/pipeline_status.h). |
| Always 0 if the playback succeeded; all other values indicate the playback |
| ended in an error. |
| </summary> |
| </metric> |
| <metric name="MeanTimeBetweenRebuffers"> |
| <summary> |
| Average number of milliseconds between rebuffering events. Only reported |
| if a rebuffering event occurred. Computed by dividing total watch time by |
| the number of rebuffering events. |
| </summary> |
| </metric> |
| <metric name="MediaStreamType" enum="MediaStreamType"> |
| <summary> |
| Enum value indicating the type of MediaStream if the playback is from a |
| MediaStream, or kNonMediaStream otherwise. |
| </summary> |
| </metric> |
| <metric name="PlayerID"> |
| <summary> |
| ID which corresponds to a given WebMediaPlayerImpl instance. May be linked |
| with Media.WebMediaPlayerState events to understand playback more deeply. |
| </summary> |
| </metric> |
| <metric name="RebuffersCount"> |
| <summary> |
| Integer count of the number of times playback experienced rebuffering. |
| </summary> |
| </metric> |
| <metric name="VideoCodec" enum="VideoCodec"> |
| <summary> |
| media::VideoCodec enum value. Can be kUnknownVideoCodec even when HasVideo |
| is true because we don't always know the codec. |
| </summary> |
| </metric> |
| <metric name="VideoCodecProfile" enum="VideoCodecProfile"> |
| <summary> |
| media::VideoCodecProfile enum value. Can be VIDEO_CODEC_PROFILE_UNKNOWN |
| even when HasVideo is true because we don't always know the codec profile. |
| </summary> |
| </metric> |
| <metric name="VideoDecoderName" enum="VideoDecoderType"> |
| <summary> |
| Enumeration of video decoder implementations, zero if none or unknown |
| (Cast, HLS, etc). See VideoDecoderType (media/base/decoder.h) for expected |
| values. |
| </summary> |
| </metric> |
| <metric name="VideoEncryptionScheme" enum="EncryptionScheme"> |
| <summary> |
| media::EncryptionScheme enum value (media/base/encryption_scheme.h). Can |
| be kUnencrypted if IsEME is false or if the video track is unencrypted. |
| </summary> |
| </metric> |
| <metric name="VideoFramesDecoded"> |
| <summary> |
| Integer count of the video frames decoded in this record. |
| </summary> |
| </metric> |
| <metric name="VideoFramesDropped"> |
| <summary> |
| Integer count of the video frames dropped in this record. Should not |
| exceed VideoFramesDecoded. |
| </summary> |
| </metric> |
| <metric name="VideoNaturalHeight"> |
| <summary> |
| Integer value indicating the natural height of the playback. |
| </summary> |
| </metric> |
| <metric name="VideoNaturalWidth"> |
| <summary> |
| Integer value indicating the natural width of the playback. |
| </summary> |
| </metric> |
| <metric name="WatchTime"> |
| <summary> |
| Watch time in milliseconds for this playback. See Media.WatchTime UMA |
| metrics. |
| </summary> |
| </metric> |
| <metric name="WatchTime.AC"> |
| <summary> |
| Watch time on AC power in milliseconds for this playback. See |
| Media.WatchTime UMA metrics. |
| </summary> |
| </metric> |
| <metric name="WatchTime.Battery"> |
| <summary> |
| Watch time on battery power in milliseconds for this playback. See |
| Media.WatchTime UMA metrics. |
| </summary> |
| </metric> |
| <metric name="WatchTime.DisplayFullscreen"> |
| <summary> |
| Watch time for fullscreen in milliseconds for this playback. See |
| Media.WatchTime UMA metrics. Only reported for foreground playbacks. |
| </summary> |
| </metric> |
| <metric name="WatchTime.DisplayInline"> |
| <summary> |
| Watch time for inline display in milliseconds for this playback. See |
| Media.WatchTime UMA metrics. Only reported for foreground playbacks. |
| </summary> |
| </metric> |
| <metric name="WatchTime.DisplayPictureInPicture"> |
| <summary> |
| Watch time for picture in picture display in milliseconds for this |
| playback. See Media.WatchTime UMA metrics. Only reported for foreground |
| playbacks. |
| </summary> |
| </metric> |
| <metric name="WatchTime.NativeControlsOff"> |
| <summary> |
| Watch time with no controls in milliseconds for this playback. See |
| Media.WatchTime UMA metrics. Only reported for foreground playbacks. |
| </summary> |
| </metric> |
| <metric name="WatchTime.NativeControlsOn"> |
| <summary> |
| Watch time with native controls in milliseconds for this playback. See |
| Media.WatchTime UMA metrics. Only reported for foreground playbacks. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Media.EME.ApiPromiseRejection"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Event recorded when an Encrypted Media Extensions (EME) API promise is |
| rejected. In most cases this indicates a failure. |
| </summary> |
| <metric name="Api" enum="EmeApiType"> |
| <summary> |
| The EME API for which the promise is rejected. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="KeySystem" enum="MediaKeySystem"> |
| <summary> |
| The key system associated with the current CDM. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SystemCode" enum="CdmSystemCode"> |
| <summary> |
| A CDM specific code providing more details about the cause of rejection. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="UseHardwareSecureCodecs" enum="Boolean"> |
| <summary> |
| Whether hardware secure codecs are required for the current CDM. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Media.EME.CreateMediaKeys"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Event recorded when createMediaKeys() is called as part of Encrypted Media |
| Extensions (EME) API. |
| </summary> |
| <metric name="IsAdFrame" enum="Boolean"> |
| <summary> |
| Whether the frame is an ad frame. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="IsCrossOrigin" enum="Boolean"> |
| <summary> |
| Whether the frame is Cross-Origin to the main frame. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="IsTopFrame" enum="Boolean"> |
| <summary> |
| Whether the frame is the main frame. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="KeySystem" enum="MediaKeySystemLegacy"> |
| <summary> |
| The key system associated with this call. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Media.EME.GetStatusForPolicy"> |
| <owner>frs@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Event recorded when the EME API GetStatusForPolicy promise is resolved. |
| </summary> |
| <metric name="IsAdFrame" enum="Boolean"> |
| <summary> |
| Whether the frame is an ad frame. This is not set if the frame is null. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="KeySystem" enum="MediaKeySystem"> |
| <summary> |
| The key system associated with the current CDM. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="MinHdcpVersion" enum="HdcpVersion"> |
| <summary> |
| The minimum HDCP version requested for EME API GetStatusForPolicy. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="UseHardwareSecureCodecs" enum="Boolean"> |
| <summary> |
| Whether hardware secure codecs are required for the current CDM. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Media.EME.RequestMediaKeySystemAccess"> |
| <owner>xhwang@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Event recorded when RequestMediaKeySystemAccess() is called as part of |
| Encrypted Media Extensions (EME) API. |
| </summary> |
| <metric name="IsAdFrame" enum="Boolean"> |
| <summary> |
| Whether the frame is an ad frame. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="IsCrossOrigin" enum="Boolean"> |
| <summary> |
| Whether the frame is Cross-Origin to the main frame. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="IsFromMediaCapabilities" enum="Boolean"> |
| <summary> |
| Whether called by MediaCapabilities or not. |
| </summary> |
| </metric> |
| <metric name="IsTopFrame" enum="Boolean"> |
| <summary> |
| Whether the frame is the main frame. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="KeySystem" enum="MediaKeySystemLegacy"> |
| <summary> |
| The key system passed in requestMediaKeySystemAccess() call. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="VideoCapabilities" enum="Boolean"> |
| <summary> |
| Whether there are any "videoCapabilities". |
| </summary> |
| </metric> |
| <metric name="VideoCapabilities.HasEmptyRobustness" enum="Boolean"> |
| <summary> |
| Whether there are any "videoCapabilities" with empty robustness. |
| </summary> |
| </metric> |
| <metric name="VideoCapabilities.HasHwSecureAllRobustness" enum="Boolean"> |
| <summary> |
| Whether there are any "videoCapabilities" with robustness being |
| "HW_SECURE_ALL". |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Media.EME.Usage"> |
| <owner>jrummell@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Event recorded when an Encrypted Media Extensions (EME) API is called. |
| </summary> |
| <metric name="Api" enum="EmeApiType"> |
| <summary> |
| The EME API that is called. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="IsPersistentSession" enum="Boolean"> |
| <summary> |
| For EME API calls done on MediaKeySession, whether the session is |
| persistent or not. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="KeySystem" enum="MediaKeySystem"> |
| <summary> |
| The key system associated with the current CDM. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="UseHardwareSecureCodecs" enum="Boolean"> |
| <summary> |
| Whether hardware secure codecs are required for the current CDM. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Media.Engagement.SessionFinished"> |
| <owner>beccahughes@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The Media Engagement index stores the number of significant media playbacks |
| per origin and the number of visits. From that we calculate a Media |
| Engagement Score. |
| |
| To tweak the scoring function we are logging the total number of significant |
| media playbacks, the total number of visits, the calculated engagement score |
| and the new number of significant media playbacks that occurred this visit. |
| </summary> |
| <metric name="Engagement.IsHigh"> |
| <summary> |
| Whether the Media Engagement Service considers the score to be high (we |
| are using a two threshold approach so there is one threshold to be |
| considered high and another one to lose that status to reduce jitter). |
| </summary> |
| </metric> |
| <metric name="Engagement.Score"> |
| <summary> |
| The calculated Media Engagement score for the current origin. The score is |
| calculated by dividing the number of significant media playbacks by the |
| number of visits. If the number of visits is below 5 then the score will |
| be zero. This score is taken from MediaEngagementService. |
| </summary> |
| </metric> |
| <metric name="Playbacks.Total"> |
| <summary> |
| The total number of significant media playbacks on this origin. |
| </summary> |
| </metric> |
| <metric name="Player.Audible.Delta"> |
| <summary> |
| The number of unique audio/video players on a page that was audible (made |
| sound) during a visit. |
| </summary> |
| </metric> |
| <metric name="Player.Significant.Delta"> |
| <summary> |
| The number of unique audio/video players on a page that was audible (made |
| sound) and considered significant (played for at least 7 seconds) during a |
| visit. |
| </summary> |
| </metric> |
| <metric name="Visits.Total"> |
| <summary> |
| The total number of visits to this origin. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Media.Engagement.ShortPlaybackIgnored"> |
| <owner>beccahughes@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| The Media Engagement index stores the number of significant media playbacks |
| per origin and the number of audible players. From that we calculate a Media |
| Engagement Score. |
| |
| Media with a short playback length is ignored so we are logging any time the |
| player is ignored with the length in msec. This will allow us to identify |
| whether sites are being penalized or there is abuse and allow us to tweak |
| the length considered "short". |
| </summary> |
| <metric name="Length"/> |
| </event> |
| |
| <event name="Media.Feed.Discover"> |
| <owner>beccahughes@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Media Feeds are out of band feeds of media recommendations that are fetched |
| by the browser. This records when we discover a feed that has been placed in |
| a meta tag on a website. |
| </summary> |
| <metric name="HasMediaFeed"> |
| <summary> |
| Whether the site has a media feed. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Media.GlobalMediaControls.ActionButtonPressed"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records when a user presses a button in the Global Media Controls. Records |
| no more than 100 actions per source per session. Records which button was |
| pressed (e.g. play, pause, next track, picture-in-picture). |
| </summary> |
| <metric name="MediaSessionAction" enum="MediaSessionAction"> |
| <summary> |
| The action of the button that was pressed (e.g. play, pause, next track, |
| picture-in-picture). |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Media.Learning.PredictionRecord"> |
| <owner>liberato@chromium.org</owner> |
| <summary> |
| A record of some predicted value vs. an observation. If the prediction is |
| for a regression-style task (e.g., "predict a number" rather than |
| "predict an enum value"), then the predicted and observed values |
| are the numeric values, scaled by default to be in the integer range 0-100. |
| |
| The exact scaling used depends on the particular regression problem. Please |
| see the LearningTask structure for the task of interest to find out how it |
| maps values into the [0, 100] output range. |
| |
| A record is created for every prediction separately. |
| |
| For example, in the MediaCapabilities experiments, each playback generates a |
| record. The predicted / observed values are the ratio of dropped to decoded |
| frames, expressed as a percentage scaled to 0-100. |
| </summary> |
| <metric name="LearningTask"> |
| <summary> |
| The learning task to which this record applies. This is a persistent hash |
| of the |name| field in the LearningTask. Presumably, you'll want to |
| include only records of a particular task when analyzing results. |
| </summary> |
| </metric> |
| <metric name="ObservedValue"> |
| <summary> |
| Observed value for this sample, scaled into the range [0, 100]. The exact |
| scaling factor depends on the particular task. |
| |
| MediaCapabilities, for example, reports 100 * percentage_of_dropped_frames |
| in this field. |
| </summary> |
| </metric> |
| <metric name="PredictedValue"> |
| <summary> |
| Predicted value for this sample, scaled into the range [0, 100]. The exact |
| scaling factor depends on the particular task. |
| |
| MediaCapabilities, for example, reports 100 * percentage_of_dropped_frames |
| in this field. |
| </summary> |
| </metric> |
| <metric name="TrainingDataSize"> |
| <summary> |
| Number of training examples that were used to train this model. |
| </summary> |
| </metric> |
| <metric name="TrainingDataTotalWeight"> |
| <summary> |
| Total weight of all examples that were used to train this model. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Media.SiteMuted" singular="True"> |
| <owner>steimel@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Event recorded when a website tries to play audio but is muted by the sound |
| content setting. |
| </summary> |
| <metric name="MuteReason"> |
| <summary> |
| Enum value giving the reason the site was muted. Defined as |
| |SoundContentSettingObserver::MuteReason|. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Media.VideoDecodePerfRecord"> |
| <owner>chcunningham@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| A record of decoding performance metrics from a video playback with the |
| given stream characteristics (profile, resolution, fps). Also includes what |
| Media Capabilities API would claim for such a stream as a means of assessing |
| the API's accuracy. |
| </summary> |
| <metric name="Perf.ApiWouldClaimIsPowerEfficient"> |
| <summary> |
| Boolean signaling whether MediaCapabilities would classify streams with |
| these characteristics as power efficient prior to considering this latest |
| record. MediaCapabilities prediction is accurate when this value matches |
| RecordIsPowerEfficient. |
| </summary> |
| </metric> |
| <metric name="Perf.ApiWouldClaimIsSmooth"> |
| <summary> |
| Boolean signaling whether MediaCapabilities would classify streams with |
| these characteristics as smooth prior to considering this latest record. |
| MediaCapabilities prediction is accurate when this value matches |
| RecordIsSmooth. |
| </summary> |
| </metric> |
| <metric name="Perf.PastVideoFramesDecoded"> |
| <summary> |
| Integer count of past video frames decoded for the given video type. |
| </summary> |
| </metric> |
| <metric name="Perf.PastVideoFramesDropped"> |
| <summary> |
| Integer count of past video frames dropped for the given video type. |
| </summary> |
| </metric> |
| <metric name="Perf.PastVideoFramesPowerEfficient"> |
| <summary> |
| Integer count of past video frames power efficient for the given video |
| type. |
| </summary> |
| </metric> |
| <metric name="Perf.RecordIsPowerEfficient"> |
| <summary> |
| Boolean signaling whether MediaCapabilities would classify this isolated |
| playback record as power efficient. |
| </summary> |
| </metric> |
| <metric name="Perf.RecordIsSmooth"> |
| <summary> |
| Boolean signaling whether MediaCapabilities would classify this isolated |
| playback record as smooth. |
| </summary> |
| </metric> |
| <metric name="Perf.VideoFramesDecoded"> |
| <summary> |
| Integer count of the video frames decoded in this record. |
| </summary> |
| </metric> |
| <metric name="Perf.VideoFramesDropped"> |
| <summary> |
| Integer count of the video frames dropped in this record. Should not |
| exceed VideoFramesDecoded. |
| </summary> |
| </metric> |
| <metric name="Perf.VideoFramesPowerEfficient"> |
| <summary> |
| Integer count of the video frames decoded via power efficient means in |
| this record. Should not exceed VideoFramesDecoded. |
| </summary> |
| </metric> |
| <metric name="Video.CodecProfile"> |
| <summary> |
| media::VideoCodecProfile enum value. Can be VIDEO_CODEC_PROFILE_UNKNOWN if |
| we don't know the video codec. |
| </summary> |
| </metric> |
| <metric name="Video.EME.KeySystem" enum="MediaKeySystem"> |
| <summary> |
| Name of the KeySystem used during for an encrypted (EME) playback. Will be |
| unset when EME is not used. |
| </summary> |
| </metric> |
| <metric name="Video.EME.UseHwSecureCodecs"> |
| <summary> |
| Boolean indicating whether content decryption module (CDM) was configured |
| to use hardware secure decoding. May be true or false for EME playbacks. |
| Will be unset for non-EME playbacks. |
| </summary> |
| </metric> |
| <metric name="Video.FramesPerSecond"> |
| <summary> |
| Integer representing video frames per second. This is the cadence of video |
| frames as described by stream timestamps multiplied by |
| HTMLMediaELement.playbackRate. |
| </summary> |
| </metric> |
| <metric name="Video.InTopFrame"> |
| <summary> |
| Flag indicating whether the record comes from the top frame or some inner |
| frame. For privacy, metrics from inner frames are recorded with the top |
| frame's origin, so this flag helps separate top frame vs. embedded |
| playbacks. |
| </summary> |
| </metric> |
| <metric name="Video.NaturalHeight"> |
| <summary> |
| Integer representing height of video natural size. |
| </summary> |
| </metric> |
| <metric name="Video.NaturalWidth"> |
| <summary> |
| Integer representing width of video natural size. |
| </summary> |
| </metric> |
| <metric name="Video.PlayerID"> |
| <summary> |
| ID which corresponds to a given WebMediaPlayerImpl instance. May be linked |
| with Media.WebMediaPlayerState events to understand playback more deeply. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Media.VideoEncoderMetrics"> |
| <owner>hiroh@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| A record of encoding usage metrics in chrome, for example, for cast |
| mirroring and webcodecs. This is recorded in the end of each video encoding |
| session. |
| </summary> |
| <metric name="Height"> |
| <summary> |
| Integer value indicating the height of the encoded stream. This is |
| bucketed per 100 and capped by 8200. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="IsHardware" enum="Boolean"> |
| <summary> |
| Boolean value indicating whether the encoder implementation is hardware |
| accelerated one or not. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="NumEncodedFrames"> |
| <summary> |
| Integer value indicating the number of the successfully encoded frames. |
| This is bucketed per 100. |
| </summary> |
| </metric> |
| <metric name="Profile" enum="VideoCodecProfile"> |
| <summary> |
| media::VideoCodecProfile enum value. The codec profile configured to |
| encode the video. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Status" enum="EncoderStatus"> |
| <summary> |
| media::EncoderStatus::Codes enum value. The first error status code on |
| error, otherwise media::EncoderStatus::Codes::kOk. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SVCMode" enum="SVCScalabilityMode"> |
| <summary> |
| Integer value indicating the SVC configuration of the encoding. The value |
| corresponds to media::SVCScalabilityMode. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="UseCase" enum="VideoEncoderUseCase"> |
| <summary> |
| Integer value indicating the video encoder use case. The value corresponds |
| to media:::mojom::VideoEncoderUseCase. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Width"> |
| <summary> |
| Integer value indicating the width of the encoded stream. This is bucketed |
| per 100 and capped by 8200. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Media.WebAudio.AudioContext.AudibleTime"> |
| <owner>hongchan@chromium.org</owner> |
| <owner>mjwilson@chromium.org</owner> |
| <owner>webaudio-dev@chromium.org</owner> |
| <summary> |
| Records the AudioContext audible time information. |
| </summary> |
| <metric name="AudibleTime"> |
| <summary> |
| Audible time in milliseconds for this event. |
| </summary> |
| </metric> |
| <metric name="IsMainFrame"> |
| <summary> |
| Indicates whether the event is fired from main frame. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Media.WebMediaPlayerState"> |
| <owner>dalecurtis@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Final state of WebMediaPlayerImpl instance. Records only immutable playback |
| properties. Contains a PlaybackID which links to Media.BasicPlayback events. |
| </summary> |
| <metric name="AudioEncryptionType" enum="MediaEncryptionType"> |
| <summary> |
| Encryption type of the audio stream such as whether audio is encrypted and |
| if so whether it has clear lead. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ContainerName"> |
| <summary> |
| media::container_names::MediaContainerName enum value. Only recorded for |
| !IsMSE src=URL playbacks, this is the container of the media being played |
| back; E.g., mp4, avi, mp3, etc. |
| </summary> |
| </metric> |
| <metric name="FinalPipelineStatus" enum="PipelineStatus"> |
| <summary> |
| media::PipelineStatus enum value. Always 0 if the playback succeeded; all |
| other values indicate the playback ended in an error. |
| </summary> |
| </metric> |
| <metric name="HasWaitingForKey" enum="Boolean"> |
| <summary> |
| Boolean value indicating whether an EME playback has been blocked waiting |
| for the CDM to be set or waiting for decryption key. For an non-EME |
| playback, this is always reported as false. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="IsEME"> |
| <summary> |
| Boolean value indicating if this event is for an EME playback. Note: EME |
| can be attached anytime during the lifecycle of a WebMediaPlayerImpl, but |
| once attached can't be removed. |
| </summary> |
| </metric> |
| <metric name="IsHardwareSecure" enum="Boolean"> |
| <summary> |
| Boolean value indicating whether the EME playback is using hardware secure |
| pipeline. For clear playback, this will always be false. |
| </summary> |
| </metric> |
| <metric name="IsMSE"> |
| <summary> |
| Boolean value indicating if this event is for an MSE playback. If false it |
| means this was a SRC playback. |
| </summary> |
| </metric> |
| <metric name="IsTopFrame"> |
| <summary> |
| Flag indicating whether the report comes from the top frame or some inner |
| frame. For privacy, metrics from inner frames are recorded with the top |
| frame's origin, so this flag helps separate top frame vs. embedded |
| playbacks. |
| </summary> |
| </metric> |
| <metric name="KeySystem" enum="MediaKeySystem"> |
| <summary> |
| For EME playback, this is the key system used. For clear playback, this |
| will always be the default value 0 (kUnknownKeySystemForUkm). |
| </summary> |
| </metric> |
| <metric name="PlayerID"> |
| <summary> |
| ID which corresponds to a given WebMediaPlayerImpl instance. May be linked |
| with Media.BasicPlayback events to understand a playback more deeply. |
| </summary> |
| </metric> |
| <metric name="RendererType" enum="MediaRendererType"> |
| <summary> |
| Type of media::Renderer used for the playback. In most cases we do not |
| support dynamically changing RendererType during one playback. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="TimeToFirstFrame"> |
| <summary> |
| Time in milliseconds from when WebMediaPlayerImpl starts loading until the |
| first video frame has been shown. |
| </summary> |
| </metric> |
| <metric name="TimeToMetadata"> |
| <summary> |
| Time in milliseconds from when WebMediaPlayerImpl starts loading until |
| metadata is known. |
| </summary> |
| </metric> |
| <metric name="TimeToPlayReady"> |
| <summary> |
| Time in milliseconds from when WebMediaPlayerImpl starts loading until it |
| has buffered enough to start playback. |
| </summary> |
| </metric> |
| <metric name="URLScheme"> |
| <summary> |
| media::mojom::MediaURLScheme enum value. Only recorded for !IsMSE src=URL |
| playbacks, this is the scheme of that URL; E.g., http, https, filesystem, |
| etc. |
| </summary> |
| </metric> |
| <metric name="VideoEncryptionType" enum="MediaEncryptionType"> |
| <summary> |
| Encryption type of the video stream such as whether video is encrypted and |
| if so whether it has clear lead. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="MediaRouter.CastWebSenderExtensionLoadUrl" singular="True"> |
| <owner>rwkeane@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Records that the a resource has been loaded from the Media Router Component |
| Extension. |
| </summary> |
| <metric name="HasOccurred" enum="Boolean"> |
| <summary> |
| A boolean signaling that the event has occurred; only records true values. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="MediaRouter.SiteInitiatedMirroringStarted"> |
| <owner>muyaoxu@google.com</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Recorded whenever user starts a site-initiated mirroring session via Media |
| Router. |
| </summary> |
| <metric name="AllowAudioCapture" enum="BooleanAllowed"> |
| <summary> |
| Whether audio capture is allowed in the cast session. If allowed, audio |
| playback will happen on the receiver side. If not allowed, audio playback |
| will happen on the sender side. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="MediaRouter.TabMirroringStarted"> |
| <owner>takumif@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Recorded whenever user starts a tab mirroring session via Media Router. |
| </summary> |
| <metric name="AudioState" enum="WebContentsAudioState"> |
| <summary> |
| The audio playback state of the WebContents at the start of the tab |
| mirroring session. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="MediaStream.Device"> |
| <owner>mfoltz@chromium.org</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Events recorded when a page requests access device media, i.e. by starting |
| screen capture or opening a webcam or microphone, and the result of that |
| request. |
| </summary> |
| <metric name="VideoCaptureGenerateStreamResult" |
| enum="MediaStreamRequestResult2"> |
| <summary> |
| The result of a page's request to open a video capture device (e.g., |
| webcam). |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Memory.Experimental"> |
| <owner>erikchen@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <summary> |
| Metrics associated with memory consumption, in MB. |
| </summary> |
| <metric name="ArrayBuffer"> |
| <summary> |
| Measure of memory consumed by Array Buffer. |
| </summary> |
| </metric> |
| <metric name="BlinkGC"> |
| <summary> |
| Measure of memory consumed by Oilpan. |
| </summary> |
| </metric> |
| <metric name="BlinkGC.AllocatedObjects"> |
| <summary> |
| Measure of memory consumed by live allocations made from Oilpan. |
| </summary> |
| </metric> |
| <metric name="CommandBuffer"> |
| <summary> |
| Measure of memory consumed by GL command buffer. |
| </summary> |
| </metric> |
| <metric name="Discardable"> |
| <summary> |
| Measure of memory consumed by Discardable memory service. |
| </summary> |
| </metric> |
| <metric name="DownloadService"> |
| <summary> |
| Measure of memory used by download service. |
| </summary> |
| </metric> |
| <metric name="Extensions.ValueStore"> |
| <summary> |
| Measure of memory consumed by Key Value Store databases of extensions. |
| </summary> |
| </metric> |
| <metric name="FontCaches"> |
| <summary> |
| Measure of memory used by font platform and shape caches in renderer |
| process. |
| </summary> |
| </metric> |
| <metric name="GpuMemory"> |
| <summary> |
| Measure of GPU memory used by Chrome. |
| </summary> |
| </metric> |
| <metric name="History"> |
| <summary> |
| Approximate measure of memory consumed by History service. |
| </summary> |
| </metric> |
| <metric name="IsVisible"> |
| <summary> |
| Indicates whether the tab is visible or not at the time of metric |
| collection. |
| </summary> |
| </metric> |
| <metric name="JavaHeap"> |
| <summary> |
| Measure of memory consumed by java heap on Android. |
| </summary> |
| </metric> |
| <metric name="LevelDatabase"> |
| <summary> |
| Measure of memory consumed by unaccounted level databases. |
| </summary> |
| </metric> |
| <metric name="Malloc"> |
| <summary> |
| Measure of memory allocated by malloc, that is not classified by other |
| metrics. |
| </summary> |
| </metric> |
| <metric name="Malloc.AllocatedObjects"> |
| <summary> |
| Measure of total memory used by objects allocated using malloc. |
| </summary> |
| </metric> |
| <metric name="NumberOfAdSubframes"> |
| <summary> |
| The number of ad subframes that the associated renderer owns. |
| </summary> |
| </metric> |
| <metric name="NumberOfArrayBufferContents"> |
| <summary> |
| The number of arraybuffer contents that the associated renderer owns. |
| </summary> |
| </metric> |
| <metric name="NumberOfDetachedScriptStates"> |
| <summary> |
| The number of detached ScriptState that the associated renderer owns. |
| </summary> |
| </metric> |
| <metric name="NumberOfDocuments"> |
| <summary> |
| The number of documents that the associated renderer owns. |
| </summary> |
| </metric> |
| <metric name="NumberOfExtensions"> |
| <summary> |
| The number of extensions that are served from the associated renderer |
| process. |
| </summary> |
| </metric> |
| <metric name="NumberOfFrames"> |
| <summary> |
| The number of frames that the associated renderer owns. |
| </summary> |
| </metric> |
| <metric name="NumberOfLayoutObjects"> |
| <summary> |
| The number of layout objects that the associated renderer owns. |
| </summary> |
| </metric> |
| <metric name="NumberOfMojoHandles"> |
| <summary> |
| The number of mojo handles stored in HandleTable. |
| </summary> |
| </metric> |
| <metric name="NumberOfNodes"> |
| <summary> |
| The number of nodes that the associated renderer owns. |
| </summary> |
| </metric> |
| <metric name="NumberOfWebMediaPlayers"> |
| <summary> |
| The number of web media players in the associated renderer. |
| </summary> |
| </metric> |
| <metric name="OmniboxSuggestions"> |
| <summary> |
| Measure of memory used due to URL indexing and autocomplete suggestions. |
| </summary> |
| </metric> |
| <metric name="PartitionAlloc"> |
| <summary> |
| Measure of memory allocated by PartitionAlloc allocator. |
| </summary> |
| </metric> |
| <metric name="PartitionAlloc.AllocatedObjects"> |
| <summary> |
| Measure of total memory used by objects allocated using PartitionAlloc. |
| </summary> |
| </metric> |
| <metric name="PartitionAlloc.Partitions.ArrayBuffer"> |
| <summary> |
| Measure of memory used by Array Buffer partition in PartitionAlloc. |
| </summary> |
| </metric> |
| <metric name="PartitionAlloc.Partitions.Buffer"> |
| <summary> |
| Measure of memory used by Buffer partition in PartitionAlloc. |
| </summary> |
| </metric> |
| <metric name="PartitionAlloc.Partitions.FastMalloc"> |
| <summary> |
| Measure of memory used by Fast Malloc partition in PartitionAlloc. |
| </summary> |
| </metric> |
| <metric name="PartitionAlloc.Partitions.Layout"> |
| <summary> |
| Measure of memory used by Layout partition in PartitionAlloc. |
| </summary> |
| </metric> |
| <metric name="PrivateMemoryFootprint"> |
| <summary> |
| Measure of total private memory consumed by process. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="metrics.ProcessType"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="PrivateSwapFootprint"> |
| <summary> |
| Measure of private swap memory consumed by a process. Available on Linux |
| and Android. |
| </summary> |
| </metric> |
| <metric name="ProcessType"> |
| <summary> |
| Type of process (e.g. browser, renderer, GPU --- see |
| services/resource_coordinator/public/mojom/memory_instrumentation/memory_instrumentation.mojom) |
| of associated metrics. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics export="False"> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Resident"> |
| <summary> |
| Size of process' working set. |
| </summary> |
| </metric> |
| <metric name="SharedMemoryFootprint"> |
| <summary> |
| Measure of total shared memory consumed by process. |
| </summary> |
| </metric> |
| <metric name="SiteStorage"> |
| <summary> |
| Measure of memory used due to web storage APIs in browser process. |
| </summary> |
| </metric> |
| <metric name="SiteStorage.BlobStorage"> |
| <summary> |
| Measure of memory used by in-memory blob file API in browser process. |
| </summary> |
| </metric> |
| <metric name="SiteStorage.IndexDB"> |
| <summary> |
| Measure of memory used due to IndexedDB API in browser process. |
| </summary> |
| </metric> |
| <metric name="SiteStorage.LocalStorage"> |
| <summary> |
| Measure of memory used due to Local Storage API in browser process. |
| </summary> |
| </metric> |
| <metric name="SiteStorage.SessionStorage"> |
| <summary> |
| Measure of memory used due to Session Storage API in browser process. |
| </summary> |
| </metric> |
| <metric name="Skia"> |
| <summary> |
| Measure of memory used by Skia. |
| </summary> |
| </metric> |
| <metric name="Skia.SkGlyphCache"> |
| <summary> |
| Measure of memory used by Skia Glyph Cache. |
| </summary> |
| </metric> |
| <metric name="Skia.SkResourceCache"> |
| <summary> |
| Measure of memory used by Skia Resource Cache. |
| </summary> |
| </metric> |
| <metric name="Sqlite"> |
| <summary> |
| Measure of memory used by all sqlite databases. |
| </summary> |
| </metric> |
| <metric name="Sync"> |
| <summary> |
| Measure of memory used by Sync storage. |
| </summary> |
| </metric> |
| <metric name="TabRestore"> |
| <summary> |
| Approximate measure of memory used by Tab restore service. |
| </summary> |
| </metric> |
| <metric name="TimeSinceLastNavigation"> |
| <summary> |
| The time in seconds since the Tab navigated. Only emitted for tabs that |
| are not sharing a process. |
| </summary> |
| </metric> |
| <metric name="TimeSinceLastVisibilityChange"> |
| <summary> |
| The time in seconds since the Tab changed visibility. Only emitted for |
| tabs that are not sharing a process. |
| </summary> |
| </metric> |
| <metric name="Total2.PrivateMemoryFootprint"> |
| <summary> |
| Measure of total private memory consumed by all processes. |
| </summary> |
| </metric> |
| <metric name="Total2.SharedMemoryFootprint"> |
| <summary> |
| Measure of total shared memory consumed by all processes. |
| </summary> |
| </metric> |
| <metric name="UI"> |
| <summary> |
| Measure of memory used by Android UI bitmaps. |
| </summary> |
| </metric> |
| <metric name="Uptime"> |
| <summary> |
| Process uptime. |
| </summary> |
| </metric> |
| <metric name="V8"> |
| <summary> |
| Measure of memory consumed by V8. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="metrics.ProcessType"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="V8.AllocatedObjects"> |
| <summary> |
| Measure of memory consumed by live objects in V8. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="metrics.ProcessType"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="V8.Main"> |
| <summary> |
| Measure of memory consumed by the main isolate of V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.AllocatedObjects"> |
| <summary> |
| Measure of memory consumed by live objects in the main isolate of V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.GlobalHandles"> |
| <summary> |
| Measure of memory consumed by global handles in V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.GlobalHandles.AllocatedObjects"> |
| <summary> |
| Measure of memory consumed by used global handles in V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap"> |
| <summary> |
| Measure of memory consumed by the main heap of V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap.AllocatedObjects"> |
| <summary> |
| Measure of memory consumed by live objects in the main heap of V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap.CodeLargeObjectSpace"> |
| <summary> |
| Measure of memory consumed by the code large object space of the main heap |
| of V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap.CodeLargeObjectSpace.AllocatedObjects"> |
| <summary> |
| Measure of memory consumed by live objects in the code large object space |
| of the main heap of V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap.CodeSpace"> |
| <summary> |
| Measure of memory consumed by the code space of the main heap of V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap.CodeSpace.AllocatedObjects"> |
| <summary> |
| Measure of memory consumed by live objects in the code space of the main |
| heap of V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap.LargeObjectSpace"> |
| <summary> |
| Measure of memory consumed by the large object space of the main heap of |
| V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap.LargeObjectSpace.AllocatedObjects"> |
| <summary> |
| Measure of memory consumed by live objects in the large object space of |
| the main heap of V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap.MapSpace"> |
| <summary> |
| Measure of memory consumed by the map space of the main heap of V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap.MapSpace.AllocatedObjects"> |
| <summary> |
| Measure of memory consumed by live objects in the map space of the main |
| heap of V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap.NewLargeObjectSpace"> |
| <summary> |
| Measure of memory consumed by the new large object space of the main heap |
| of V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap.NewLargeObjectSpace.AllocatedObjects"> |
| <summary> |
| Measure of memory consumed by live objects in the new large object space |
| of the main heap of V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap.NewSpace"> |
| <summary> |
| Measure of memory consumed by the new space of the main heap of V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap.NewSpace.AllocatedObjects"> |
| <summary> |
| Measure of memory consumed by live objects in the new space of the main |
| heap of V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap.OldSpace"> |
| <summary> |
| Measure of memory consumed by the old space of the main heap of V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap.OldSpace.AllocatedObjects"> |
| <summary> |
| Measure of memory consumed by live objects in the old space of the main |
| heap of V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap.ReadOnlySpace"> |
| <summary> |
| Measure of memory consumed by the read-only space of the main heap of V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap.ReadOnlySpace.AllocatedObjects"> |
| <summary> |
| Measure of memory consumed by live objects in the read-only space of the |
| main heap of V8. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap.SharedLargeObjectSpace"> |
| <summary> |
| Measure of memory consumed by the shared large object space of the main |
| heap of V8. Measured in bytes. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap.SharedLargeObjectSpace.AllocatedObjects"> |
| <summary> |
| Measure of memory consumed by live objects in the shared large object |
| space of the main heap of V8. Measured in bytes. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap.SharedSpace"> |
| <summary> |
| Measure of memory consumed by the shared space of the main heap of V8. |
| Measured in bytes. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Heap.SharedSpace.AllocatedObjects"> |
| <summary> |
| Measure of memory consumed by live objects in the shared space of the main |
| heap of V8. Measured in bytes. |
| </summary> |
| </metric> |
| <metric name="V8.Main.Malloc"> |
| <summary> |
| Measure of memory allocated by malloc in the main isolate of V8. |
| </summary> |
| </metric> |
| <metric name="V8.Workers"> |
| <summary> |
| Measure of memory consumed by worker isolates of V8. |
| </summary> |
| </metric> |
| <metric name="V8.Workers.AllocatedObjects"> |
| <summary> |
| Measure of memory consumed by live objects in worker isolates of V8. |
| </summary> |
| </metric> |
| <metric name="WebCache"> |
| <summary> |
| Measure of memory consumed by all resources in Blink Web Cache. |
| </summary> |
| </metric> |
| <metric name="WebCache.CSSStylesheetResources"> |
| <summary> |
| Measure of memory consumed by CSS Stylesheet resources in Blink Web Cache. |
| </summary> |
| </metric> |
| <metric name="WebCache.EncodedSizeDuplicatedInDataUrls"> |
| <summary> |
| Measure of memory consumed by data URLs of Image resources in Blink Web |
| Cache. |
| </summary> |
| </metric> |
| <metric name="WebCache.FontResources"> |
| <summary> |
| Measure of memory consumed by Font resources in Blink Web Cache. |
| </summary> |
| </metric> |
| <metric name="WebCache.ImageResources"> |
| <summary> |
| Measure of memory consumed by Image resources in Blink Web Cache. |
| </summary> |
| </metric> |
| <metric name="WebCache.OtherResources"> |
| <summary> |
| Measure of memory consumed by other resources in Blink Web Cache. |
| </summary> |
| </metric> |
| <metric name="WebCache.ScriptResources"> |
| <summary> |
| Measure of memory consumed by Script resources in Blink Web Cache. |
| </summary> |
| </metric> |
| <metric name="WebCache.V8CodeCache"> |
| <summary> |
| Measure of memory consumed by V8 code cache held by Script resources in |
| Blink Web Cache. |
| </summary> |
| </metric> |
| <metric name="WebCache.XSLStylesheetResources"> |
| <summary> |
| Measure of memory consumed by XSL Stylesheet resources in Blink Web Cache. |
| </summary> |
| </metric> |
| <metric name="WebMediaPlayer.Audio"> |
| <summary> |
| Measure of total memory used by media/webmediaplayer/audio. |
| </summary> |
| </metric> |
| <metric name="WebMediaPlayer.DataSource"> |
| <summary> |
| Measure of total memory used by media/webmediaplayer/data_source. |
| </summary> |
| </metric> |
| <metric name="WebMediaPlayer.Demuxer"> |
| <summary> |
| Measure of total memory used by media/webmediaplayer/demuxer. |
| </summary> |
| </metric> |
| <metric name="WebMediaPlayer.Video"> |
| <summary> |
| Measure of total memory used by media/webmediaplayer/video. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Memory.TabFootprint"> |
| <owner>tommckee@chromium.org</owner> |
| <summary> |
| Measure of memory used by the processes that host an instance of a tab. |
| Intended as a high-level metric for analyzing effective memory use of |
| individual sites. |
| </summary> |
| <metric name="MainFrameProcessPMF"> |
| <summary> |
| Measure of private memory, in MB, consumed by the render process dedicated |
| to hosting the main frame. Undefined if the main frame is hosted by a |
| render process used by other tabs. If this is undefined, TabPMF will be |
| undefined. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SubFrameProcessPMF.Excluded"> |
| <summary> |
| Number of render processes that were blocked from contributing to |
| SubFrameProcessPMF.Total. A process can have its contribution blocked if |
| the process has responsibilities outside the scope of the relevant tab. If |
| this is non-zero, TabPMF will be undefined. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SubFrameProcessPMF.Included"> |
| <summary> |
| Number of render processes that contributed to SubFrameProcessPMF.Total. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SubFrameProcessPMF.Total"> |
| <summary> |
| Measure of total private memory, in MB, consumed by the render processes |
| dedicated to hosting sub-frames of the tab. Note that, if a render process |
| hosts frames of other tabs, it isn't considered to be 'dedicated' and so |
| it doesn't contribute to this total. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="TabPMF"> |
| <summary> |
| Measure of private memory, in MB, consumed by all render processes |
| dedicated to hosting some part of a tab. Undefined if there are processes |
| responsible for hosting parts of this tab while hosting parts of other |
| tabs. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="MixedContentAutoupgrade.ResourceRequest"> |
| <owner>carlosil@chromium.org</owner> |
| <summary> |
| Status and Network error or HTTP response code for a resource request that |
| was autoupgraded to HTTPS as part of the mixed content autoupgrade |
| experiment. |
| </summary> |
| <metric name="Code"> |
| <summary> |
| The HTTP response or network error code for an autoupgraded request. |
| </summary> |
| </metric> |
| <metric name="Status"> |
| <summary> |
| An enum with 0 representing started, 1 failed, and 2 response received. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="MobileFriendliness" singular="True"> |
| <owner>kumagi@google.com</owner> |
| <owner>gaul@google.com</owner> |
| <metric name="AllowUserZoom" enum="Boolean"> |
| <summary> |
| Whether the page allows the user to zoom in/out. |
| </summary> |
| </metric> |
| <metric name="SmallTextRatio"> |
| <summary> |
| Percentage of small font text area in total text area. |
| </summary> |
| </metric> |
| <metric name="TextContentOutsideViewportPercentage"> |
| <summary> |
| Percentage of pixels of text and images horizontally outside the viewport, |
| relative to the frame width. |
| </summary> |
| </metric> |
| <metric name="ViewportDeviceWidth" enum="Boolean"> |
| <summary> |
| Whether the width of the viewport specified as device-width or not. |
| </summary> |
| </metric> |
| <metric name="ViewportHardcodedWidth"> |
| <summary> |
| Specified hardcoded viewport width in CSS pixels. |
| </summary> |
| </metric> |
| <metric name="ViewportInitialScaleX10"> |
| <summary> |
| Specified initial viewport scaling multiplied by 10. 1 means 0.1, 100 |
| means 10. [1-100]. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="MobileFriendliness.TappedBadTargets"> |
| <owner>kumagi@google.com</owner> |
| <owner>gaul@google.com</owner> |
| <metric name="CloseDisplayEdge" enum="Boolean"> |
| <summary> |
| The distance from the center position of tapped target to display's edge |
| is less than 5mm. |
| </summary> |
| </metric> |
| <metric name="HighlyZoomed" enum="Boolean"> |
| <summary> |
| Whether the page is manually 100%+ zoomed when tapped. |
| </summary> |
| </metric> |
| <metric name="TooClose" enum="Boolean"> |
| <summary> |
| Whether the center of the tapped tap target is close less than 5mm to |
| other tap target's edge. |
| </summary> |
| </metric> |
| <metric name="TooSmall" enum="Boolean"> |
| <summary> |
| Whether the tapped tap target is small as both width and height is less |
| than 7mm. |
| </summary> |
| </metric> |
| <metric name="Zoomed" enum="Boolean"> |
| <summary> |
| Whether the page is manually 20%+ zoomed when tapped. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="MobileMenu.DirectShare"> |
| <owner>sayman@chromium.org</owner> |
| <summary> |
| User pressed 'Share' in the app menu. The intent most recently used to share |
| was invoked directly. See also MobileMenu.Share. |
| </summary> |
| <metric name="HasOccurred" enum="Boolean"> |
| <summary> |
| A boolean signaling that the event has occurred; only records true values. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="MobileMenu.FindInPage"> |
| <owner>frechette@chromium.org</owner> |
| <summary> |
| User pressed 'Find in page' in the app menu. |
| </summary> |
| <metric name="HasOccurred" enum="Boolean"> |
| <summary> |
| A boolean signaling that the event has occurred (typically only records |
| true values). |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="MobileMenu.Share"> |
| <owner>sayman@chromium.org</owner> |
| <summary> |
| User pressed 'Share' in the app menu. A picker was shown. See also |
| MobileMenu.DirectShare. |
| </summary> |
| <metric name="HasOccurred" enum="Boolean"> |
| <summary> |
| A boolean signaling that the event has occurred; only records true values. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Navigation.IDNA2008Transition" singular="True"> |
| <owner>meacer@google.com</owner> |
| <owner>chrome-trusty-transport@google.com</owner> |
| <summary> |
| Recorded upon main frame navigations to hostnames that contain characters |
| that are treated differently between IDNA 2003 and IDNA 2008, aka deviation |
| characters. Ignores reload navigations. |
| </summary> |
| <metric name="Character" enum="IDNA2008DeviationCharacter"> |
| <summary> |
| The deviation character in the URLs eTLD+1. Chrome's URL parsing code |
| normalizes deviation characters so the characters don't appear in the |
| recorded URL. This is recorded to make the deviation character |
| identification simpler. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Navigation.ReceivedResponse"> |
| <owner>miketaylr@chromium.org</owner> |
| <owner>katabolism-finch@google.com</owner> |
| <summary> |
| Recorded when the navigation receives a response from the networking layer. |
| Only recorded for main frames (i.e. top-level frames). |
| </summary> |
| <metric name="HasAcceptCHFrame"> |
| <summary> |
| A boolean value representing whether the navigation included the |
| processing of an ACCEPT_CH ALPS frame. |
| </summary> |
| </metric> |
| <metric name="NavigationFirstResponseLatency"> |
| <summary> |
| The duration (in milliseconds) for how long it took from the time the |
| navigation loader is created to the time the navigation loader receives |
| the response from the networking layer. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="NavigationPredictorAnchorElementMetrics"> |
| <owner>ryansturm@chromium.org</owner> |
| <summary> |
| Metrics that describe an anchor element's data. This event is emitted at |
| most 10 times per page load, once for each of the top n URLs on a page, and |
| the order of the events is randomized. If there is no nth anchor element, no |
| value is returned. |
| </summary> |
| <metric name="AnchorIndex"> |
| <summary> |
| The index of the clicked-on anchor element in the tracked list. |
| </summary> |
| </metric> |
| <metric name="BucketedPathHash"> |
| <summary> |
| The anchor element's href URL path is hashed, then bucketed using 10 |
| different buckets. The bucket ({0, 1, ..., 9}) the hash falls into is |
| logged in this field. |
| </summary> |
| </metric> |
| <metric name="ContainsImage"> |
| <summary> |
| 1 if the anchor element contains an image. |
| </summary> |
| </metric> |
| <metric name="FontSize"> |
| <summary> |
| The bucketed font size of the anchor element, according to its computed |
| style. 1 corresponds to a pixel font size in [0, 10), 2 corresponds to a |
| fonts size in [10, 18) and 3 is logged when the font size is 18 pixels or |
| larger. |
| </summary> |
| </metric> |
| <metric name="HasTextSibling"> |
| <summary> |
| 1 if the anchor element has an immediate text sibling, 0 otherwise. |
| </summary> |
| </metric> |
| <metric name="IsBold"> |
| <summary> |
| 1 if the anchor's computed style's font-weight is greater than 500, 0 |
| otherwise. |
| </summary> |
| </metric> |
| <metric name="IsInIframe"> |
| <summary> |
| 1 if the anchor element is in an iframe. |
| </summary> |
| </metric> |
| <metric name="IsURLIncrementedByOne"> |
| <summary> |
| 1 if the anchor element's target URL and the document's source URL only |
| differ by one number, and the target URL increments that number in the |
| source URL by 1. |
| </summary> |
| </metric> |
| <metric name="NavigationStartToLinkLoggedMs"> |
| <summary> |
| The time in ms between navigation start and the moment this entry was |
| logged. Exponentially bucketed using GetExponentialBucketMin a value of |
| 1.3. |
| </summary> |
| </metric> |
| <metric name="PathDepth"> |
| <summary> |
| The number of slashes in the anchor element's href URL path. Truncated at |
| 5. |
| </summary> |
| </metric> |
| <metric name="PathLength"> |
| <summary> |
| The number of characters in the anchor element's href URL path. Buckets of |
| size 10, truncated at 100. |
| </summary> |
| </metric> |
| <metric name="PercentClickableArea"> |
| <summary> |
| The percent of the total document area that this anchor element's |
| clickable area occupies. |
| </summary> |
| </metric> |
| <metric name="PercentVerticalDistance"> |
| <summary> |
| How far down the document the top of the anchor element is, expressed as a |
| ratio with the total document height. |
| </summary> |
| </metric> |
| <metric name="SameOrigin"> |
| <summary> |
| 1 if the anchor element's target URL and the document's source URL are the |
| same origin. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="NavigationPredictorPageLinkClick"> |
| <owner>ryansturm@chromium.org</owner> |
| <summary> |
| Sent on an in-page link click. |
| </summary> |
| <metric name="AnchorElementIndex"> |
| <summary> |
| An integer (0-indexed), corresponding to the index of that anchor element |
| in the list of top ten anchor elements on that page, sorted by their |
| navigation scores. If an anchor element is clicked that is not in |
| NavigationPredictorAnchorElementMetrics, -1 is returned. |
| </summary> |
| </metric> |
| <metric name="HrefUnchanged"> |
| <summary> |
| 1 if the href of the anchor element at the time the click is handled is |
| the same as the href when the element was created. 0 if the href changed. |
| </summary> |
| </metric> |
| <metric name="NavigationStartToLinkClickedMs"> |
| <summary> |
| The time in milliseconds between the moment an entry for the anchor |
| element was logged to UKM and the moment the user clicked on it. |
| Exponentially bucketed, 1.3 factor. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="NavigationPredictorPageLinkMetrics" singular="True"> |
| <owner>ryansturm@chromium.org</owner> |
| <summary> |
| Metrics that describe aggregate information about the links within a page. |
| Some anchor elements present on a page may not be represented in these |
| metrics, if they are outside the viewport or if their placement in the page |
| is after the 40th anchor element. This event is emitted at most once per |
| page load. Unless otherwise specified, each of the aggregate metrics is |
| bucketted with exponential buckets of size 1.3. |
| </summary> |
| <metric name="MedianLinkLocation"> |
| <summary> |
| The median vertical link location in the viewport, as a ratio of the |
| distance from the top of the link to the visible top of the page. |
| Bucketted with a linear bucket size of 10. |
| </summary> |
| </metric> |
| <metric name="NumberOfAnchors.ContainsImage"> |
| <summary> |
| The total number of links in the page that are images. |
| </summary> |
| </metric> |
| <metric name="NumberOfAnchors.InIframe"> |
| <summary> |
| The total number of links in the page in any iframe. |
| </summary> |
| </metric> |
| <metric name="NumberOfAnchors.SameHost"> |
| <summary> |
| The total number of links in the page that point to the same origin as the |
| current page's origin. |
| </summary> |
| </metric> |
| <metric name="NumberOfAnchors.Total"> |
| <summary> |
| The total number of links within a page. |
| </summary> |
| </metric> |
| <metric name="NumberOfAnchors.URLIncremented"> |
| <summary> |
| The total number of links on the page, where each link only differs from |
| the current page's URL by a number, and that number is incremented by 1 in |
| the link. |
| </summary> |
| </metric> |
| <metric name="TotalClickableSpace"> |
| <summary> |
| The total clickable space in the entire page, expressed as a ratio of the |
| visible clickable region to the entire viewport region. |
| </summary> |
| </metric> |
| <metric name="Viewport.Height"> |
| <summary> |
| The height of the viewport, in pixels. |
| </summary> |
| </metric> |
| <metric name="Viewport.Width"> |
| <summary> |
| The width of the viewport, in pixels. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="NavigationPredictorPreloadOnHover"> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>domenic@chromium.org</owner> |
| <owner>isaboori@google.com</owner> |
| <summary> |
| This event records required data to assess and fine-tune the preloading |
| on-hover and on pointer down heuristics, and is submitted once per mouse |
| over, mouse out, mouse down and mouse up events for randomly selected anchor |
| elements. |
| </summary> |
| <metric name="HoverNotTakenMs"> |
| <summary> |
| Duration that the user was hovering over the anchor element and it did not |
| result in a navigation to that link. Exponentially bucketed using |
| GetExponentialBucketMin with a spacing of 1.3. |
| </summary> |
| </metric> |
| <metric name="HoverTakenMs"> |
| <summary> |
| Duration that the user was hovering over the anchor element and it |
| resulted in a navigation to that link. Exponentially bucketed using |
| GetExponentialBucketMin with a spacing of 1.3. |
| </summary> |
| </metric> |
| <metric name="MouseDownNotTakenMs"> |
| <summary> |
| Time since the user pressed the left/middle mouse button over the anchor |
| element and that did not result in a navigation to that link. |
| Exponentially bucketed using GetExponentialBucketMin with a spacing of |
| 1.3. |
| </summary> |
| </metric> |
| <metric name="MouseDownTakenMs"> |
| <summary> |
| Time since the user presses the left/middle mouse button over the anchor |
| element and that resulted in a navigation to that link. Exponentially |
| bucketed using GetExponentialBucketMin with a spacing of 1.3. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="NavigationPredictorUserInteractions"> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>isaboori@google.com</owner> |
| <summary> |
| Metrics that describe user interaction with an anchor element. This event is |
| emitted once per randomly selected anchor elements. |
| </summary> |
| <metric name="AnchorIndex"> |
| <summary> |
| The index of the anchor element in NavigationPredictor's |top_urls_|. |
| </summary> |
| </metric> |
| <metric name="DistanceFromLastPointerDown"> |
| <summary> |
| Vertical distance from the center of the anchor element to the most recent |
| pointerdown that started a scroll, as a percentage of screen height. This |
| value is between -100 and 100 (inclusive), and is negative when the |
| pointerdown was below the anchor's center (positive otherwise). This will |
| only be set for anchor elements that are in the viewport. Linearly |
| bucketed with a bucket size of 10. |
| </summary> |
| </metric> |
| <metric name="EnteredViewportCount"> |
| <summary> |
| How many times the anchor element entered the viewport. Exponentially |
| bucketed using GetExponentialBucketMin a value of 1.3. |
| </summary> |
| </metric> |
| <metric name="IsInViewport"> |
| <summary> |
| 1 if anchor element is in viewport, otherwise 0. |
| </summary> |
| </metric> |
| <metric name="IsPointerHoveringOver"> |
| <summary> |
| 1 if the pointer is hovering over the anchor element, otherwise 0. |
| </summary> |
| </metric> |
| <metric name="MaxEnteredViewportToLeftViewportMs"> |
| <summary> |
| Maximum time between the moment the anchor element entered the viewport |
| and the moment it left the viewport in milliseconds. Exponentially |
| bucketed using GetExponentialBucketMin a value of 1.3. |
| </summary> |
| </metric> |
| <metric name="MaxHoverDwellTimeMs"> |
| <summary> |
| Maximum dwelltime of pointer hovering over the anchor element in |
| milliseconds. Exponentially bucketed using GetExponentialBucketMin a value |
| of 1.3. |
| </summary> |
| </metric> |
| <metric name="MouseAcceleration"> |
| <summary> |
| Mouse acceleration when the OnHover event triggered. Exponentially |
| bucketed using GetExponentialBucketMin a value of 1.3. |
| </summary> |
| </metric> |
| <metric name="MouseVelocity"> |
| <summary> |
| Mouse velocity when the OnHover event triggered. Exponentially bucketed |
| using GetExponentialBucketMin a value of 1.3. |
| </summary> |
| </metric> |
| <metric name="PointerHoveringOverCount"> |
| <summary> |
| How many times the pointer was hovering over the anchor element. |
| Exponentially bucketed using GetExponentialBucketMin a value of 1.3. |
| </summary> |
| </metric> |
| <metric name="VerticalPositionInViewport"> |
| <summary> |
| Vertical position of the center of the anchor element (y-coordinate of the |
| center), as a percentage of the viewport's height. This value is between 0 |
| and 100 (inclusive). This will only be set for anchor elements that are in |
| the viewport. Linearly bucketed with a bucket size of 10. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="NavigationRequestBreakDown" singular="True"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-loading@google.com</owner> |
| <summary> |
| Metrics to measure the main frame navigation timings by tracking |
| NavigationRequest in the browser process. This is recorded at the frequency |
| of 0.001. |
| </summary> |
| <metric name="BeginNavigationToLoaderStart"> |
| <summary> |
| Measures the duration from BeginNavigation to LoaderStart, in |
| milliseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="LoaderStartToReceiveResponse"> |
| <summary> |
| Measures the duration from LoaderStart to ReceiveResponse, in |
| milliseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="NavigationStartToBeginNavigation"> |
| <summary> |
| Measures the duration from NavigationStart to BeginNavigation, in |
| milliseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ReceiveResponseToCommitNavigation"> |
| <summary> |
| Measures the duration from ReceiveResponse to CommitNavigation, in |
| milliseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="NavigationThrottleDeferredTime"> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>chrome-brapp-loading@google.com</owner> |
| <summary> |
| Information recorded about a navigation throttle when a navigation is |
| deferred at any stage of the navigation. Only recorded for main frame |
| navigations that were deferred and later resumed. |
| </summary> |
| <metric name="DurationOfNavigationDeferralMs"> |
| <summary> |
| The duration from the start of the navigation deferral until the throttle |
| resumes the navigation recorded in milliseconds. |
| </summary> |
| </metric> |
| <metric name="NavigationThrottleEventType"> |
| <summary> |
| An enum representing each event that can cause deferral method |
| (WillFailRequest, WillProcessResponse, WillRedirectRequest, |
| WillStartRequest). See NavigationThrottleRunner::Event for enum details. |
| </summary> |
| </metric> |
| <metric name="NavigationThrottleNameHash"> |
| <summary> |
| A (MD5) hash of the logging name string which represents a unique |
| navigation throttle class (subclass of NavigationThrottle). See |
| NavigationThrottle::GetNameForLogging(). |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="NavigationTiming" singular="True"> |
| <owner>nhiroki@chromium.org</owner> |
| <owner>chrome-loading@google.com</owner> |
| <summary> |
| Metrics associated with main frame navigation. |
| </summary> |
| <metric name="FinalLoaderCallback"> |
| <summary> |
| The time relative to navigation start that a callback for the navigation |
| loader is last invoked for the main resource of a main frame navigation. |
| </summary> |
| </metric> |
| <metric name="FinalRequestStart"> |
| <summary> |
| The time relative to navigation start that the final HTTP request is sent |
| for the main resource of a main frame navigation. |
| </summary> |
| </metric> |
| <metric name="FinalResponseStart"> |
| <summary> |
| The time relative to navigation start that the headers of the final HTTP |
| response are received for the main resource of a main frame navigation. |
| </summary> |
| </metric> |
| <metric name="FirstLoaderCallback"> |
| <summary> |
| The time relative to navigation start that a callback for the navigation |
| loader is first invoked for the main resource of a main frame navigation. |
| </summary> |
| </metric> |
| <metric name="FirstRequestStart"> |
| <summary> |
| The time relative to navigation start that the first HTTP request is sent |
| for the main resource of a main frame navigation. |
| </summary> |
| </metric> |
| <metric name="FirstResponseStart"> |
| <summary> |
| The time relative to navigation start that the headers of the first HTTP |
| response are received for the main resource of a main frame navigation. |
| </summary> |
| </metric> |
| <metric name="NavigationCommitSent"> |
| <summary> |
| The time relative to navigation start that navigation commit message for a |
| main frame navigation is sent to a renderer process. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Network.DataUrls"> |
| <owner>nidhijaju@chromium.org</owner> |
| <owner>chrome-loading@google.com</owner> |
| <summary> |
| Recorded per resource request when parsing for a data URL is completed. |
| </summary> |
| <metric name="IsImage" enum="Boolean"> |
| <summary> |
| If the data URL is for an image resource. |
| </summary> |
| </metric> |
| <metric name="ParseTime"> |
| <summary> |
| The time taken (ms) to parse the data URL. This includes base64 decoding |
| and building the response. |
| </summary> |
| </metric> |
| <metric name="UrlLength"> |
| <summary> |
| The length of the data URL, indicating the size of the resource. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="NewTabPage.HistoryClusters"> |
| <owner>sophiechang@chromium.org</owner> |
| <owner>tiborg@chromium.org</owner> |
| <summary> |
| Metrics related to a History Clusters module shown on the New Tab Page. |
| Recorded for each History Clusters module shown on a 1P New Tab Page load, |
| which can be multiple for a page load. |
| </summary> |
| <metric name="BelongsToBoostedCategory" enum="Boolean"> |
| <summary> |
| Cluster is of a boosted category. |
| </summary> |
| </metric> |
| <metric name="BelongsToMostSeenCategory" enum="Boolean"> |
| <summary> |
| Cluster is of the most frequently seen category. |
| </summary> |
| </metric> |
| <metric name="BelongsToMostUsedCategory" enum="Boolean"> |
| <summary> |
| Cluster is of the most frequently used category. |
| </summary> |
| </metric> |
| <metric name="DidDisableModule" enum="Boolean"> |
| <summary> |
| Whether the user disabled the module. |
| </summary> |
| </metric> |
| <metric name="DidDismissModule" enum="Boolean"> |
| <summary> |
| Whether the user dismissed the specific journey shown in this module. |
| </summary> |
| </metric> |
| <metric name="DidEngageWithModule" enum="Boolean"> |
| <summary> |
| Whether the user engaged with the module. |
| </summary> |
| </metric> |
| <metric name="DidMarkAsDone" enum="Boolean"> |
| <summary> |
| Whether the user dismissed with positive intent the cluster shown in this |
| module. |
| </summary> |
| </metric> |
| <metric name="LayoutTypeShown" enum="NTPHistoryClustersModuleDisplayLayout"> |
| <summary> |
| The layout type that was shown to the user for this module. |
| </summary> |
| </metric> |
| <metric name="MinutesSinceMostRecentVisit"> |
| <summary> |
| Minutes since the shown cluster's most recent visit, exponentially |
| bucketed using GetExponentialBucketMin with a spacing of 1.3. |
| </summary> |
| </metric> |
| <metric name="MostFrequentSeenCategoryCount"> |
| <summary> |
| The number of times the most frequently seen category by a user occurred |
| in a fixed time period. |
| </summary> |
| </metric> |
| <metric name="MostFrequentUsedCategoryCount"> |
| <summary> |
| The number of times the most frequently used category by a user occurred |
| in a fixed time period. |
| </summary> |
| </metric> |
| <metric name="NumAbandonedCarts"> |
| <summary> |
| Number of abandoned carts associated with the cluster. |
| </summary> |
| </metric> |
| <metric name="NumAssociatedCategories"> |
| <summary> |
| Number of categories associated with the cluster. |
| </summary> |
| </metric> |
| <metric name="NumTimesSeenLast24h"> |
| <summary> |
| Number of times the cluster was seen by the user in the last 24 hours. |
| </summary> |
| </metric> |
| <metric name="NumTimesUsedLast24h"> |
| <summary> |
| Number of times the cluster was used by the user in the last 24 hours. |
| </summary> |
| </metric> |
| <metric name="NumTotalVisits"> |
| <summary> |
| Number of total visits in the same cluster including ones that are not |
| necessarily shown in the module. |
| </summary> |
| </metric> |
| <metric name="NumUniqueHosts"> |
| <summary> |
| Number of unique hosts represented in the cluster. |
| </summary> |
| </metric> |
| <metric name="NumVisitsWithImage"> |
| <summary> |
| Number of visits with an image to show. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="NoStatePrefetch" singular="True"> |
| <owner>tbansal@chromium.org</owner> |
| <summary> |
| Metrics related to NoStatePrefetch that are recorded using the same UKM IDs |
| as PageLoad. |
| </summary> |
| <metric name="PrefetchedRecently.FinalStatus"> |
| <summary> |
| Final status of the nostate prefetch if one was recently attempted for |
| either the committed URL of this navigation or for any URL in the redirect |
| chain for the main frame resource for this navigation. page. Recorded as |
| enum PrerenderFinalStatus in //tools/metrics/histograms/enums.xml. |
| </summary> |
| </metric> |
| <metric name="PrefetchedRecently.Origin"> |
| <summary> |
| Triggering origin of the nostate prefetch if one was recently attempted |
| for either the committed URL of this navigation or for any URL in the |
| redirect chain for the main frame resource for this navigation. Recorded |
| as enum PrerenderOrigin in //tools/metrics/histograms/enums.xml. |
| </summary> |
| </metric> |
| <metric name="PrefetchedRecently.PrefetchAge"> |
| <summary> |
| Records the time (in milliseconds) from the start of the nostate prefetch |
| to the time of commit of this navigation. Metric is recorded down to the |
| nearest power of 2. Recorded only if a nostate prefetch was recently |
| attempted for either the committed URL of this navigation or for any URL |
| in the redirect chain for the main frame resource for this navigation. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Notification"> |
| <owner>peter@chromium.org</owner> |
| <summary> |
| A notification event corresponds with the entire lifespan of a single |
| notification, and will be logged to UKM when the notification is deleted |
| from the notification database. |
| </summary> |
| <metric name="ClosedReason"> |
| <summary> |
| Enum for how the notification was closed. {user, developer, unknown} |
| </summary> |
| </metric> |
| <metric name="DidReplaceAnotherNotification"> |
| <summary> |
| Boolean value representing whether a tag is present and a previously shown |
| notification has been replaced. For UKM logging, we treat a replacement |
| notification as a new notification. |
| </summary> |
| </metric> |
| <metric name="DidUserOpenSettings"> |
| <summary> |
| Boolean value indicating whether the user accessed the Chrome provided |
| settings from the notification. |
| </summary> |
| </metric> |
| <metric name="HasBadge"> |
| <summary> |
| Boolean value representing if a badge URL was included. |
| </summary> |
| </metric> |
| <metric name="HasIcon"> |
| <summary> |
| Boolean value representing if an icon URL was included. |
| </summary> |
| </metric> |
| <metric name="HasImage"> |
| <summary> |
| Boolean value representing if an image URL was included. |
| </summary> |
| </metric> |
| <metric name="HasRenotify"> |
| <summary> |
| Boolean value representing whether default notification indicators (sound, |
| vibration, light) should be played again if the notification is replacing |
| an older notification. |
| </summary> |
| </metric> |
| <metric name="HasTag"> |
| <summary> |
| Boolean value representing if a tag is present. |
| </summary> |
| </metric> |
| <metric name="IsSilent"> |
| <summary> |
| Boolean value representing whether default notification indicators (sound, |
| vibration, light) should be suppressed. |
| </summary> |
| </metric> |
| <metric name="NumActionButtonClicks"> |
| <summary> |
| Number of clicks on developer provided action buttons. |
| </summary> |
| </metric> |
| <metric name="NumActions"> |
| <summary> |
| Number of developer specified actions that can be taken. |
| </summary> |
| </metric> |
| <metric name="NumClicks"> |
| <summary> |
| Number of clicks, excluding action buttons. I.e. clicks on the |
| notification itself. |
| </summary> |
| </metric> |
| <metric name="RequireInteraction"> |
| <summary> |
| Boolean value representing whether the notification should remain onscreen |
| indefinitely, rather than being auto-minimized to the notification center |
| (if allowed by platform). |
| </summary> |
| </metric> |
| <metric name="TimeUntilClose"> |
| <summary> |
| The length of time, in ms, between when the notification was triggered and |
| when it was closed. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="TimeUntilFirstClick"> |
| <summary> |
| Time, in ms, between when the notification is shown and the first click. |
| </summary> |
| </metric> |
| <metric name="TimeUntilLastClick"> |
| <summary> |
| Time, in ms, between when the notification is shown and the last click. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Omnibox.EditUrlSuggestion.Share"> |
| <owner>nyquist@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <summary> |
| User pressed 'Share' while viewing edit URL suggestions which shares the |
| current URL. |
| </summary> |
| <metric name="HasOccurred" enum="Boolean"> |
| <summary> |
| A boolean signaling that the event has occurred; only records true values. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Omnibox.SuggestionUsed" singular="True"> |
| <owner>mahmadi@google.com</owner> |
| <owner>chrome-desktop-search@google.com</owner> |
| <summary> |
| Recorded when the user uses the omnibox to search or navigate. |
| </summary> |
| <metric name="ResultType" enum="ClientSummarizedResultType"> |
| <summary> |
| A value that indicates if the user searched or navigated from the omnibox. |
| Used to understand which URLs most commonly lead to searches or |
| navigations from the omnibox. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="OmniboxSecurityIndicator.FormSubmission"> |
| <owner>meacer@chromium.org</owner> |
| <summary> |
| Recorded when a form is submitted on an HTTPS page. Used to understand any |
| regression introduced by updated omnibox security indicators. |
| </summary> |
| <metric name="Submitted"> |
| <summary> |
| Placeholder metric, always true. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="OpenerHeuristic.PopupInteraction"> |
| <owner>rtarpine@chromium.org</owner> |
| <owner>dc-komics@google.com</owner> |
| <summary> |
| Recorded when the user first interacts in a pop-up with opener access. |
| </summary> |
| <metric name="OpenerHasSameSiteIframe" enum="HasSameSiteIframe"> |
| <summary> |
| "True" iff the opener page contains an iframe whose URL belongs |
| to the same registrable domain as this pop-up. "Unknown" if the |
| opener page is closed or the user navigates its frame to another page |
| before interacting with this pop-up. |
| </summary> |
| </metric> |
| <metric name="PopupId"> |
| <summary> |
| A random integer to identify this pop-up and associate this event with |
| other OpenerHeuristic.* events relating to the same pop-up. |
| </summary> |
| </metric> |
| <metric name="SecondsSinceCommitted"> |
| <summary> |
| The number of seconds since the initial pop-up navigation committed, until |
| the user interacted with the pop-up. Clamped to three minutes at most, and |
| rounded down to the nearest exponential bucket (out of 50 buckets). |
| </summary> |
| </metric> |
| <metric name="UrlIndex"> |
| <summary> |
| The number of URLs visited (including redirects) in the pop-up before the |
| user interacted with it. For example, the initial URL has index 1. If the |
| page redirected once before the user interacted, the index would be 2. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="OpenerHeuristic.PopupPastInteraction"> |
| <owner>rtarpine@chromium.org</owner> |
| <owner>dc-komics@google.com</owner> |
| <summary> |
| Recorded when a pop-up with opener access is initially opened, and the user |
| has previously interacted on the site of the URL passed to window.open(). |
| </summary> |
| <metric name="HoursSinceLastInteraction"> |
| <summary> |
| The number of hours since the user last interacted with the site, until |
| the pop-up was opened. Clamped to 720 hours at most, and rounded down to |
| the nearest exponential bucket (out of 50 buckets). |
| </summary> |
| </metric> |
| <metric name="OpenerHasSameSiteIframe" enum="HasSameSiteIframe"> |
| <summary> |
| "True" iff the opener page contains an iframe whose URL belongs |
| to the same registrable domain as this pop-up. "Unknown" if the |
| opener page is closed or the user navigates its frame to another page |
| before interacting with this pop-up. |
| </summary> |
| </metric> |
| <metric name="PopupId"> |
| <summary> |
| A random integer to identify this pop-up and associate this event with |
| other OpenerHeuristic.* events relating to the same pop-up. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="OpenerHeuristic.PostPopupCookieAccess"> |
| <owner>rtarpine@chromium.org</owner> |
| <owner>amaliev@chromium.org</owner> |
| <owner>dc-komics@google.com</owner> |
| <summary> |
| Recorded by a top-level page that opens a pop-up with opener access, when |
| the user interacts with that pop-up. Recorded by a top-level page that opens |
| a pop-up with opener access, when the pop-up site later tries to access |
| cookies on the opener site. |
| </summary> |
| <metric name="AccessId"> |
| <summary> |
| A random integer to identify the top-level site and associate this event |
| with the OpenerHeuristic.TopLevel event that preceded it when the pop-up |
| was opened. |
| </summary> |
| </metric> |
| <metric name="AccessSucceeded"> |
| <summary> |
| Whether the cookie access attempt is allowed, or blocked by a third-party |
| cookie block. |
| </summary> |
| </metric> |
| <metric name="HoursSincePopupOpened" enum="PopupProvider"> |
| <summary> |
| The number of hours before the cookie access that the initial |
| OpenerHeuristic.TopLevel event was recorded. Bucketized evenly with 50 |
| buckets up to 60 days. |
| </summary> |
| </metric> |
| <metric name="IsAdTagged" enum="IsAdTagged"> |
| <summary> |
| Whether the cookie access attempt was tagged as an ad cookie, and thus |
| exempt from mitigations including heuristics. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="OpenerHeuristic.TopLevel"> |
| <owner>rtarpine@chromium.org</owner> |
| <owner>dc-komics@google.com</owner> |
| <summary> |
| Recorded by a top-level page that opens a pop-up with opener access, when |
| the user interacts with that pop-up. |
| </summary> |
| <metric name="AccessId"> |
| <summary> |
| A random integer to identify the top-level site and associate this event |
| with any OpenerHeuristic.PostPopupCookieAccess events that follow when the |
| pop-up site attempts to access cookies on the top-level site. |
| </summary> |
| </metric> |
| <metric name="HasSameSiteIframe" enum="HasSameSiteIframe"> |
| <summary> |
| "True" iff the top-level page contains an iframe whose URL |
| belongs to the same registrable domain as the pop-up. "Unknown" |
| if the top-level page is closed or the user navigates the main frame to |
| another page before interacting with the pop-up. |
| </summary> |
| </metric> |
| <metric name="IsAdTaggedPopupClick" enum="Boolean"> |
| <summary> |
| Whether the popup frame was opened by a click on an ad-tagged frame. |
| </summary> |
| </metric> |
| <metric name="PopupId"> |
| <summary> |
| A random integer to identify the pop-up and associate this event with |
| other OpenerHeuristic.* events relating to the same pop-up. |
| </summary> |
| </metric> |
| <metric name="PopupProvider" enum="PopupProvider"> |
| <summary> |
| An enum identifying the JavaScript framework used to open the pop-up, when |
| it can be recognized. Typically an SSO library such as Google Sign-In. |
| "Unknown" when no framework is recognized. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="OptimizationGuide" singular="True"> |
| <owner>sophiechang@chromium.org</owner> |
| <summary> |
| Optimization guide metrics associated with a page load. It is recorded when |
| the optimization guide was consulted in making a decision for the page load. |
| See //components/optimization_guide/. |
| </summary> |
| <metric name="NavigationHintsFetchAttemptStatus" |
| enum="OptimizationGuideRaceNavigationFetchAttemptStatus"> |
| <summary> |
| An enum value representing the status of a fetch attempt for the page load |
| and what it contains (i.e. hosts or URLs). Captured at the start of the |
| navigation. |
| </summary> |
| </metric> |
| <metric name="NavigationHintsFetchRequestLatency"> |
| <summary> |
| The duration (in milliseconds) for how long it took from the request to go |
| out to when it was usable on the client. Only recorded if a fetch was |
| initiated for the navigation. Will be recorded as INT64_MAX if the request |
| did not complete successfully. |
| </summary> |
| </metric> |
| <metric name="RegisteredOptimizationTargets"> |
| <summary> |
| A bitmask of the optimization targets that were registered at the start of |
| the page load where each flipped bit corresponds to its int value in |
| |optimization_guide::proto::OptimizationTarget|. |
| </summary> |
| </metric> |
| <metric name="RegisteredOptimizationTypes"> |
| <summary> |
| A bitmask of the optimization types that were registered at the start of |
| the page load where each flipped bit corresponds to its int value in |
| |optimization_guide::proto::OptimizationTarget|. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PageContentAnnotations2" singular="True"> |
| <owner>chrome-intelligence-core@google.com</owner> |
| <owner>mcrouse@chromium.org</owner> |
| <summary> |
| Metrics on the content annotations of the page, one record per page load |
| commit and has an annotation calculated on it. The metrics are recorded in a |
| RAPPOR-style with low-entropy so only aggregate analysis can be performed. |
| </summary> |
| <metric name="VisibilityScore"> |
| <summary> |
| Records a low entropy respresentation of the visibility score output by a |
| content annotations model. The low entropy value is calculated using a |
| RAPPOR-style calculation to enable analysis only on aggregated results. |
| The raw score is between 0 and 1, scaled to between 0 and 100. The score |
| is then placed into one of 16 linearly spaced buckets by dividing the |
| score by the bucket size and taking the floor. The resulting bucket value |
| has noise added with a probability of .5 where the noise is randomly |
| applied to each individual bit. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PageDomainInfo"> |
| <owner>uthakore@chromium.org</owner> |
| <owner>invernizzi@chromium.org</owner> |
| <summary> |
| Metrics that describe the domain of pages that successfully commit. One |
| event is generated per page load that commits. Currently associated with |
| LocalNetworkRequests UKM metric collection. |
| </summary> |
| <metric name="DomainType"> |
| <summary> |
| An enum value representing the type of domain of the loaded page. The enum |
| is defined in |LocalNetworkRequestsPageLoadMetricsObserver|. Possible |
| values are 0 for unknown (should never be logged), 1 for pages with public |
| domains, 2 for pages with private domains (IP addresses that are part of a |
| reserved IP space not including localhost), or 4 for localhost. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PageForegroundSession"> |
| <owner>sullivan@chromium.org</owner> |
| <summary> |
| Total time in foreground in milliseconds, recorded each time the page is |
| backgrounded. May be recorded multiple times for a single page visit. |
| </summary> |
| <metric name="ForegroundDuration"> |
| <summary> |
| Total time in foreground in milliseconds, recorded each time the page is |
| backgrounded. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ForegroundTotalInputDelay"> |
| <summary> |
| sum(Input Delay), recorded each time the page is backgrounded. The Input |
| Delay refers to the duration between the hardware timestamp and the start |
| of event processing on the main thread for the meaningful input. In ms. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.country,profile.system_ram"/> |
| <index fields="profile.is_dominant_version"/> |
| <index fields="profile.is_latest_version"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="PageInfoBubble"> |
| <owner>dullweber@chromium.org</owner> |
| <owner>chrome-privacy-core@google.com</owner> |
| <summary> |
| Recorded when an action on the Page Info Bubble (aka Origin Info Bubble or |
| WebsiteSettings Bubble) is taken. May be recorded multiple times for a |
| single page visit. |
| </summary> |
| <metric name="ActionTaken" enum="WebsiteSettingsAction"> |
| <summary> |
| Records an enum value representing which action on the Page Info Bubble |
| was taken. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="PageLoad" singular="True"> |
| <owner>sullivan@chromium.org</owner> |
| <owner>chrome-metrics-team@google.com</owner> |
| <summary> |
| Core metrics associated with web page loads. |
| </summary> |
| <metric name="CpuTime"> |
| <summary> |
| Amount of CPU wall time over the duration of a page load, while the page |
| is in the foreground. Measured in milliseconds. |
| </summary> |
| </metric> |
| <metric name="DayOfWeek"> |
| <summary> |
| The day of the week when the page load was initiated. The time is measured |
| in the local time zone according to the system clock. Only collected for |
| page loads that start while on foreground. |
| </summary> |
| </metric> |
| <metric name="DocumentTiming.NavigationToDOMContentLoadedEventFired"> |
| <summary> |
| Measures the time in milliseconds from navigation timing's navigation |
| start to the time the DOMContentLoaded event is fired, for main frame |
| documents. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="DocumentTiming.NavigationToLoadEventFired"> |
| <summary> |
| Measures the time in milliseconds from navigation timing's navigation |
| start to the time the load event is fired, for main frame documents. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="DurationSinceLastVisitSeconds"> |
| <summary> |
| The duration since the last visit to this URL in seconds, if the user has |
| visited the URL before. Recorded as -1 if the user has not visited the URL |
| before, or if the History service is unavailable or slow to respond. Any |
| duration that exceeds 30 days will be recorded as 30 days, so in practice, |
| if this duration indicates 30 days, it can be anything from 30 to the |
| maximum duration that local history is stored. |
| </summary> |
| </metric> |
| <metric name="Experimental.InputToNavigationStart"> |
| <summary> |
| Measures the time in milliseconds from when the OS level input event |
| occurred which triggered a navigation, until the navigation was started. |
| Only set if the code can trace back to the original input event. Some |
| known cases where it is missing: crbug.com/889223 crbug.com/893162 |
| crbug.com/897837 crbug.com/897840 |
| </summary> |
| </metric> |
| <metric |
| name="Experimental.LayoutInstability.CumulativeShiftScoreAtFirstOnHidden"> |
| <summary> |
| Measures the cumulative layout shift (bit.ly/lsm-explainer) that has |
| occurred on the page (including all subframes) until the first time the |
| page moves from the foreground to the background. This metric's integral |
| value is 100x the fractional cumulative layout shift score described in |
| the explainer. Stable since M98. Log of major changes: |
| http://bit.ly/chrome-speed-metrics-changelog. This metric is trying to |
| record the layout shift values which are not able to be recorded in |
| LayoutInstability.CumulativeShiftScore for some reasons. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.country,profile.system_ram"/> |
| <index fields="profile.is_dominant_version"/> |
| <index fields="profile.is_latest_version"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric |
| name="Experimental.LayoutInstability.MaxCumulativeShiftScoreAtFirstOnHidden.SessionWindow.Gap1000ms.Max5000ms"> |
| <summary> |
| Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that |
| has occurred in a session window until the first time the page moves from |
| the foreground to the background. The gap between two consecutive shifts |
| in a window is not bigger than 1000ms and the maximum window size is |
| 5000ms. This metric's integral value is 100x the fractional cumulative |
| layout shift score described in the explainer. This metric is trying to |
| record the layout shift values which are not able to be recorded in |
| LayoutInstability.MaxCumulativeShiftScore.SessionWindow.Gap1000ms.Max5000ms |
| for some reasons. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Experimental.Navigation.UserInitiated"> |
| <summary> |
| True if this navigation was initiated by user input. For renderer |
| navigations, only true if the code can trace back to the original input |
| event. Some known cases where it is missing: crbug.com/889223 |
| crbug.com/897837 crbug.com/897840 |
| </summary> |
| </metric> |
| <metric name="HourOfDay"> |
| <summary> |
| The hour of the day when the page load was initiated. The time is measured |
| in the local time zone according to the system clock. Only collected for |
| page loads that start while on foreground. |
| </summary> |
| </metric> |
| <metric name="InteractiveTiming.FirstInputDelay4"> |
| <summary> |
| Measures First Input Delay, the duration between the hardware timestamp |
| and the start of event processing on the main thread for the first |
| meaningful input per navigation. See https://goo.gl/tr1oTZ for a detailed |
| explanation. In ms. Log of major changes: |
| http://bit.ly/chrome-speed-metrics-changelog |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.country,profile.system_ram"/> |
| <index fields="profile.is_dominant_version"/> |
| <index fields="profile.is_latest_version"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="InteractiveTiming.FirstInputTimestamp4"> |
| <summary> |
| The duration between navigation start and the hardware timestamp of the |
| first meaningful input per navigation. See https://goo.gl/tr1oTZ for a |
| detailed explanation. In ms. |
| </summary> |
| </metric> |
| <metric name="InteractiveTiming.FirstScrollDelay"> |
| <summary> |
| Measures the time, in milliseconds, from when a user starts scrolling |
| until the result shows up on screen if the scroll was the first scroll |
| since navigation. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.country,profile.system_ram"/> |
| <index fields="profile.is_dominant_version"/> |
| <index fields="profile.is_latest_version"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="InteractiveTiming.FirstScrollTimestamp"> |
| <summary> |
| The duration between navigation start and the timestamp of the first |
| scroll per navigation. In ms. This is rounded down to the nearest |
| exponential bucket. |
| </summary> |
| </metric> |
| <metric name="InteractiveTiming.INPOffset"> |
| <summary> |
| The one-based offset of the interaction in the list of all interactions in |
| this page load which was the INP (https://web.dev/inp). |
| </summary> |
| </metric> |
| <metric name="InteractiveTiming.INPTime"> |
| <summary> |
| The time (in milliseconds from navigation start) of the interaction which |
| was the INP (https://web.dev/inp). |
| </summary> |
| </metric> |
| <metric name="InteractiveTiming.NumInteractions"> |
| <summary> |
| The number of distinct user interactions. See definition of user |
| interaction: |
| https://web.dev/better-responsiveness-metric/#group-events-into-interactions |
| </summary> |
| </metric> |
| <metric |
| name="InteractiveTiming.UserInteractionLatency.HighPercentile2.MaxEventDuration"> |
| <summary> |
| An approximation of a high percentile of user interaction latency of a |
| page load, in ms. For this metric, we measure the latency of user |
| interactions by Responsiveness.UserInteraction.MaxEventDuration. |
| </summary> |
| </metric> |
| <metric |
| name="InteractiveTiming.UserInteractionLatencyAtFirstOnHidden.HighPercentile2.MaxEventDuration"> |
| <summary> |
| An approximation of a high percentile of user interaction latency of a |
| page load, in ms. For this metric, we measure the latency of user |
| interactions by Responsiveness.UserInteraction.MaxEventDuration. We record |
| it when a page is moved from the foreground to the background for the |
| first time. This metric is trying to record the INP values which are not |
| able to be recorded in |
| InteractiveTiming.UserInteractionLatency.HighPercentile2.MaxEventDuration |
| for some reasons. |
| </summary> |
| </metric> |
| <metric name="InteractiveTiming.WorstUserInteractionLatency.MaxEventDuration"> |
| <summary> |
| The maximum value of user interaction latency of a page load, in ms. For |
| this metric, we measure the latency of user interactions by |
| Responsiveness.UserInteraction.MaxEventDuration. Each type of interaction |
| has its own budget. |
| </summary> |
| </metric> |
| <metric name="InteractiveTimingBeforeSoftNavigation.INPOffset"> |
| <summary> |
| The one-based offset of the interaction in the list of all interactions in |
| this page load which was the INP before the first soft navigation |
| (https://web.dev/inp). |
| </summary> |
| </metric> |
| <metric name="InteractiveTimingBeforeSoftNavigation.INPTime"> |
| <summary> |
| The time (in milliseconds from navigation starte) of the interaction which |
| was the INP before the first soft navigation (https://web.dev/inp). |
| </summary> |
| </metric> |
| <metric name="InteractiveTimingBeforeSoftNavigation.NumInteractions"> |
| <summary> |
| The number of distinct user interactions before any soft navigation |
| happens. It includes the user interaction that triggers the 1st soft |
| navigtion. See definition of user interaction: |
| https://web.dev/better-responsiveness-metric/#group-events-into-interactions |
| </summary> |
| </metric> |
| <metric |
| name="InteractiveTimingBeforeSoftNavigation.UserInteractionLatency.HighPercentile2.MaxEventDuration"> |
| <summary> |
| An approximation of a high percentile of user interaction latency of a |
| page load before any soft navigation happens, in ms. For this metric, we |
| measure the latency of user interactions by |
| Responsiveness.UserInteraction.MaxEventDuration. |
| </summary> |
| </metric> |
| <metric name="IsCrossProcessNavigation"> |
| <owner>altimin@chromium.org</owner> |
| <owner>arthursonzogni@chromium.org</owner> |
| <summary> |
| Whether the navigation resulted in the main frame being hosted in a |
| different renderer process than the current document or not. |
| </summary> |
| </metric> |
| <metric name="IsExistingBookmark" enum="Boolean"> |
| <summary> |
| Marked true if the page was already bookmarked when the navigation |
| committed. |
| </summary> |
| </metric> |
| <metric name="IsExistingPartOfTabGroup" enum="Boolean"> |
| <summary> |
| Marked true if the page was already part of a tab group when the |
| navigation committed. |
| </summary> |
| </metric> |
| <metric name="IsNewBookmark" enum="Boolean"> |
| <summary> |
| Roughly: measures if the page was newly bookmarked. Specifically: this is |
| marked true if the page was not bookmarked when the navigation committed, |
| and is bookmarked at the end of the page lifetime. |
| |
| Note, this means this boolean is mutually exclusive with |
| IsExistingBookmark. |
| |
| Also note, this means that a page that is bookmarked, and then |
| sebsequently un-bookmarked is counted as false. |
| </summary> |
| </metric> |
| <metric name="IsNTPCustomLink" enum="Boolean"> |
| <summary> |
| Marked true if the page has been explicitly added (by the user) to the |
| list of custom links displayed in the NTP. Links added to the NTP by |
| History TopSites don't count for this. Always false on Android, because |
| Android does not have NTP custom links. |
| </summary> |
| </metric> |
| <metric name="IsPlacedInTabGroup" enum="Boolean"> |
| <summary> |
| Roughly: measures if the page was added to a tab group. Specifically: this |
| is marked true if the page was not part of a tab group when the navigation |
| committed, and is part of a tab group at the end of the page lifetime. |
| |
| Note, this means this boolean is mutually exclusive with |
| IsExistingPartOfTabGroup. |
| |
| Also note, this means that a page that is added, and then sebsequently |
| removed from a tab group is counted as false. |
| </summary> |
| </metric> |
| <metric name="IsScopedSearchLikeNavigation" enum="Boolean"> |
| <summary> |
| Marked true if the page was eligible for a scoped search when the |
| navigation committed. |
| </summary> |
| </metric> |
| <metric name="LayoutInstability.CumulativeShiftScore"> |
| <summary> |
| Deprecated as of 04/23. It is still reported, but most users should use |
| PageLoad.LayoutInstability.MaxCumulativeShiftScore.SessionWindow.Gap1000ms.Max5000ms. |
| |
| Measures the cumulative layout shift (bit.ly/lsm-explainer) that has |
| occurred on the page (including all subframes) during the session. This |
| metric's integral value is 100x the fractional cumulative layout shift |
| score described in the explainer. Stable since M79; previous versions are |
| experimental and subject to fluctuation between releases. Log of major |
| changes: http://bit.ly/chrome-speed-metrics-changelog |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.country,profile.system_ram"/> |
| <index fields="profile.is_dominant_version"/> |
| <index fields="profile.is_latest_version"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="LayoutInstability.CumulativeShiftScore.BeforeInputOrScroll"> |
| <summary> |
| Measures the cumulative layout shift (bit.ly/lsm-explainer) that has |
| occurred on the page (including all subframes) during the session, before |
| any user input or scroll (in any frame). This metric's integral value is |
| 100x the fractional cumulative layout shift score described in the |
| explainer. |
| </summary> |
| </metric> |
| <metric name="LayoutInstability.CumulativeShiftScore.MainFrame"> |
| <summary> |
| Measures the cumulative layout shift (bit.ly/lsm-explainer) that has |
| occurred in the main frame during the session. This metric's integral |
| value is 100x the fractional cumulative layout shift score described in |
| the explainer. |
| </summary> |
| </metric> |
| <metric |
| name="LayoutInstability.CumulativeShiftScore.MainFrame.BeforeInputOrScroll"> |
| <summary> |
| Measures the cumulative layout shift (bit.ly/lsm-explainer) that has |
| occurred in the main frame during the session, before any user input or |
| scroll. This metric's integral value is 100x the fractional cumulative |
| layout shift score described in the explainer. |
| </summary> |
| </metric> |
| <metric |
| name="LayoutInstability.MaxCumulativeShiftScore.SessionWindow.Gap1000ms.Max5000ms"> |
| <summary> |
| Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that |
| has occurred in a session window. The gap between two consecutive shifts |
| in a window is not bigger than 1000ms and the maximum window size is |
| 5000ms. This metric's integral value is 100x the fractional cumulative |
| layout shift score described in the explainer. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric |
| name="LayoutInstabilityBeforeSoftNavigation.MaxCumulativeShiftScore.MainFrame.SessionWindow.Gap1000ms.Max5000ms"> |
| <summary> |
| Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that |
| has occurred in a session window before any soft navigation happens. The |
| gap between two consecutive shifts in a window is not bigger than 1000ms |
| and the maximum window size is 5000ms. This metric's integral value is |
| 100x the fractional cumulative layout shift score described in the |
| explainer. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="MainDocumentSequenceNumber"> |
| <owner>altimin@chromium.org</owner> |
| <owner>arthursonzogni@chromium.org</owner> |
| <summary> |
| An id for the main frame's document associated with the current |
| navigation. It doesn't change for same-document navigations and when |
| navigating back to the same document. Unique during the browsing session. |
| </summary> |
| </metric> |
| <metric name="MainFrameResource.ConnectDelay"> |
| <summary> |
| The duration between the start of the connection establishment to the end |
| of the connection establishment to the origin of the main frame request. |
| In ms. |
| </summary> |
| </metric> |
| <metric name="MainFrameResource.DNSDelay"> |
| <summary> |
| The duration between the start of the DNS resolution to the end for the |
| origin of the main frame request. In ms. |
| </summary> |
| </metric> |
| <metric name="MainFrameResource.HttpProtocolScheme"> |
| <summary> |
| HTTP Protocol scheme of the connection using which the main frame response |
| was fetched. Recorded as HttpProtocolScheme enum in |
| tools/metrics/histograms/enum.xml. |
| </summary> |
| </metric> |
| <metric name="MainFrameResource.NavigationStartToConnectStart"> |
| <owner>nidhijaju@chromium.org</owner> |
| <owner>chrome-loading@google.com</owner> |
| <summary> |
| The duration from the start of the navigation to the start of the |
| connection establishment to the origin of the main frame request. In ms. |
| </summary> |
| </metric> |
| <metric name="MainFrameResource.NavigationStartToReceiveHeadersStart"> |
| <summary> |
| The duration from the start of the navigation to the start of the response |
| headers being received, in ms. The start of the response headers include |
| early hints. This is TTFB in CruX. |
| </summary> |
| </metric> |
| <metric name="MainFrameResource.NavigationStartToRequestStart"> |
| <summary> |
| The duration from the start of the navigation to the start of the main |
| frame request. This includes the time to process any redirects on the main |
| frame request. In ms. |
| </summary> |
| </metric> |
| <metric name="MainFrameResource.RedirectCount"> |
| <summary> |
| The number of main frame redirects that occurred before commit. Unset if |
| there were no redirects. |
| </summary> |
| </metric> |
| <metric name="MainFrameResource.RequestHadCookies" enum="Boolean"> |
| <summary> |
| A boolean indicating if any mainpage request in the redirect chain or |
| committed request had cookies set on it. Only set when a query result was |
| received from the cookie manager before event recording. |
| </summary> |
| </metric> |
| <metric name="MainFrameResource.RequestHasNoStore" enum="Boolean"> |
| <summary> |
| A boolean indicating if any mainpage resource has a 'Cache-control: |
| no-store' response header. Recorded only for main frame request. |
| </summary> |
| </metric> |
| <metric name="MainFrameResource.RequestStartToReceiveHeadersEnd"> |
| <summary> |
| The duration from when the request was started to the time when its |
| response headers were received. Recorded only for the main frame request. |
| In ms. |
| </summary> |
| </metric> |
| <metric name="MainFrameResource.RequestStartToSendStart"> |
| <summary> |
| The duration from when the request was started to the time when its |
| request headers were sent. Recorded only for the main frame request. In |
| ms. |
| </summary> |
| </metric> |
| <metric name="MainFrameResource.SendStartToReceiveHeadersEnd"> |
| <summary> |
| The duration from when the request headers were sent to when its response |
| headers were received. Recorded only for the main frame request. In ms. |
| </summary> |
| </metric> |
| <metric name="MainFrameResource.SocketReused"> |
| <summary> |
| True if the socket was reused when establishing connection to the origin |
| of the main frame request. |
| </summary> |
| </metric> |
| <metric name="Navigation.InitiatorLocation"> |
| <summary> |
| page_load_metrics::NavigationHandleUserData::InitiatorLocation enum value. |
| This field is used for identifying the types of prerender trigger. |
| </summary> |
| </metric> |
| <metric name="Navigation.PageEndReason3" enum="PageEndReason"> |
| <summary> |
| The |page_load_metrics::PageEndReason| for the main frame navigation of |
| this page load. Replaced Navigation.PageEndReason2 on January 2021 to get |
| rid of END_HIDDEN and use END_APP_BACKGROUND on cases where the metrics |
| are flushed and the app enters the background. |
| </summary> |
| </metric> |
| <metric name="Navigation.PageTransition"> |
| <summary> |
| The |ui::PageTransition| for the main frame navigation of this page load. |
| </summary> |
| </metric> |
| <metric name="NavigationEntryOffset"> |
| <owner>altimin@chromium.org</owner> |
| <owner>arthursonzogni@chromium.org</owner> |
| <summary> |
| Difference between the last committed navigation entry index before and |
| after the commit of this navigation. |
| </summary> |
| </metric> |
| <metric name="Net.CacheBytes2"> |
| <summary> |
| The total number of body bytes loaded from cache for all resources on the |
| page. This includes the http and memory cache. This is rounded down to the |
| nearest exponential bucket (with a bucket spacing factor of 1.3). |
| </summary> |
| </metric> |
| <metric name="Net.DownstreamKbpsEstimate.OnNavigationStart"> |
| <owner>tbansal@chromium.org</owner> |
| <summary> |
| The downstream throughput (in kilobits per second) for this page load, at |
| the time the navigation for this page load was initiated. |
| </summary> |
| </metric> |
| <metric name="Net.EffectiveConnectionType2.OnNavigationStart"> |
| <summary> |
| The |SystemProfileProto::Network::EffectiveConnectionType| at the time the |
| navigation for this page load was initiated. |
| </summary> |
| </metric> |
| <metric name="Net.ErrorCode.OnFailedProvisionalLoad"> |
| <summary> |
| The |net::Error| code for this page load. Only logged for failed |
| provisional navigations. |
| </summary> |
| </metric> |
| <metric name="Net.HttpResponseCode"> |
| <summary> |
| The HTTP response code (e.g., 200, 404, etc.) associated with the main |
| frame page load. |
| </summary> |
| </metric> |
| <metric name="Net.HttpRttEstimate.OnNavigationStart"> |
| <summary> |
| The HTTP round trip time estimate for this page load, at the time the |
| navigation for this page load was initiated. |
| </summary> |
| </metric> |
| <metric name="Net.ImageBytes2"> |
| <summary> |
| The total number of bytes loaded from the network for images on the page. |
| This is rounded down to the nearest exponential bucket (with a bucket |
| spacing factor of 1.3). On mobile this only records bytes up until the |
| page/app is backgrounded. |
| </summary> |
| </metric> |
| <metric name="Net.ImageSubframeBytes2"> |
| <summary> |
| The total number of bytes loaded from the network for images on the |
| subframes of the page. This is rounded down to the nearest exponential |
| bucket (with a bucket spacing factor of 1.3). On mobile this only records |
| bytes up until the page/app is backgrounded. |
| </summary> |
| </metric> |
| <metric name="Net.JavaScriptBytes2"> |
| <summary> |
| The sum of decoded body lengths of all JavaScript resources that completed |
| loading on the page. This is rounded down to the nearest exponential |
| bucket (with a bucket spacing factor of 1.3). On mobile this only records |
| bytes up until the page/app is backgrounded. |
| </summary> |
| </metric> |
| <metric name="Net.JavaScriptMaxBytes2"> |
| <summary> |
| The max of decoded body lengths of all JavaScript resources that completed |
| loading on the page. This is rounded down to the nearest exponential |
| bucket (with a bucket spacing factor of 1.3). On mobile this only records |
| bytes up until the page/app is backgrounded. |
| </summary> |
| </metric> |
| <metric name="Net.MediaBytes2"> |
| <summary> |
| The total number of bytes loaded from the network for media (video, audio) |
| on the page. This is rounded down to the nearest exponential bucket (with |
| a bucket spacing factor of 1.3). On mobile this only records bytes up |
| until the page/app is backgrounded. |
| </summary> |
| </metric> |
| <metric name="Net.NetworkBytes2"> |
| <summary> |
| The total number of bytes loaded from the network for all resources on the |
| page, including incomplete resources and headers. This is rounded down to |
| the nearest exponential bucket (with a bucket spacing factor of 1.3). On |
| mobile this only records bytes up until the page/app is backgrounded. |
| </summary> |
| </metric> |
| <metric name="Net.TransportRttEstimate.OnNavigationStart"> |
| <summary> |
| The transport round trip time estimate for this page load, at the time the |
| navigation for this page load was initiated. |
| </summary> |
| </metric> |
| <metric name="OmniboxUrlCopied" enum="Boolean"> |
| <summary> |
| Marked true if the user copied the page's URL from the omnibox at any time |
| for this page load. |
| </summary> |
| </metric> |
| <metric name="PageTiming.ForegroundDuration"> |
| <summary> |
| For page loads that start in the foreground, measures the duration of time |
| in milliseconds until one of the following events occurs: the load of the |
| main resource fails, the page load is stopped, the tab hosting the page is |
| closed, the render process hosting the page goes away, a new navigation |
| which later commits is initiated in the same tab, or the tab hosting the |
| page is backgrounded. This metric has a very long tail, for pages that |
| spend a long period of time in the foreground. As such, use of the mean or |
| tail values are not recommended. |
| </summary> |
| </metric> |
| <metric name="PageTiming.NavigationToFailedProvisionalLoad"> |
| <summary> |
| Measures the time in milliseconds from navigation timing's navigation |
| start to the time the provisional load failed. Only measures provisional |
| loads that failed in the foreground. |
| </summary> |
| </metric> |
| <metric name="PageTiming.TotalForegroundDuration"> |
| <summary> |
| The total amount of time the page spent in the foreground, in |
| milliseconds. Note that this metric adds all foreground durations |
| occurring for the page. For example: if the page starts foregrounded |
| during 1 second, then goes to the background for a while, then is |
| foregrounded again for 2 seconds, and then is unloaded, this metric |
| reports 3 seconds. To see metrics about consecutive foreground sessions, |
| see the PageForegroundSession event instead. This metric is recorded at |
| the end of each page load. As usual with PageLoad metrics, we consider app |
| backgrounding on Android to be the end of page load as well as the app |
| could be evicted by Android anytime after that happens. |
| </summary> |
| </metric> |
| <metric name="PageTiming.UserTimingMarkFullyLoaded"> |
| <summary> |
| When the page UserTiming mark API is called with the standard |
| 'mark_fully_loaded' name to mark that the page is fully loaded. If the |
| mark is called more than once, the last is used. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="PageTiming.UserTimingMarkFullyVisible"> |
| <summary> |
| When the page UserTiming mark API is called with the standard |
| 'mark_fully_visible' name to mark that the page is fully visible. If the |
| mark is called more than once, the last is used. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="PageTiming.UserTimingMarkInteractive"> |
| <summary> |
| When the page UserTiming mark API is called with the standard |
| 'mark_interactive' name to mark that the page is interactive. If the mark |
| is called more than once, the last is used. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="PageVisitFinalStatus" enum="PageVisitFinalStatus"> |
| <summary> |
| Determines the final status for this page load. That is, records whether |
| the page was never foregrounded, was foregrounded but did not reach FCP, |
| or did reach FCP. The metric is recorded at the end of each page load. As |
| usual with PageLoad metrics, we consider app backgrounding on Android to |
| be the end of page load as well as the app could be evicted by Android |
| anytime after that happens. |
| </summary> |
| </metric> |
| <metric name="PaintTiming.LargestContentfulPaintBPP" |
| enum="BitsPerPixelExponential"> |
| <summary> |
| Measures the ratio of image file size (in bits) to displayed pixels for |
| the LCP candidate. Bucketed into roughly exponential intervals to account |
| for the wide range of encountered values (less than 1:100000 to greater |
| than 10000:1). This metric is recorded whenever the LCP candidate is an |
| image, and omitted when it is text. |
| </summary> |
| </metric> |
| <metric name="PaintTiming.LargestContentfulPaintImageDiscoveryTime"> |
| <summary> |
| Measures the time in milliseconds from navigation timing's navigation |
| start to the time when the image LCP element is requested. If the image |
| LCP element is from a subframe, the difference in the navigation start of |
| the main frame and that of the subframe is accounted for. This metric is |
| not recorded when the LCP element is text or video. |
| </summary> |
| </metric> |
| <metric name="PaintTiming.LargestContentfulPaintImageIsCrossOrigin" |
| enum="Boolean"> |
| <summary> |
| A bool that is set if the LCP element is an image that is cross-origin. |
| This metric is not recorded when the LCP element is not an image, or the |
| LCP element is not in the main frame. |
| </summary> |
| </metric> |
| <metric name="PaintTiming.LargestContentfulPaintImageLoadEnd"> |
| <summary> |
| Measures the time in milliseconds from navigation timing's navigation |
| start to the time when the LCP element(image) finishes loading. For |
| animated images, this is when the image resource finishes loading |
| completely, not the first frame time. See web.dev/optimize-lcp for more |
| details. If the image LCP element is from a subframe, the difference in |
| the navaigation start of the main frame and that of the subframe is |
| accounted for. This metric is not recorded when the LCP element is text or |
| video. |
| </summary> |
| </metric> |
| <metric name="PaintTiming.LargestContentfulPaintImageLoadStart"> |
| <summary> |
| Measures the time in milliseconds from navigation timing's navigation |
| start to the time when the LCP element(image) starts loading. See |
| web.dev/optimize-lcp for more details. If the image LCP element is from a |
| subframe, the difference in the navaigation start of the main frame and |
| that of the subframe is accounted for. This metric is not recorded when |
| the LCP element is text or video. |
| </summary> |
| </metric> |
| <metric name="PaintTiming.LargestContentfulPaintRequestPriority" |
| enum="NetRequestPriority"> |
| <summary> |
| Resource loading priority used for the LCP candidate. This metric is |
| recorded whenever the LCP candidate is an image, and omitted when it is |
| text or video. |
| </summary> |
| </metric> |
| <metric name="PaintTiming.LargestContentfulPaintType"> |
| <summary> |
| Indicates that type of the LargestContentfulPaint candidate. This value is |
| a packed set of flags, defined in |
| third_party/blink/public/common/performance/largest_contentful_paint_type.h |
| </summary> |
| </metric> |
| <metric name="PaintTiming.NavigationToFirstContentfulPaint"> |
| <summary> |
| Measures the time in milliseconds from navigation timing's navigation |
| start to the time when the page first paints content. A contentful paint |
| includes a paint of text, image, SVG, or canvas. Log of major changes: |
| http://bit.ly/chrome-speed-metrics-changelog |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.country,profile.system_ram"/> |
| <index fields="profile.gender"/> |
| <index fields="profile.gender,profile.generation"/> |
| <index fields="profile.generation"/> |
| <index fields="profile.is_dominant_version"/> |
| <index fields="profile.is_latest_version"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="PaintTiming.NavigationToFirstPaint"> |
| <summary> |
| Measures the time in milliseconds from navigation timing's navigation |
| start to the time the first paint is performed. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="PaintTiming.NavigationToLargestContentfulPaint2"> |
| <summary> |
| Measures the time in milliseconds from navigation timing's navigation |
| start to the time when the page first paints the largest content (text or |
| image) within viewport, across all frames. See http://bit.ly/fcp_plus_plus |
| for more details. Log of major changes: |
| http://bit.ly/chrome-speed-metrics-changelog. Version 2 differs from the |
| first version in that it includes content that has been removed from the |
| page. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.country,profile.system_ram"/> |
| <index fields="profile.is_dominant_version"/> |
| <index fields="profile.is_latest_version"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric |
| name="PaintTiming.NavigationToLargestContentfulPaint2.CrossSiteSubFrame"> |
| <summary> |
| Similar to PaintTiming.NavigationToLargestContentfulPaint2, this measures |
| the time in milliseconds from the navigation start of the top-level frame |
| to the time when the page first paints the largest content (text or image) |
| in the cross-site subframe which is the top candidate of largest |
| contentful paint. This metric is computed separately from the page-level |
| LCP, it's recorded even in page loads where the page-level LCP is not that |
| cross-site LCP. |
| </summary> |
| </metric> |
| <metric name="PaintTiming.NavigationToLargestContentfulPaint2.MainFrame"> |
| <summary> |
| Measures the time in milliseconds from navigation timing's navigation |
| start to the time when the page first paints the largest content (text or |
| image) within viewport, in the main frame. Includes content that has been |
| removed from the page. See http://bit.ly/fcp_plus_plus for more details. |
| </summary> |
| </metric> |
| <metric name="PaintTiming.NavigationToLargestContentfulPaint2AtFirstOnHidden"> |
| <summary> |
| Measures the time in milliseconds from navigation timing's navigation |
| start to the time when the page first paints the largest content (text or |
| image) within viewport, across all frames. Recorded at the point when a |
| page which has been opened in the foreground is moved to the background |
| for the first time. See http://bit.ly/fcp_plus_plus for more details. Log |
| of major changes: http://bit.ly/chrome-speed-metrics-changelog. This |
| metric is trying to record the LCP values which are not able to be |
| recorded in PaintTiming.NavigationToLargestContentfulPaint2 for some |
| reasons. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.country,profile.system_ram"/> |
| <index fields="profile.is_dominant_version"/> |
| <index fields="profile.is_latest_version"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ParseTiming.NavigationToParseStart"> |
| <summary> |
| Measures the time in milliseconds from navigation timing's navigation |
| start to the time the parser started, for main frame documents. |
| </summary> |
| </metric> |
| <metric name="RefreshRateThrottled" enum="Boolean"> |
| <summary> |
| Records whether the refresh rate is throttled (capped to 30Hz) by Power |
| Saver Mode for this Page Load, when the navigation starts. It is possible |
| but very unlikely for this to change mid navigation, for instance due to a |
| change by the user in settings or the battery being recharged above 20%. |
| </summary> |
| </metric> |
| <metric name="SiteEngagementScore"> |
| <owner>mcrouse@chromium.org</owner> |
| <owner>tbansal@chromium.org</owner> |
| <summary> |
| Measures the Site Engagement Score for the committed URL rounded to the |
| nearest 10. |
| </summary> |
| </metric> |
| <metric name="SiteInstanceRenderProcessAssignment" |
| enum="SiteInstanceProcessAssignment"> |
| <summary> |
| Records how the main frame's site instance was assigned to a renderer |
| process. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SoftNavigationCount"> |
| <summary> |
| Number of soft navigations detected by heuristics. See |
| https://bit.ly/soft-navigation |
| |
| Soft navigations are JS-driven same-document navigations that are using |
| the history API or the new Navigation API, triggered by a user gesture and |
| meaningfully modify the DOM, replacing the previous content with new one. |
| </summary> |
| </metric> |
| <metric name="ThirdPartyCookieBlockingEnabledForSite" enum="Boolean"> |
| <owner>dullweber@chromium.org</owner> |
| <owner>huanzhong@chromium.org</owner> |
| <summary> |
| Records whether third party cookie blocking was enabled for a site. Only |
| recorded for users who enabled the cookie controls ui. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="WasCached"> |
| <summary> |
| Set to 1 if the main resource was served from cache. |
| </summary> |
| </metric> |
| <metric name="WasDiscarded" enum="Boolean"> |
| <summary> |
| Records whether the Page Load is the result of the page having previously |
| been discarded because of performance interventions or critical memory |
| pressure. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PageLoad.FromGoogleSearch" singular="True"> |
| <owner>sullivan@chromium.org</owner> |
| <owner>mushan@chromium.org</owner> |
| <summary> |
| Recorded for page loads that were navigated to via Google Search. |
| </summary> |
| <metric name="GoogleSearchMode" enum="GoogleSearchMode"> |
| <summary> |
| Google Search mode used by the user. This corresponds to the tab (e.g. web |
| result, image results, video results, etc.) the user is on. This |
| information is extracted from the tbm query parameter on the Search URL. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PageLoad.Internal" singular="True"> |
| <owner>npm@chromium.org</owner> |
| <owner>speed-metrics-dev@chromium.org</owner> |
| <summary> |
| Debugging metrics for the PageLoad event that do not require the same amount |
| of sampling. |
| </summary> |
| <metric name="PaintTiming.LargestContentfulPaint.ContentType" |
| enum="LargestContentType"> |
| <summary> |
| Records whether the page's largest contentful paint, whose timestamp is |
| measured by PageLoad.PaintTiming.NavigationToLargestContentfulPaint2, |
| comes from text or image. This value is sampled and not on the PageLoad |
| event, so it is not always recorded whenever |
| PageLoad.PaintTiming.NavigationToLargestContentfulPaint2 is recorded. |
| </summary> |
| </metric> |
| <metric name="PaintTiming.LargestContentfulPaint.TerminationState" |
| enum="LargestContentfulPaint.TerminationState"> |
| <summary> |
| Records the state of the largest contentful paint algorithm at the time in |
| which the browser attempts to record |
| PageLoad.PaintTiming.NavigationToLargestContentfulPaint2. This state |
| depends on whether there was a largest contentful paint candidate or not |
| and the foreground state of the page. This value is sampled and not on the |
| PageLoad event, so it is not always recorded whenever the browser attempts |
| to record PageLoad.PaintTiming.NavigationToLargestContentfulPaint2. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PageLoad.PervasivePayloadsEnabled" singular="True"> |
| <owner>nidhijaju@chromium.org</owner> |
| <owner>ricea@chromium.org</owner> |
| <summary> |
| Recorded for page loads where the pervasive payloads list is inputted to |
| Chrome. |
| </summary> |
| </event> |
| |
| <event name="PageLoad.ServiceWorkerControlled" singular="True"> |
| <owner>wanderview@chromium.org</owner> |
| <owner>asamidoi@chromium.org</owner> |
| <summary> |
| Recorded for page loads controlled by a service worker. |
| </summary> |
| </event> |
| |
| <event name="PageLoad.SignedExchange" singular="True"> |
| <owner>horo@chromium.org</owner> |
| <summary> |
| Recorded for page loads which main resource is an inner response of a signed |
| exchange. |
| </summary> |
| <metric name="ServedFromGoogleCache"> |
| <summary> |
| Set to 1 if the main resource was served from Google's cache server. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PageLoadInitiatorForAdTagging" singular="True"> |
| <owner>yaoxia@chromium.org</owner> |
| <owner>jkarlin@chromium.org</owner> |
| <summary> |
| Metrics about the initiator context of a page load (e.g. whether certain |
| condition was true and/or what triggered the page load). Recorded when a |
| page commits. The metrics are specific to ad related conditions or purposes. |
| </summary> |
| <metric name="FromAdClick" enum="Boolean"> |
| <summary> |
| Whether the page was opened due to a click on an ad. |
| </summary> |
| </metric> |
| <metric name="FromUser" enum="Boolean"> |
| <summary> |
| Whether the navigation occurred due to a user action. This includes |
| omnibox navigations as well as renderer initiated navigations with user |
| activation. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PageWithPassword"> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| Metrics about websites that contain password forms and the user's |
| interactions with them. No events are created for pages that don't contain |
| password forms. |
| </summary> |
| <metric name="FormManagerAvailable"> |
| <summary> |
| Records whether Chrome was sufficiently aware of forms during various |
| stages of saving a credential on the site, or whether saving was aborted |
| due to absence of the corresponding form manager. Values correspond to the |
| enum PasswordManagerMetricsRecorder::FormManagerAvailable. |
| </summary> |
| </metric> |
| <metric name="PageLevelUserAction"> |
| <summary> |
| Records if the user interacts with the password manager in a way that |
| cannot (reliably) be attributed to a specific PasswordFormManager. Values |
| correspond to the enum |
| PasswordManagerMetricsRecorder::PageLevelUserAction. |
| </summary> |
| </metric> |
| <metric name="ProvisionalSaveFailure"> |
| <summary> |
| Records a provisional save failure in case the password manager cannot |
| offer to save a credential. Recorded values correspond to the enum |
| PasswordManagerMetricsRecorder::ProvisionalSaveFailure. |
| </summary> |
| </metric> |
| <metric name="UserModifiedPasswordField"> |
| <summary> |
| Records a 1 for every page on which a user has modified a password text |
| field - regardless of how many password fields a page contains or the user |
| modifies. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PaintPreviewCapture" singular="True"> |
| <owner>ckitagawa@chromium.org</owner> |
| <owner>fredmello@chromium.org</owner> |
| <owner>mahmoudi@chromium.org</owner> |
| <owner>vollick@chromium.org</owner> |
| <summary> |
| Metrics related to the performance of capturing Paint Previews. |
| </summary> |
| <metric name="BlinkCaptureTime"> |
| <summary> |
| The amount of time spent painting in Blink to record a Paint Preview of |
| the main frame. |
| </summary> |
| </metric> |
| <metric name="CompressedOnDiskSize"> |
| <summary> |
| The compressed on-disk size in KB of the captured artifacts. This is |
| rounded down to the nearest exponential bucket (with a bucket ratio of |
| 1.3). |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PartitionedCookiePresentV2"> |
| <owner>selya@chromium.org</owner> |
| <owner>dylancutler@google.com</owner> |
| <summary> |
| Recorded when a page has a partitioned cookie present and the cookie's name |
| is not receive-cookie-deprecation. |
| </summary> |
| <metric name="PartitionedCookiePresentV2" enum="Boolean"> |
| <summary> |
| Records '1' if one or more partitioned cookies are present. This metric is |
| only logged for sites that have partitioned cookies. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PasswordForm"> |
| <owner>battre@chromium.org</owner> |
| <summary> |
| Metrics about password forms on websites and the user's interactions with |
| them. A separate event is generated for each password form discovered on a |
| site. |
| </summary> |
| <metric name="Context.FormSignature"> |
| <summary> |
| Records a low entropy hash of the form signature in order to be able to |
| distinguish two forms on the same site. |
| </summary> |
| </metric> |
| <metric name="DynamicFormChanges"> |
| <summary> |
| Records a bitmask of password form changes after the first time this form |
| is seen by Password Manager. Recorded once per a form when the form is |
| removed from DOM. Bit 0 - changes in number of fields, bit 1 - changes in |
| fields renderer ids, bit 2 - changes in autocomplete attributes, bit 3 - |
| changes in form control types, bit 4 - changes in field names. |
| </summary> |
| </metric> |
| <metric name="Fill.FirstFillingResultInRenderer" |
| enum="PasswordManagerFirstRendererFillingResult"> |
| <summary> |
| Records whether the PasswordAutofillAgent in the renderer manages to fill |
| credentials as instructed by the browser or records a failure reason |
| otherwise. Only the outcome of the first attempt to fill is recorded. |
| |
| This is replicated as PasswordManager.FirstFillingResultInRenderer in UMA. |
| </summary> |
| </metric> |
| <metric name="Fill.FirstWaitForUsernameReason" |
| enum="PasswordManagerFirstWaitForUsernameReason"> |
| <summary> |
| This metric records why the browser instructs the renderer not to fill the |
| credentials on page load but to wait for the user to confirm the |
| credential to be filled. Only the value of the first decision to fill is |
| recorded. |
| |
| This is replicated as PasswordManager.FirstWaitForUsernameReason in UMA. |
| </summary> |
| </metric> |
| <metric name="Generation.GeneratedPassword" enum="Boolean"> |
| <summary> |
| Records '1' if the user has generated a password on this form. |
| </summary> |
| </metric> |
| <metric name="Generation.GeneratedPasswordModified" enum="Boolean"> |
| <summary> |
| Records '1' if the user has modified a generated a password on this form. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Generation.PopupShown" enum="PasswordGenerationPopupShown"> |
| <summary> |
| Records an entry if (and only if) a popup was shown. |
| </summary> |
| </metric> |
| <metric name="ManagerFill.Action"> |
| <summary> |
| Records for each password form (and HTTP auth), whether the password |
| manager has filled/provided credentials. Recorded values correspond to the |
| enum ManagerAutofillEvent. |
| </summary> |
| </metric> |
| <metric name="ManagerFill.Assistance" enum="PasswordManagerFillingAssistance"> |
| <summary> |
| Records for each successful submission of a password form, the degree to |
| which the user has been assisted by the password manager. |
| |
| This is replicated as PasswordManager.FillingAssistance in UMA. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ManagerFill.AssistanceForSingleUsername" |
| enum="SingleUsernameFillingAssistance"> |
| <summary> |
| Records for each successful submission of a single username form, the |
| degree to which the user has been assisted by the password manager. |
| |
| This is replicated as PasswordManager.FillingAssistanceForSingleUsername |
| in UMA. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ParsingDiffFillingAndSaving" |
| enum="PasswordFormParsingDifference"> |
| <summary> |
| Records comparison of username and password fields picked during parsing |
| when the form is filled and when the form is saved. Recorded only if the |
| form is submitted successfully, on corresponding form manager destruction. |
| </summary> |
| </metric> |
| <metric name="ReadonlyWhenFilling"> |
| <summary> |
| Records the readonly status encoded with parsing success after parsing for |
| filling. The |value| is constructed as follows: The least significant bit |
| says whether parsing succeeded (1) or not (0). The rest, shifted by one |
| bit to the right is the FormDataParser::ReadonlyPasswordFields |
| representation of the readonly status. |
| </summary> |
| </metric> |
| <metric name="ReadonlyWhenSaving"> |
| <summary> |
| Records the readonly status encoded with parsing success after parsing for |
| creating pending credentials. The |value| is constructed the same way as |
| for ReadonlyWhenFilling. |
| </summary> |
| </metric> |
| <metric name="Saving.Prompt.Interaction" enum="PasswordBubbleDismissalReason"> |
| <summary> |
| Records how the user interacted with a saving prompt. |
| </summary> |
| </metric> |
| <metric name="Saving.Prompt.Shown" enum="Boolean"> |
| <summary> |
| Records, for each password form seen by the password manager, whether the |
| user was shown a prompt that asked for permission to save new credentials. |
| In case a store() via the Credential Management API, a virtual password |
| form is created, for which this metric is recorded. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Saving.Prompt.Trigger" enum="PasswordBubbleTrigger"> |
| <summary> |
| Records the trigger of each password save bubble that was shown to the |
| user to ask for permission to save new credentials. |
| </summary> |
| </metric> |
| <metric name="Saving.ShowedManualFallbackForSaving"> |
| <summary> |
| Records if a manual fallback for saving option was shown to the user (on |
| Android this is recorded, even though the UI does not exist at the |
| moment). This is a bit mask. 1 means a prompt was shown, 2 means the |
| prompt was due to a generated password, 4 means the prompt was due to an |
| update. |
| </summary> |
| </metric> |
| <metric name="Submission.Indicator" enum="SubmissionIndicatorEvent"> |
| <summary> |
| Records the event that led the password manager to believe the submission |
| was successful. Metrics is recorded only when the password is saved. |
| </summary> |
| </metric> |
| <metric name="Submission.Observed" enum="Boolean"> |
| <summary> |
| Records whether a submission of a password form has been observered. The |
| values 0 and 1 correspond to false and true respectively. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Submission.SubmissionResult" |
| enum="PasswordFormSubmissionResult"> |
| <summary> |
| Records the outcome of a password form submission. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Submission.SubmissionResult.GeneratedPassword" |
| enum="PasswordFormSubmissionResult"> |
| <summary> |
| Records the outcome of a password form submission for forms on which users |
| generated passwords. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Submission.SubmittedFormType2" enum="PasswordFormType2"> |
| <summary> |
| Records the presumed type (e.g. signup, login, change password) of a |
| submitted password form. |
| |
| This is replicated as PasswordManager.SubmittedFormType2 in UMA. |
| </summary> |
| </metric> |
| <metric name="Updating.Prompt.Interaction" |
| enum="PasswordBubbleDismissalReason"> |
| <summary> |
| Records how the user interacted with an updating prompt. |
| </summary> |
| </metric> |
| <metric name="Updating.Prompt.Shown" enum="Boolean"> |
| <summary> |
| Records, for each password form seen by the password manager, whether the |
| user was shown a prompt that asked for permission to update existing |
| credentials. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Updating.Prompt.Trigger" enum="PasswordBubbleTrigger"> |
| <summary> |
| Records the trigger of each password update bubble that was shown to the |
| user to ask for permission to update existing credentials. |
| </summary> |
| </metric> |
| <metric name="User.Action.CorrectedUsernameInForm"> |
| <summary> |
| Counts how many times the user corrected a username in a password form. |
| This is only populated if events happened. |
| </summary> |
| </metric> |
| <metric name="User.Action.EditedUsernameInBubble"> |
| <summary> |
| Counts how many times the user edited a username in a password save/update |
| bubble. This is only populated if events happened. |
| </summary> |
| </metric> |
| <metric name="User.Action.SelectedDifferentPasswordInBubble"> |
| <summary> |
| Counts how many times the user selected a different password in a |
| save/update bubble. This is only populated if events happened. |
| </summary> |
| </metric> |
| <metric name="User.Action.TriggeredManualFallbackForSaving"> |
| <summary> |
| Counts how many times the user triggered the manual fallback for password |
| saving. This is only populated if events happened. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PasswordManager.LeakWarningDialog"> |
| <owner>jkeitel@google.com</owner> |
| <owner>chrome-duplex@google.com</owner> |
| <summary> |
| Metrics related to leak warnings shown on login and password reset. Leak |
| warning dialogs in Chrome aim to inform users about leaked credentials and |
| advise to change them. We collect type of the dialog that is shown and the |
| response of the user to it. |
| </summary> |
| <metric name="PasswordLeakDetectionDialogDismissalReason" |
| enum="PasswordLeakDetectionDialogDismissalReason"> |
| <summary> |
| Records the response to the password leak dialog. |
| </summary> |
| </metric> |
| <metric name="PasswordLeakDetectionDialogType" |
| enum="PasswordLeakDetectionDialogType"> |
| <summary> |
| Records the type of the password leak dialog. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PasswordManager.NewlySavedPassword"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Metrics for newly saved passwords, recorded at the moment of saving. |
| </summary> |
| <metric name="HasEmptyUsername" enum="Boolean"> |
| <summary> |
| Whether the password has an empty username. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="IsPasswordGenerated" enum="Boolean"> |
| <summary> |
| Whether the password was generated by Chrome or typed manually by the |
| user. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="PasswordManager.PasswordChangeTriggered"> |
| <owner>brunobraga@google.com</owner> |
| <owner>chrome-duplex@google.com</owner> |
| <summary> |
| Metrics related to password change. The Password Checkup in Chrome Settings |
| aims to help users find their leaked passwords. After getting list of |
| compromised passwords, user can trigger password change. |
| </summary> |
| <metric name="PasswordChangeType" enum="PasswordChangeType"> |
| <summary> |
| Records what type of password change the user triggers. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PasswordManager.PasswordFillingIOS"> |
| <owner>theocristea@google.com</owner> |
| <owner>kazinova@google.com</owner> |
| <owner>vsemeniuk@google.com</owner> |
| <summary> |
| Records password filling for IOS. The metric records whether the password |
| filling is successful upon suggestion click. |
| </summary> |
| <metric name="FillingSuccess" enum="BooleanSuccess"> |
| <summary> |
| A boolean indicating success or failure. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PasswordManager.WellKnownChangePasswordResult"> |
| <owner>kazinova@google.com</owner> |
| <owner>vasilii@chromium.org</owner> |
| <summary> |
| Metrics related to the usage and support of .well-known/change-password. The |
| .well-known/change-password standard is defined to redirect to the sites |
| change password form. We collect whether a site supports the standard or |
| not. https://wicg.github.io/change-password-url/ |
| </summary> |
| <metric name="WellKnownChangePasswordResult" |
| enum="WellKnownChangePasswordResult"> |
| <summary> |
| Records if a site supports .well-known/change-password and if a url |
| override was used or not. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="PaymentApp.CheckoutEvents"> |
| <owner>rouslan@chromium.org</owner> |
| <owner>web-payments-team@google.com</owner> |
| <summary> |
| Records checkout events as well as completion status for the invoked payment |
| app when its origin is shown inside the payment handler modal window. This |
| metric uses the specific PAYMENT_APP_ID ukm_source_id which is generated |
| from the app's origin. |
| </summary> |
| <metric name="CompletionStatus" enum="PaymentRequestFlowCompletionStatus"> |
| <summary> |
| How the Payment Request ended. This metric will only get recorded if a |
| non-autofill payment app gets invoked to handle the request. |
| </summary> |
| </metric> |
| <metric name="Events2"> |
| <summary> |
| The 2.0 version of Events. Bitfield representing the events that occurred |
| during the Payment Request. This metric will only get recorded if a |
| non-autofill payment app gets invoked to handle the request. Values |
| defined in the Event2 enum of components/payments/core/journey_logger.h. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PaymentRequest.CheckoutEvents"> |
| <owner>rouslan@chromium.org</owner> |
| <owner>web-payments-team@google.com</owner> |
| <metric name="CompletionStatus"> |
| <summary> |
| How the Payment Request ended. Values defined in the CompletionStatus enum |
| of components/payments/core/journey_logger.h. |
| </summary> |
| </metric> |
| <metric name="Events2"> |
| <summary> |
| The 2.0 version of Events. Bitfield representing the events that occurred |
| during the Payment Request. Values defined in the Event2 enum of |
| components/payments/core/journey_logger.h. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PaymentRequest.TransactionAmount"> |
| <owner>rouslan@chromium.org</owner> |
| <owner>web-payments-team@google.com</owner> |
| <metric name="Category"> |
| <summary> |
| Tranaction size can be zero, micro, or regular. Values defined in the |
| TransactionSize enum of components/payments/core/journey_logger.h. |
| </summary> |
| </metric> |
| <metric name="CompletionStatus" enum="Boolean"> |
| <summary> |
| Whether the transaction has been triggered or completed. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Pepper.Broker" singular="True"> |
| <owner>raymes@chromium.org</owner> |
| <summary> |
| Event recorded when a flash instance connects to the broker, resulting in a |
| channel being opened to the broker process. |
| </summary> |
| </event> |
| |
| <event name="PerformanceAPI.LongAnimationFrame"> |
| <owner>nrosenthal@chromium.org</owner> |
| <owner>zuoaoyuan@chromium.org</owner> |
| <summary> |
| This event is associated with the LongAnimationFrame Web Platform API. The |
| metrics are recorded when a long animation frame is detected and reported to |
| the page. For more details see https://crbug.com/1392685. |
| </summary> |
| <metric name="Categorized3PScriptLongAnimationFrameCallbackContributors"> |
| <summary> |
| A bitfield representation of third party technologies who have contributed |
| at least one event/callback script that blocked the long animation frame |
| for more than 5ms. The bitwise fields are defined by ThirdPartyTechnology |
| enum in third_party/blink_renderer/core/timing/third_party_script_info.h. |
| </summary> |
| </metric> |
| <metric |
| name="Categorized3PScriptLongAnimationFrameScriptExecutionContributors"> |
| <summary> |
| A bitfield representation of third party technologies who have contributed |
| at least one script execution block that blocked the long animation frame |
| for more than 5ms. The bitwise fields are defined by ThirdPartyTechnology |
| enum in third_party/blink_renderer/core/timing/third_party_script_info.h. |
| </summary> |
| </metric> |
| <metric name="DidPause" enum="Boolean"> |
| <summary> |
| True if there was a pause (sync XHR, dialog) during the long frame. |
| </summary> |
| </metric> |
| <metric name="Duration.DelayDefer"> |
| <summary> |
| A positive or negative duration in milliseconds, representing the time |
| between the desired time for rendering the frame and rendering it in |
| practice. Positive means delayed, negative means deferred. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Duration.EffectiveBlocking"> |
| <summary> |
| The duration in milliseconds, representing the time the LoAF was blocking. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Duration.LongScript.JSCompilation"> |
| <summary> |
| The total duration of long-script JS compilation, in milliseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Duration.LongScript.JSExecution"> |
| <summary> |
| The total duration of long-script JS execution, not including compilation, |
| in milliseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Duration.LongScript.JSExecution.EventListeners"> |
| <summary> |
| The total duration spent in event listeners (e.g. onclick). |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Duration.LongScript.JSExecution.PromiseHandlers"> |
| <summary> |
| The total duration spent in promise resolve/reject tasks. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Duration.LongScript.JSExecution.ScriptBlocks"> |
| <summary> |
| The total duration spent in script blocks (script element, import) |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Duration.LongScript.JSExecution.UserCallbacks"> |
| <summary> |
| The total duration spent in user callbacks (e.g. requestAnimationFrame). |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Duration.StyleAndLayout.Forced"> |
| <summary> |
| The total duration of forced style and layout in long scripts. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Duration.StyleAndLayout.RenderPhase"> |
| <summary> |
| The total duration of the style and layout lifecycle phase, not including |
| forced style and layout. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Duration.Total"> |
| <summary> |
| The duration of the long animation frame in milliseconds. Mirrors the |
| value reported in PerformanceEntry.duration. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="PerformanceAPI.LongTask"> |
| <owner>hpayer@chromium.org</owner> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>ulan@chromium.org</owner> |
| <summary> |
| This event is associated with the LongTask Web Platform API. The metrics are |
| recorded when a long task is detected and reported to the page. For more |
| details see the design doc linked in https://crbug.com/1173527. |
| </summary> |
| <metric name="Duration"> |
| <summary> |
| The duration of the long task in microseconds. Mirrors the value reported |
| in PerformanceEntry.duration. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Duration.V8.Execute"> |
| <summary> |
| The total time in microseconds that is V8 spent in main-thread V8, |
| including JS-time, but without time spent in callbacks to blink. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Duration.V8.GC"> |
| <summary> |
| The total time in microseconds that V8 spent collecting garbage within the |
| long task. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Duration.V8.GC.Full.Atomic"> |
| <summary> |
| The total time in microseconds that V8 spent in the atomic pause of the |
| full garbage collector within the long task. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Duration.V8.GC.Full.Incremental"> |
| <summary> |
| The total time in microseconds that V8 spent in the incremental pause of |
| the full garbage collector within the long task. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Duration.V8.GC.Young"> |
| <summary> |
| The total time in microseconds that V8 spent in the young garbage |
| collector within the long task. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="StartTime"> |
| <summary> |
| The duration in millseconds between the document navigation start and the |
| long task start. Mirrors the value reported in PerformanceEntry.startTime. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="PerformanceAPI.Memory"> |
| <owner>hpayer@chromium.org</owner> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>ulan@chromium.org</owner> |
| <summary> |
| This event is associated with the performance.measureUserAgentSpecificMemory |
| API. The metrics are recorded when the memory measurement is reported to the |
| page. All values represent memory consumption in KB. |
| </summary> |
| <metric name="Dom"> |
| <summary> |
| The total DOM memory measured in KB. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="JavaScript"> |
| <summary> |
| The total JavaScript memory measured in KB. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="JavaScript.DedicatedWorker"> |
| <summary> |
| The total JavaScript memory in the DedicatedWorker scope measured in KB. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Shared"> |
| <summary> |
| The total shared memory measured in KB. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="PerformanceAPI.Memory.Legacy"> |
| <owner>hpayer@chromium.org</owner> |
| <owner>mlippautz@chromium.org</owner> |
| <owner>ulan@chromium.org</owner> |
| <summary> |
| This event is associated with the performance.memory API. The metrics are |
| recorded when the memory measurement is reported to the page. All values |
| represent memory consumption in KB. |
| </summary> |
| <metric name="JavaScript"> |
| <summary> |
| The JavaScript memory (usedJSHeapSize) measured in KB. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="PerformanceManager.PageResourceUsage2"> |
| <owner>agale@chromium.org</owner> |
| <owner>anthonyvd@chromium.org</owner> |
| <owner>joenotcharles@google.com</owner> |
| <summary> |
| Metrics detailing the estimated resources used by pages. The resources of a |
| renderer process are allocated to all pages hosted in that process using the |
| algorithm in performance_manager::ProcessMetricsDecorator. An event is |
| collected for each open page every 2 minutes, which is the same frequency as |
| the PerformanceMonitor.AverageCPU8.* histograms. |
| </summary> |
| <metric name="BackgroundState" enum="PageMeasurementBackgroundState"> |
| <summary> |
| Whether the page was in the foreground, background, or mixed during the |
| last 2 minutes. |
| </summary> |
| </metric> |
| <metric name="MeasurementAlgorithm" enum="PageMeasurementAlgorithm"> |
| <summary> |
| The algorithm used to estimate the resource usage of the page. If this is |
| missing, the Legacy algorithm was used. |
| </summary> |
| </metric> |
| <metric name="PrivateFootprintEstimate"> |
| <summary> |
| The estimated private footprint of the page, in kilobytes. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="RecentCPUUsage"> |
| <summary> |
| The estimated CPU usage of the page over the last 2 minutes, with 10,000 |
| as 100% usage of 1 full core. (The same scale as the |
| PerformanceMonitor.AverageCPU8.* histograms.) |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ResidentSetSizeEstimate"> |
| <summary> |
| The estimated resident set size of the page, in kilobytes. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="TotalRecentCPUUsageAllPages"> |
| <summary> |
| The sum of the estimated CPU usage of all pages over the last 2 minutes, |
| with 10,000 as 100% usage of 1 full core. (The same scale as the |
| PerformanceMonitor.AverageCPU8.* histograms.) RecentCPUUsage can be |
| compared to this to find how the page compares to other open tabs. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="PeriodicBackgroundSyncEventCompleted"> |
| <owner>nator@chromium.org</owner> |
| <owner>rayankans@chromium.org</owner> |
| <owner>peter@chromium.org</owner> |
| <summary> |
| A website can register to periodically update itself in the background using |
| a service worker. Updates can be done in response to the periodicsync event. |
| Logged when a periodicsync event completes and returns a status. We collect |
| information about retries of this event. |
| </summary> |
| <metric name="MaxAttempts"> |
| <summary> |
| Integer value of the maximum number of allowed retries. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="NumAttempts"> |
| <summary> |
| Integer value of the number of retries / sync events dispatched. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Status" enum="ServiceWorkerEventStatus"> |
| <summary> |
| The enum value of the completion status, defined in |
| blink::ServiceWorkerStatusCode. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PeriodicBackgroundSyncRegistered"> |
| <owner>nator@chromium.org</owner> |
| <owner>rayankans@chromium.org</owner> |
| <owner>peter@chromium.org</owner> |
| <summary> |
| A website can register to periodically update itself in the background using |
| a service worker. Updates can be done in response to the periodicsync event |
| after a periodic Background Sync registration has been created. Logged when |
| a periodic Background Sync registration is created. We collect information |
| about this registration request. |
| </summary> |
| <metric name="IsReregistered" enum="Boolean"> |
| <summary> |
| Boolean for whether a registration with this tag has already been created. |
| </summary> |
| </metric> |
| <metric name="MinIntervalMs"> |
| <summary> |
| Integer value of the minimum interval, in milliseconds, of periodicsync |
| events requested by the origin for this registration. This number is |
| exponentially bucketed and uses the UKM GetExponentialBucketMin method |
| with a value of 2.0 for spacing. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Permission"> |
| <owner>timloh@chromium.org</owner> |
| <summary> |
| Metrics for a user's permission actions, logged when a permission prompt is |
| resolved or when a permission is revoked. Grouped (microphone+camera) |
| permission prompts are reported separately. |
| </summary> |
| <metric name="Action"> |
| <summary> |
| An enum of type PermissionAction. One of GRANTED, DENIED, DISMISSED or |
| IGNORED. |
| </summary> |
| </metric> |
| <metric name="Gesture"> |
| <summary> |
| An enum of type PermissionRequestGestureType, whether the prompt was |
| initiated by a user gesture. |
| </summary> |
| </metric> |
| <metric name="OsPromptScreen" enum="ElementAnchoredBubbleVariant"> |
| <summary> |
| An enum of type ElementAnchoredBubbleVariant. The screen that prompts the |
| user for the OS screen, if applicable. |
| </summary> |
| </metric> |
| <metric name="OsSystemSettingsScreen" enum="ElementAnchoredBubbleVariant"> |
| <summary> |
| An enum of type ElementAnchoredBubbleVariant. The screen that directs the |
| user to the OS Settings, if applicable. |
| </summary> |
| </metric> |
| <metric name="PermissionAutoRevocationHistory" |
| enum="PermissionAutoRevocationHistory"> |
| <summary> |
| An enum of type PermissionAutoRevocationHistory, representing whether the |
| permission has been automatically revoked in the past at least once. |
| </summary> |
| </metric> |
| <metric name="PermissionType"> |
| <summary> |
| An enum of type ContentSettingsType. |
| </summary> |
| </metric> |
| <metric name="PredictionsApiResponse.GrantLikelihood" |
| enum="PredictionGrantLikelihood"> |
| <summary> |
| An enum of type PermissionUmaUtil::PredictionGrantLikelihood describing |
| the likelihood returned by the Web Permission Predictions Service, if the |
| service was successfully queried. |
| </summary> |
| </metric> |
| <metric name="PredictionsApiResponse.Heldback" enum="Boolean"> |
| <summary> |
| A boolean that records whether the response by the permissions prediction |
| service was held back. |
| </summary> |
| </metric> |
| <metric name="PriorDismissals"> |
| <summary> |
| The number of dismissed prompts for the given (origin, permission) pair, |
| capped at 10 dismissals. |
| </summary> |
| </metric> |
| <metric name="PriorIgnores"> |
| <summary> |
| The number of ignored prompts for the given (origin, permission) pair, |
| capped at 10 ignores. |
| </summary> |
| </metric> |
| <metric name="PromptDisposition"> |
| <summary> |
| An enum of type PermissionPromptDisposition. The UI used to display a |
| permission prompt, if any. |
| </summary> |
| </metric> |
| <metric name="PromptDispositionReason" |
| enum="PermissionPromptDispositionReason"> |
| <summary> |
| An enum of type PermissionPromptDispositionReason. The reason why the |
| particular prompt disposition was used, if any. |
| </summary> |
| </metric> |
| <metric name="SatisfiedAdaptiveTriggers"> |
| <summary> |
| A bitmask consisting of flags defined in enum type AdaptiveTriggers. A bit |
| is set if the corresponding adaptive triggering condition has been |
| satisfied at least once in the past for the user. This metric is not |
| recorded for users who don't have the activation dry run enabled. |
| </summary> |
| </metric> |
| <metric name="SiteLevelScreen" enum="ElementAnchoredBubbleVariant"> |
| <summary> |
| An enum of type ElementAnchoredBubbleVariant. The site level screen shown |
| to the user, if any. |
| </summary> |
| </metric> |
| <metric name="Source"> |
| <summary> |
| An enum of type PermissionSourceUI. The UI surface for this action. |
| </summary> |
| </metric> |
| <metric name="Stats.AllPrompts.Count"> |
| <summary> |
| Total number of prompts shown to the user in the last 28 days. The count |
| is bucketed. The bucket minimums being 20, 15, 12, 10, 9, 8, 7, 6, 5, 4 |
| and 0. The correct bucket is the first one that is smaller or equal to the |
| prompt count. |
| </summary> |
| </metric> |
| <metric name="Stats.AllPrompts.DenyRate"> |
| <summary> |
| What percentage of prompts from the last 28 days did the user deny. |
| Aggregated across all origins, all PermissionTypes and all |
| PromptDisposition. Rounded to the nearest 10%. |
| </summary> |
| </metric> |
| <metric name="Stats.AllPrompts.DismissRate"> |
| <summary> |
| What percentage of prompts from the last 28 days did the user dismiss. |
| Aggregated across all origins, all PermissionTypes and all |
| PromptDisposition. Rounded to the nearest 10%. |
| </summary> |
| </metric> |
| <metric name="Stats.AllPrompts.GrantRate"> |
| <summary> |
| What percentage of prompts from the last 28 days did the user grant. |
| Aggregated across all origins, all PermissionTypes and all |
| PromptDisposition. Rounded to the nearest 10%. |
| </summary> |
| </metric> |
| <metric name="Stats.AllPrompts.IgnoreRate"> |
| <summary> |
| What percentage of prompts from the last 28 days did the user ignore. |
| Aggregated across all origins, all PermissionTypes and all |
| PromptDisposition. Rounded to the nearest 10%. |
| </summary> |
| </metric> |
| <metric name="Stats.AllPromptsOfType.Count"> |
| <summary> |
| Total number of prompts shown to the user in the last 28 days for the |
| currently requested permission type. The count is bucketed. The bucket |
| minimums being 20, 15, 12, 10, 9, 8, 7, 6, 5, 4 and 0. The correct bucket |
| is the first one that is smaller or equal to the prompt count. |
| </summary> |
| </metric> |
| <metric name="Stats.AllPromptsOfType.DenyRate"> |
| <summary> |
| What percentage of prompts from the last 28 days did the user deny. |
| Aggregated across all origins, the current requested PermissionType and |
| all PromptDisposition. Rounded to the nearest 10%. |
| </summary> |
| </metric> |
| <metric name="Stats.AllPromptsOfType.DismissRate"> |
| <summary> |
| What percentage of prompts from the last 28 days did the user dismiss. |
| Aggregated across all origins, the current requested PermissionType and |
| all PromptDisposition. Rounded to the nearest 10%. |
| </summary> |
| </metric> |
| <metric name="Stats.AllPromptsOfType.GrantRate"> |
| <summary> |
| What percentage of prompts from the last 28 days did the user grant. |
| Aggregated across all origins, the current requested PermissionType and |
| all PromptDisposition. Rounded to the nearest 10%. |
| </summary> |
| </metric> |
| <metric name="Stats.AllPromptsOfType.IgnoreRate"> |
| <summary> |
| What percentage of prompts from the last 28 days did the user ignore. |
| Aggregated across all origins, the current requested PermissionType and |
| all PromptDisposition. Rounded to the nearest 10%. |
| </summary> |
| </metric> |
| <metric name="Stats.LoudPrompts.Count"> |
| <summary> |
| Total number of loud UI prompts shown to the user in the last 28 days. The |
| count is bucketed. The bucket minimums being 20, 15, 12, 10, 9, 8, 7, 6, 5 |
| ,4 and 0. The correct bucket is the first one that is smaller or equal to |
| the prompt count. |
| </summary> |
| </metric> |
| <metric name="Stats.LoudPrompts.DenyRate"> |
| <summary> |
| What percentage of prompts from the last 28 days did the user deny. |
| Aggregated across all origins, all PermissionTypes and loud UI |
| PromptDispositions only. Rounded to the nearest 10%. |
| </summary> |
| </metric> |
| <metric name="Stats.LoudPrompts.DismissRate"> |
| <summary> |
| What percentage of prompts from the last 28 days did the user dismiss. |
| Aggregated across all origins, all PermissionTypes and loud UI |
| PromptDispositions only. Rounded to the nearest 10%. |
| </summary> |
| </metric> |
| <metric name="Stats.LoudPrompts.GrantRate"> |
| <summary> |
| What percentage of prompts from the last 28 days did the user grant. |
| Aggregated across all origins, all PermissionTypes and loud UI |
| PromptDispositions only. Rounded to the nearest 10%. |
| </summary> |
| </metric> |
| <metric name="Stats.LoudPrompts.IgnoreRate"> |
| <summary> |
| What percentage of prompts from the last 28 days did the user ignore. |
| Aggregated across all origins, all PermissionTypes and loud UI |
| PromptDispositions only. Rounded to the nearest 10%. |
| </summary> |
| </metric> |
| <metric name="Stats.LoudPromptsOfType.Count"> |
| <summary> |
| Total number of loud UI prompts shown to the user in the last 28 days for |
| the currently requested permission type. The count is bucketed. The bucket |
| minimums being 20, 15, 12, 10, 9, 8, 7, 6, 5, 4 and 0. The correct bucket |
| is the first one that is smaller or equal to the prompt count. |
| </summary> |
| </metric> |
| <metric name="Stats.LoudPromptsOfType.DenyRate"> |
| <summary> |
| What percentage of prompts from the last 28 days did the user deny. |
| Aggregated across all origins, currently requested PermissionType and loud |
| UI PromptDispositions only. Rounded to the nearest 10%. |
| </summary> |
| </metric> |
| <metric name="Stats.LoudPromptsOfType.DismissRate"> |
| <summary> |
| What percentage of prompts from the last 28 days did the user dismiss. |
| Aggregated across all origins, currently requested PermissionType and loud |
| UI PromptDispositions only. Rounded to the nearest 10%. |
| </summary> |
| </metric> |
| <metric name="Stats.LoudPromptsOfType.GrantRate"> |
| <summary> |
| What percentage of prompts from the last 28 days did the user grant. |
| Aggregated across all origins, currently requested PermissionType and loud |
| UI PromptDispositions only. Rounded to the nearest 10%. |
| </summary> |
| </metric> |
| <metric name="Stats.LoudPromptsOfType.IgnoreRate"> |
| <summary> |
| What percentage of prompts from the last 28 days did the user ignore. |
| Aggregated across all origins, currently requested PermissionType and loud |
| UI PromptDispositions only. Rounded to the nearest 10%. |
| </summary> |
| </metric> |
| <metric name="TimeToDecision"> |
| <summary> |
| Time (in milliseconds) taken by the user to make a decision on a |
| permission prompt after it was displayed, if at all. Ignoring a prompt |
| doesn't count as a decision. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Permissions.EmbeddedPromptAction"> |
| <owner>hkamila@chromium.org</owner> |
| <owner>andypaicu@chromium.org</owner> |
| <owner>permissions-dev@chromium.org</owner> |
| <summary> |
| Metrics for a user's permission actions for permission prompts triggered by |
| the user clicking on the Embedded Permission Element, logged when a |
| permission prompt is resolved. |
| </summary> |
| <metric name="Action" enum="ElementAnchoredBubbleAction"> |
| <summary> |
| An enum of type ElementAnchoredBubbleAction. One of GRANTED, GRANTED_ONCE, |
| OK, DENIED, DISMISSED, DISMISSED_SCRIM, SYSTEM_SETTINGS or IGNORED. |
| </summary> |
| </metric> |
| <metric name="PermissionType" enum="PermissionRequestType"> |
| <summary> |
| Represents the permission type that the prompt is for. An enum of type |
| ContentSettingsType. |
| </summary> |
| </metric> |
| <metric name="PreviousScreens"> |
| <summary> |
| Represents how many screens have already been shown to the user prior to |
| the current one as part of the permission prompt. Also serves as an order |
| number. Should never be bigger than the number of screen variants. It is |
| recorded as int64_t (upper bound 10). |
| </summary> |
| </metric> |
| <metric name="ScreenPermissionType" enum="PermissionRequestType"> |
| <summary> |
| Represents the permission type that current screen is for. This can |
| sometimes differ from PermissionType when the PermissionType is Multiple, |
| as some screens are designed to only be shown for one permission at a |
| time. An enum of type ContentSettingsType. |
| </summary> |
| </metric> |
| <metric name="Variant" enum="ElementAnchoredBubbleVariant"> |
| <summary> |
| An enum of type ElementAnchoredBubbleVariant. The screen that the user has |
| currently taken action on. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PermissionUsage"> |
| <owner>engedy@chromium.org</owner> |
| <owner>ravjit@chromium.org</owner> |
| <owner>permissions-dev@chromium.org</owner> |
| <summary> |
| Metrics for usage of capabilities gated behind permission prompts. One event |
| is recorded per permission type for each page load that uses that permission |
| type. |
| </summary> |
| <metric name="PermissionType"> |
| <summary> |
| An enum of type ContentSettingsType. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Plugins.FlashInstance"> |
| <owner>tommycli@chromium.org</owner> |
| <summary> |
| Recorded when a Flash object instance is created. |
| </summary> |
| </event> |
| |
| <event name="PlusAddresses.Submission"> |
| <owner>jkeitel@google.com</owner> |
| <owner>vizcay@google.com</owner> |
| <summary> |
| An email was submitted in a form for which the user had previously seen a |
| plus address suggestions. More precisely, this event is recorded whenever a |
| user submits a form that contains a form field for which a plus address |
| suggestion was shown and the form field contains either a plus address or |
| the current profile's GAIA email. |
| </summary> |
| <metric name="CheckoutOrCartPage" enum="Boolean"> |
| <summary> |
| Boolean value representing whether commerce heuristics suggest that the |
| main frame URL belongs to a checkout or a cart page. |
| </summary> |
| </metric> |
| <metric name="FieldCountBrowserForm"> |
| <summary> |
| The number of fields in the browser form. This uses exponential bucketing |
| with a spacing of 1.15. |
| </summary> |
| </metric> |
| <metric name="FieldCountRendererForm"> |
| <summary> |
| The number of fields in the renderer form. This uses exponential bucketing |
| with a spacing of 1.15. |
| </summary> |
| </metric> |
| <metric name="ManagedProfile" enum="Boolean"> |
| <summary> |
| Boolean value representing whether the active profile is managed. |
| </summary> |
| </metric> |
| <metric name="NewlyCreatedPlusAddress" enum="Boolean"> |
| <summary> |
| Boolean value representing whether the submitted email was newly created |
| for this submission. |
| </summary> |
| </metric> |
| <metric name="PasswordFormType" enum="AutofillPasswordFormType"> |
| <summary> |
| The password manager classification of the form focused by the user when |
| showing the plus address suggestion. |
| </summary> |
| </metric> |
| <metric name="PlusAddressCount" enum="PlusAddressCountBucket"> |
| <summary> |
| The (bucketed) number of plus addresses the user had when shown the plus |
| address suggestion. |
| </summary> |
| </metric> |
| <metric name="SubmittedPlusAddress" enum="Boolean"> |
| <summary> |
| Boolean value representing whether the submitted email was a plus address. |
| </summary> |
| </metric> |
| <metric name="SuggestionContext" |
| enum="AutofillPlusAddressDelegateSuggestionContext"> |
| <summary> |
| The context in which the plus address suggestion (filling or creation) was |
| shown in the Autofill UI. |
| </summary> |
| </metric> |
| <metric name="WasShownCreateSuggestion" enum="Boolean"> |
| <summary> |
| Boolean value representing whether the user was offered a suggestion to |
| create a new plus address. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Popup.Closed"> |
| <owner>csharrison@chromium.org</owner> |
| <owner>jkarlin@chromium.org</owner> |
| <summary> |
| A popup window was closed. |
| </summary> |
| <metric name="EngagementTime"> |
| <summary> |
| The time (in ms, rounded down to the nearest power of 2) a popup |
| WebContents is visible / foregrounded, until it is closed. Keyed by the |
| popup opener's URL (not the URL of the popup). |
| </summary> |
| </metric> |
| <metric name="NumActivationInteractions"> |
| <summary> |
| Integer value representing how many mouse down, touch start user, or raw |
| key down interactions the popup had. This is capped at 50. |
| </summary> |
| </metric> |
| <metric name="NumGestureScrollBeginInteractions"> |
| <summary> |
| Integer value representing how many gesture scroll begin user interactions |
| the popup had. This is capped at 50. |
| </summary> |
| </metric> |
| <metric name="NumInteractions"> |
| <summary> |
| Integer value representing how many user interactions the popup had. This |
| is capped at 100. See IsUserInteractionInputType in web_contents_impl for |
| what an interaction is. Currently it is a mouse, scroll begin, touch |
| start, or raw key down event. |
| </summary> |
| </metric> |
| <metric name="RedirectCount"> |
| <summary> |
| The number of redirects taken by the pop-up's initial navigation. This |
| does not include javascript navigations initiated by the opening document |
| for the pop-up. |
| </summary> |
| </metric> |
| <metric name="SafeBrowsingStatus" enum="PopupSafeBrowsingStatus"> |
| <summary> |
| The site's safe browsing status if the pop-up's navigation commits. |
| </summary> |
| </metric> |
| <metric name="Trusted"> |
| <summary> |
| Boolean value representing whether the popup was opened via some trusted |
| event (e.g. context menu, ctrl-click, etc). |
| </summary> |
| </metric> |
| <metric name="UserInitiatedClose"> |
| <summary> |
| Boolean value to represent whether the popup was closed by user gesture. |
| </summary> |
| </metric> |
| <metric name="WindowOpenDisposition" enum="WindowOpenDisposition"> |
| <summary> |
| The UI window open disposition used when creating the web contents of the |
| pop-up. Set by the browser process when the pop up tracker is created. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Popup.Page" singular="True"> |
| <owner>justinmiron@google.com</owner> |
| <summary> |
| Page level pop-up statistics. |
| </summary> |
| <metric name="Allowed" enum="Boolean"> |
| <summary> |
| Whether a user has, explicitly, allowed all popups on the last committed |
| url of a page. The user's site level popup content setting is queried when |
| a page that opened a popup is destroyed. Only emitted when at least one |
| popup has been opened and the last committed page url is valid. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Portal.Activate"> |
| <owner>lfg@chromium.org</owner> |
| <summary> |
| A portal was activated. A portal activation enables a seamless transition |
| between different pages. See the portals explainer for more details: |
| https://github.com/WICG/portals/blob/master/README.md. |
| </summary> |
| <metric name="PaintTiming.PortalActivationToFirstPaint"> |
| <summary> |
| When this page load happened inside a Portal, this metrics records the |
| time in milliseconds between the portal activation and the first paint |
| after activation. |
| </summary> |
| </metric> |
| <metric name="PortalActivation"> |
| <summary> |
| Measures the time between LCP and the portal activation. Uses exponential |
| bucketing with a spacing of 2, with the units in milliseconds. |
| </summary> |
| </metric> |
| <metric name="PortalActivationBeforeLCP" enum="Boolean"> |
| <summary> |
| Indicates whether the portal activation happened before or after the |
| largest contentful paint. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PowerUsageScenariosIntervalData"> |
| <owner>fdoray@chromium.org</owner> |
| <owner>chrome-catan@google.com</owner> |
| <summary> |
| Metrics to measure power consumption in key usage scenarios, as well as the |
| time spent in each scenario. These metrics are reported for a fixed interval |
| of time, the duration of this interval is recorded in the |
| IntervalDurationSeconds metric. |
| |
| The events aren't tied to a specific URL, a timer independent of any load |
| event runs in Chrome and report these events at regular intervals. All the |
| metrics associated to this event are for the last interval. The URL attached |
| to the event is the one that has been visible for the longest time during |
| the interval, the exact visibility duration for this URL during the interval |
| is reported in the URLVisibilityTimeSeconds metric. |
| |
| e.g., at T-0 an interval ends and this event is emitted, a new interval then |
| starts. During the interval the users spends 75% of his time watching a |
| fullscreen video on https://foo.com with 10 tabs opened in background. Just |
| before the end of the interval the user closes all the tabs but one. An |
| event will be emitted for https://foo.com at T+X with the following metrics: |
| IntervalDurationSeconds: X in seconds; URLVisibilityTimeSeconds: 0.75 * X in |
| seconds; FullscreenVideoSingleMonitorSeconds: 0.75 * X in seconds; |
| MaxTabCount: 10; TabClosed: 9; ... (not all metrics are listed here because |
| it'd be too long, but in practice all the metrics are reported for each |
| interval). |
| |
| This is reported on Mac and Windows. See go/chrome_power_use_per_scenario |
| for more details. |
| </summary> |
| <metric name="BatteryDischargeMode" enum="BatteryDischargeMode"> |
| <summary> |
| Battery discharge mode describing whether BatteryDischargeRate could be |
| reported or not, and why. Recorded as enum BatteryDischargeMode in |
| //tools/metrics/histograms/enums.xml. |
| </summary> |
| </metric> |
| <metric name="BatteryDischargeRate"> |
| <summary> |
| Battery discharge rate per minute, with 1/10000 of full charge resolution, |
| example: - Battery capacity = 4000 mAh; - Battery charge at the beginning |
| of the interval: 3900 mAh; - Battery charge at the end of the interval: |
| 3700 mAh; - Discharge proportion: (3900-3700) / 4000 = 0.05 - Reported |
| value: 500. |
| </summary> |
| </metric> |
| <metric name="BrowserShuttingDown" enum="Boolean"> |
| <summary> |
| Indicates if the browser is shutting down when this event is reported. |
| </summary> |
| </metric> |
| <metric name="CPUTimeMs"> |
| <summary> |
| The CPU time spent executing code, across all Chrome processes in the |
| interval. This can exceed 100% in multi-thread processes running on |
| multi-core systems. |
| </summary> |
| </metric> |
| <metric name="DeviceSleptDuringInterval" enum="Boolean"> |
| <summary> |
| Whether or not the device has been sleeping at any point during the |
| interval. |
| </summary> |
| </metric> |
| <metric name="FullscreenVideoSingleMonitorSeconds"> |
| <summary> |
| Time spent playing video in fullscreen, single-monitor. In seconds. This |
| includes video for any tabs during the interval. |
| </summary> |
| </metric> |
| <metric name="IdleWakeUps"> |
| <summary> |
| Sum of idle-wakeups for all Chrome processes (Mac-only). |
| </summary> |
| </metric> |
| <metric name="IntervalDurationSeconds"> |
| <summary> |
| The interval duration, in seconds. |
| </summary> |
| </metric> |
| <metric name="MaxTabCount"> |
| <summary> |
| The maximum number of tabs that existed at the same time during the |
| interval. |
| </summary> |
| </metric> |
| <metric name="MaxVisibleWindowCount"> |
| <summary> |
| The maximum number of windows that have been visible at the same time. |
| </summary> |
| </metric> |
| <metric name="OriginVisibilityTimeSeconds"> |
| <summary> |
| The visibility time for the origin of the URL associated with this event, |
| in seconds. This can differ from URLVisibilityTimeSeconds if there's |
| multiple tabs loaded with the same URL that are visible during the |
| interval. E.g. if there's one tab loaded with foo.com/a visible for 1 |
| second during the interval and one loaded with foo.com/b visible for 2 |
| seconds the report will have URLVisibilityTimeSeconds = 2 seconds and |
| OriginVisibilityTimeSeconds = 3 seconds. This can also exceed the interval |
| duration (e.g. 2 visibles tab with loaded the same origin during the |
| entire interval). |
| </summary> |
| </metric> |
| <metric name="PackageExits"> |
| <summary> |
| Sum of package exits from all Chrome processes (Mac-only). |
| </summary> |
| </metric> |
| <metric name="PlayingAudioSeconds"> |
| <summary> |
| The time spent playing audio in at least one tab, in seconds. |
| </summary> |
| </metric> |
| <metric name="TabClosed"> |
| <summary> |
| The number of tabs that have been closed during the interval. |
| </summary> |
| </metric> |
| <metric name="TimePlayingVideoInVisibleTab"> |
| <summary> |
| The time spent playing video in at least one visible tab, in seconds. |
| </summary> |
| </metric> |
| <metric name="TimeSinceInteractionWithBrowserSeconds"> |
| <summary> |
| The time since the last interaction with the browser when this event gets |
| recorded, in seconds. |
| </summary> |
| </metric> |
| <metric name="TimeSinceInteractionWithSystemSeconds"> |
| <summary> |
| The time since the last interaction with the system when this event gets |
| recorded, in seconds. |
| </summary> |
| </metric> |
| <metric name="TimeWithOpenWebRTCConnectionSeconds"> |
| <summary> |
| The time spent with at least one opened WebRTC connection, in seconds. |
| </summary> |
| </metric> |
| <metric name="TopLevelNavigationEvents"> |
| <summary> |
| Number of main frame different-document navigations. |
| </summary> |
| </metric> |
| <metric name="UptimeSeconds"> |
| <summary> |
| Elapsed time since Chrome has started, in seconds. |
| </summary> |
| </metric> |
| <metric name="URLVisibilityTimeSeconds"> |
| <summary> |
| The visibility time for the URL associated with this event, in seconds. |
| </summary> |
| </metric> |
| <metric name="UserInteractionCount"> |
| <summary> |
| Number of user interaction (scroll, click or typing) during the interval. |
| </summary> |
| </metric> |
| <metric name="VideoCaptureSeconds"> |
| <summary> |
| The time spent capturing video in at least one tab, in seconds. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PrefetchProxy" singular="True"> |
| <owner>curranmax@chromium.org</owner> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>spelchat@chromium.org</owner> |
| <summary> |
| Metrics related to the privacy-preserving prefetch proxy. |
| </summary> |
| <metric name="days_since_last_visit_to_origin"> |
| <summary> |
| The number of days since the user has last visited any page on this |
| origin, either during a redirect or a committed page. Records -1 if the |
| origin has never been visited before. Metrics for origins that have been |
| visited before are capped at 180 then exponentially bucketed into 10 |
| buckets with values (1,2,3,5,9,15,25,42,70,119). Only set when a query |
| result was received from the history service before event recording. |
| </summary> |
| </metric> |
| <metric name="prefetch_attempted_count"> |
| <summary> |
| The number of pages on the Google Search Result Page that were attempted |
| to be prefetched. |
| </summary> |
| </metric> |
| <metric name="prefetch_eligible_count"> |
| <summary> |
| The number of pages on the Google Search Result page that were eligible to |
| be prefetched. |
| </summary> |
| </metric> |
| <metric name="prefetch_successful_count"> |
| <summary> |
| The number of pages on the Google Search Result Page that were |
| successfully prefetched. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PrefetchProxy.AfterSRPClick" singular="True"> |
| <owner>curranmax@chromium.org</owner> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>spelchat@chromium.org</owner> |
| <summary> |
| Metrics related to the privacy-preserving prefetch proxy on the page load |
| after the SRP. Recorded only for eligible users on the first mainframe |
| user-initiated page load immediately after a Google Search Result Page (SRP) |
| which Chrome parsed and may have prefetched links. |
| </summary> |
| <metric name="ClickedLinkSRPPosition"> |
| <summary> |
| When a user clicks on a Google SRP link, this int records which position |
| the clicked link was in. Recorded only when the user navigates to a Google |
| SRP link. |
| </summary> |
| </metric> |
| <metric name="PrefetchHeaderLatencyMs"> |
| <summary> |
| Time between the prefetch request was sent and the time the response |
| headers were received. Unset if the headers have not been received by the |
| time the user navigated to the current page. |
| </summary> |
| </metric> |
| <metric name="PrivatePrefetch"> |
| <summary> |
| This is 1 if the prefetched resource was prefetched via the private |
| prefetch proxy. This is not logged otherwise. |
| </summary> |
| </metric> |
| <metric name="ProbeLatencyMs"> |
| <summary> |
| How long the network probe blocked commit in milliseconds. Recorded only |
| when a probe was required. |
| </summary> |
| </metric> |
| <metric name="SameTabAsPrefetchingTab"> |
| <summary> |
| This is 1 if the page load matching the prefetch was in the same |
| WebContents as the page that triggerd the prefetch. This is not logged |
| otherwise. |
| </summary> |
| </metric> |
| <metric name="SRPClickPrefetchStatus" enum="PrefetchProxyPrefetchStatus"> |
| <summary> |
| The outcome of the prefetch eligibility check and possible attempt to |
| prefetch the resource. The prefetched url is always the committed URL of |
| the page. See |PrefetchProxyPrefetchStatus| for a mapping of enum values |
| and their meanings. |
| </summary> |
| </metric> |
| <metric name="SRPPrefetchEligibleCount"> |
| <summary> |
| The number of links from the SRP page (the previous page load) that were |
| eligible for prefetch. Always set when this event is recorded. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PrefetchProxy.PrefetchedResource"> |
| <owner>curranmax@chromium.org</owner> |
| <owner>ryansturm@chromium.org</owner> |
| <owner>spelchat@chromium.org</owner> |
| <summary> |
| Each event corresponds to a single resource, either mainframe or |
| subresource, that was prefetched during an Isolated Prerender. Logged one or |
| many times on a Google Search Result Page for eligible users. |
| </summary> |
| <metric name="DataLength"> |
| <summary> |
| The bucketed number of bytes that transited the network to prefetch this |
| resource. Only set when the resource was prefetched. |
| </summary> |
| </metric> |
| <metric name="FetchDurationMS"> |
| <summary> |
| The number of milliseconds that the prefetch took from start to |
| completion. Only set when the resource was prefetched. |
| </summary> |
| </metric> |
| <metric name="ISPFilteringStatus" enum="IsolatedPrerenderISPFilteringStatus"> |
| <summary> |
| How ISP filtering interacted with the mainframe resource if it was |
| navigated to. Only set when LinkClicked is true. |
| </summary> |
| </metric> |
| <metric name="LinkClicked" enum="Boolean"> |
| <summary> |
| Whether the mainframe was navigated to. Always set when the event is |
| recorded, even on subresources which take the value from their |
| corresponding mainframe. |
| </summary> |
| </metric> |
| <metric name="LinkPosition"> |
| <summary> |
| The location in the original navigation prediction of where the mainframe |
| url was. Always set when the event is recorded, even on subresources which |
| take the value from their corresponding mainframe. |
| </summary> |
| </metric> |
| <metric name="NavigationStartToFetchStartMS"> |
| <summary> |
| The number of milliseconds between the start of the navigation and the |
| start of the prefetch request. Only set when the resource was attempted to |
| be prefetched. |
| </summary> |
| </metric> |
| <metric name="ResourceType" enum="IsolatedPrerenderPrefetchResourceType"> |
| <summary> |
| The type of resource that was prefetched, either mainframe or subresource. |
| Always set when the event is recorded. |
| </summary> |
| </metric> |
| <metric name="Status" enum="PrefetchProxyPrefetchStatus"> |
| <summary> |
| The outcome of the prefetch eligibility check and possible attempt to |
| prefetch the resource and reuse it. See |PrefetchProxyPrefetchStatus| for |
| a mapping of enum values and their meanings. Always set when the event is |
| recorded. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Preloading.AnchorInteraction"> |
| <owner>jacobstanley@google.com</owner> |
| <owner>curranmax@chromium.org</owner> |
| <owner>chrome-brapp-loading@google.com</owner> |
| <summary> |
| Logged once for each preconnection request sent to the browser in response |
| to the user interacting with an anchor element. Associated with the Source |
| ID of the page triggering the preconnection. |
| </summary> |
| <metric name="AnchorElementPreloaderType" enum="AnchorElementPreloaderType"> |
| <summary> |
| One event for each preload operation that was triggered on the current |
| page. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Preloading.Attempt"> |
| <owner>domenic@chromium.org</owner> |
| <owner>chrome-instant-ecosystem@google.com</owner> |
| <summary> |
| This event is logged for each preloading attempt i.e., for preloading |
| features like Preresolve, Preconnect, Prerender, Prefetch, and others when |
| the user navigates or when the WebContents is being destroyed. |
| |
| Associated with the Source ID of the page user navigates to. Contains |
| information about the type of attempt, its eligibility, triggering outcome, |
| failure reason and whether the attempt was triggered accurately or not. |
| |
| Note that this event is sampled based on the PreloadingConfig feature |
| configuration (in addition to the normal UKM sampling mechanism). The |
| sampling rate for each event (which may vary for different preloading |
| features) is logged in the SamplingLikelihood field. |
| </summary> |
| <metric name="AccurateTriggering" enum="Boolean"> |
| <summary> |
| Whether the preloading operation was triggered accurately for the |
| predicted URL (regardless of the eligibility, failures, etc.). Set to true |
| if the user navigated to the predicted URL. |
| </summary> |
| </metric> |
| <metric name="Eligibility"> |
| <summary> |
| Eligibility status of preloading operation for the prediction. Values are |
| from the Chrome enum content::PreloadingEligibility. |
| </summary> |
| </metric> |
| <metric name="FailureReason"> |
| <summary> |
| Reason why the preloading operation failed. Values are from the enum |
| specific to the preloading type. |
| </summary> |
| </metric> |
| <metric name="HoldbackStatus"> |
| <summary> |
| The outcome of the holdback check. This is not part of eligibility status |
| to make clarify that this check needs to happen after we are done |
| verifying the eligibility of a preloading attempt. In general, eligibility |
| checks can be reordered, but the holdback check always needs to come after |
| verifying that the preloading attempt was eligible. |
| </summary> |
| </metric> |
| <metric name="PrefetchServiceWorkerRegisteredCheck" |
| enum="ServiceWorkerRegisteredCheck"> |
| <summary> |
| Records how many times are we checking if a Service Worker is registered |
| for an origin (fast check) or for a certain path of the origin (slow |
| check) to decide if we are proceeding with a prefetch or not. Enum values |
| would be: OriginOnly and Path. OriginOnly value describes the case when |
| there are no Service Workers registered for the origin and we only need to |
| run the fast check. Path value describes the case when there are Service |
| Workers registered for the origin and we need to do a more expensive path |
| check to find out if the prefetch URL falls under a registered Service |
| Worker. |
| </summary> |
| </metric> |
| <metric name="PrefetchServiceWorkerRegisteredForURLCheckDuration"> |
| <summary> |
| Records how long (in microseconds) does the slow check for a Service |
| Worker being registered for a certain path take when deciding if we are |
| proceeding with a prefetch or not. We expect this check to take up to 2 |
| ms. Exponentially bucketed using GetExponentialBucketMin with a value of |
| 1.15. |
| </summary> |
| </metric> |
| <metric name="PreloadingPredictor"> |
| <summary> |
| The type of preloading predictor which made the prediction. Values are |
| from the Chrome enum content::PreloadingPredictor or |
| ChromePreloadingPredictor. |
| </summary> |
| </metric> |
| <metric name="PreloadingType"> |
| <summary> |
| The type of preloading operation used for the preloading attempt. Values |
| are from the Chrome enum content::PreloadingType. |
| </summary> |
| </metric> |
| <metric name="ReadyTime"> |
| <summary> |
| The amount of time the attempt took to reach a state in which it is ready |
| to be used for the next navigation, in milliseconds. Note: currently only |
| Prefetch, Prerender and NoStatePrefetch have a ready state. This field is |
| only meaningful to these three types of preloading. |
| </summary> |
| </metric> |
| <metric name="SamplingLikelihood"> |
| <summary> |
| The sampling rate of this particular event multiplied by 1,000,000 |
| (because we cannot log floating point values in UKM). A value of 1,000,000 |
| means that the event had a 100% chance of being sampled, whereas a value |
| of one means that the event had a one-in-a-millon chance of being sampled. |
| The sampling rate for preloading attempts is set via field trial through |
| the PreloadingConfig feature. The logged value just represents the |
| configuration used for that preloading attempt. |
| </summary> |
| </metric> |
| <metric name="SpeculationEagerness" enum="SpeculationEagerness"> |
| <summary> |
| The eagerness of the speculation rule that triggered this preload. This is |
| only set if the Preloading Attempt is triggered by a speculation rule. |
| Values are from the Chrome enum blink::mojom::SpeculationEagerness. |
| </summary> |
| </metric> |
| <metric name="TimeToNextNavigation"> |
| <summary> |
| The amount of time the attempt took to reach the next navigation, in |
| milliseconds. This can happen multiple times, but only the first is |
| recorded. |
| </summary> |
| </metric> |
| <metric name="TriggeringOutcome"> |
| <summary> |
| Specifies whether the preloading attempt triggered and was used for the |
| next navigation. Values are from the Chrome enum |
| content::PreloadingTriggeringOutcome. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Preloading.Attempt.PreviousPrimaryPage"> |
| <owner>domenic@chromium.org</owner> |
| <owner>chrome-instant-ecosystem@google.com</owner> |
| <summary> |
| This is same as Preloading.Attempt but UKM is associated with the primary |
| triggering page (if exists) and logged when the user navigates away or when |
| the WebContents is being destroyed. |
| |
| Associated with the Source ID of the WebContents primary page where the |
| preloading attempt is triggered (user navigates from). All the metrics data |
| are similar to Preloading.Attempt and please see the comments for more |
| details. |
| |
| Note that this event is sampled based on the PreloadingConfig feature |
| configuration (in addition to the normal UKM sampling mechanism). The |
| sampling rate for each event (which may vary for different preloading |
| features) is logged in the SamplingLikelihood field. |
| </summary> |
| <metric name="AccurateTriggering" enum="Boolean"> |
| <summary> |
| Whether the preloading operation was triggered accurately (regardless of |
| the eligibility, holdback, failures, etc.). |
| |
| Set to true if the user navigated to the predicted URL. |
| </summary> |
| </metric> |
| <metric name="Eligibility"> |
| <summary> |
| Eligibility status of preloading operation for the prediction. |
| </summary> |
| </metric> |
| <metric name="FailureReason"> |
| <summary> |
| Reason why the preloading operation failed. |
| </summary> |
| </metric> |
| <metric name="HoldbackStatus"> |
| <summary> |
| The outcome of the holdback check. This is not part of eligibility status |
| to make clarify that this check needs to happen after we are done |
| verifying the eligibility of a preloading attempt. In general, eligibility |
| checks can be reordered, but the holdback check always needs to come after |
| verifying that the preloading attempt was eligible. |
| </summary> |
| </metric> |
| <metric name="PrefetchServiceWorkerRegisteredCheck" |
| enum="ServiceWorkerRegisteredCheck"> |
| <summary> |
| Records how many times are we checking if a Service Worker is registered |
| for an origin (fast check) or for a certain path of the origin (slow |
| check) to decide if we are proceeding with a prefetch or not. Enum values |
| would be: OriginOnly and Path. OriginOnly value describes the case when |
| there are no Service Workers registered for the origin and we only need to |
| run the fast check. Path value describes the case when there are Service |
| Workers registered for the origin and we need to do a more expensive path |
| check to find out if the prefetch URL falls under a registered Service |
| Worker. |
| </summary> |
| </metric> |
| <metric name="PrefetchServiceWorkerRegisteredForURLCheckDuration"> |
| <summary> |
| Records how long (in microseconds) does the slow check for a Service |
| Worker being registered for a certain path take when deciding if we are |
| proceeding with a prefetch or not. We expect this check to take up to 2 |
| ms. Exponentially bucketed using GetExponentialBucketMin with a value of |
| 1.15. |
| </summary> |
| </metric> |
| <metric name="PreloadingPredictor"> |
| <summary> |
| The type of predictor that made the prediction. Values are from either |
| content::PreloadingPredictor or ChromePreloadingPredictor. |
| </summary> |
| </metric> |
| <metric name="PreloadingType"> |
| <summary> |
| The type of preloading operation used for the preloading attempt. |
| </summary> |
| </metric> |
| <metric name="ReadyTime"> |
| <summary> |
| The amount of time the attempt took to reach a state in which it is ready |
| to be used for the next navigation, in milliseconds. Note: currently only |
| Prefetch, Prerender and NoStatePrefetch have a ready state. This field is |
| only meaningful to these three types of preloading. |
| </summary> |
| </metric> |
| <metric name="SamplingLikelihood"> |
| <summary> |
| The sampling rate of this particular event multiplied by 1,000,000 |
| (because we cannot log floating point values in UKM). A value of 1,000,000 |
| means that the event had a 100% chance of being sampled, whereas a value |
| of one means that the event had a one-in-a-millon chance of being sampled. |
| The sampling rate for preloading attempts is set via field trial through |
| the PreloadingConfig feature. The logged value just represents the |
| configuration used for that preloading attempt. |
| </summary> |
| </metric> |
| <metric name="SpeculationEagerness" enum="SpeculationEagerness"> |
| <summary> |
| The eagerness of the speculation rule that triggered this preload. This is |
| only set if the Preloading Attempt is triggered by a speculation rule. |
| Values are from the Chrome enum blink::mojom::SpeculationEagerness. |
| </summary> |
| </metric> |
| <metric name="TimeToNextNavigation"> |
| <summary> |
| The amount of time the attempt took to reach the next navigation, in |
| milliseconds. This can happen multiple times, but only the first is |
| recorded. |
| </summary> |
| </metric> |
| <metric name="TriggeringOutcome"> |
| <summary> |
| Specifies whether the preloading triggered and was used for the next |
| navigation. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Preloading.NavigationPredictorModelTrainingData"> |
| <owner>isaboori@google.com</owner> |
| <owner>mcnee@chromium.org</owner> |
| <summary> |
| Metrics that describe an anchor element, the user's interaction therewith, |
| and whether a prediction of a navigation to the target destination would be |
| accurate. This event is emitted on navigation. The number of events emitted |
| at a time depends on the number of predictions the model makes, subject to |
| sampling. See also NavigationPredictorAnchorElementMetrics and |
| NavigationPredictorUserInteractions. |
| </summary> |
| <metric name="ContainsImage"> |
| <summary> |
| 1 if the anchor element contains an image. |
| </summary> |
| </metric> |
| <metric name="FontSize"> |
| <summary> |
| The bucketed font size of the anchor element, according to its computed |
| style. 1 corresponds to a pixel font size in [0, 10), 2 corresponds to a |
| fonts size in [10, 18) and 3 is logged when the font size is 18 pixels or |
| larger. |
| </summary> |
| </metric> |
| <metric name="HasTextSibling"> |
| <summary> |
| 1 if the anchor element has an immediate text sibling, 0 otherwise. |
| </summary> |
| </metric> |
| <metric name="HoverDwellTimeMs"> |
| <summary> |
| Dwell time of pointer hovering over the anchor element in milliseconds. |
| Exponentially bucketed using GetExponentialBucketMin with a value of 1.3. |
| </summary> |
| </metric> |
| <metric name="IsAccurate"> |
| <summary> |
| 1 if a navigation to the anchor's destination occurs. |
| </summary> |
| </metric> |
| <metric name="IsBold"> |
| <summary> |
| 1 if the anchor's computed style's font-weight is greater than 500, 0 |
| otherwise. |
| </summary> |
| </metric> |
| <metric name="IsInIframe"> |
| <summary> |
| 1 if the anchor element is in an iframe. |
| </summary> |
| </metric> |
| <metric name="IsURLIncrementedByOne"> |
| <summary> |
| 1 if the anchor element's target URL and the document's source URL only |
| differ by one number, and the target URL increments that number in the |
| source URL by 1. |
| </summary> |
| </metric> |
| <metric name="NavigationStartToLinkLoggedMs"> |
| <summary> |
| The time in ms between navigation start and the moment the anchor was |
| first seen. Exponentially bucketed using GetExponentialBucketMin with a |
| value of 1.3. |
| </summary> |
| </metric> |
| <metric name="PathDepth"> |
| <summary> |
| The number of slashes in the anchor element's href URL path. Truncated at |
| 5. |
| </summary> |
| </metric> |
| <metric name="PathLength"> |
| <summary> |
| The number of characters in the anchor element's href URL path. Buckets of |
| size 10, truncated at 100. |
| </summary> |
| </metric> |
| <metric name="PercentClickableArea"> |
| <summary> |
| The percent of the total document area that this anchor element's |
| clickable area occupies. |
| </summary> |
| </metric> |
| <metric name="PercentVerticalDistance"> |
| <summary> |
| How far down the document the top of the anchor element is, expressed as a |
| ratio with the total document height. |
| </summary> |
| </metric> |
| <metric name="PointerHoveringOverCount"> |
| <summary> |
| How many times the pointer was hovering over the anchor element. |
| Exponentially bucketed using GetExponentialBucketMin a value of 1.3. |
| </summary> |
| </metric> |
| <metric name="SameHost"> |
| <summary> |
| 1 if the anchor element's target URL and the document's source URL are the |
| same host. |
| </summary> |
| </metric> |
| <metric name="SamplingAmount"> |
| <summary> |
| Indicates whether the number of predictions for the associated page was |
| over a limit and needed to be downsampled. All events for a given page |
| logged at the same time have the same SamplingAmount. The value is the |
| exponentially bucketed value of (1,000,000 - (1,000,000 * sampling_rate)). |
| The multiplication by 1,000,000 is because we cannot log floating point |
| values in UKM, and we have larger values indicate more sampling so that a |
| lack of sampling can be unambiguous by having its own bucket. For example, |
| if the number of predictions was under the limit and no sampling was done, |
| then the value would be 0. If the number of predictions was double the |
| limit, the value would be 500,000. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Preloading.Prediction"> |
| <owner>domenic@chromium.org</owner> |
| <owner>chrome-instant-ecosystem@google.com</owner> |
| <summary> |
| This event is logged for each preloading prediction and metrics related to |
| the preloading predictors like OmniboxDirectURLInput, Speculation Rules and |
| others when the navigation is finished or when the WebContents is being |
| destroyed. |
| |
| Associated with the Source ID of the page user navigates to. Contains |
| information about the type of the predictor, its confidence value and |
| whether the prediction ended up being correct. |
| </summary> |
| <metric name="AccuratePrediction" enum="Boolean"> |
| <summary> |
| Whether the user navigated to the predicted URL. |
| </summary> |
| </metric> |
| <metric name="Confidence"> |
| <summary> |
| The confidence percentage of predictor's correct prediction for |
| preloading. |
| </summary> |
| </metric> |
| <metric name="PreloadingPredictor"> |
| <summary> |
| The type of preloading predictor that made the prediction. Values are from |
| content::PreloadingPredictor or ChromePreloadingPredictor. |
| </summary> |
| </metric> |
| <metric name="SamplingAmount"> |
| <summary> |
| Indicates whether the number of preloading predictions for the associated |
| page was over a limit and needed to be downsampled. All events for a given |
| page logged at the same time have the same SamplingAmount. The value is |
| the exponentially bucketed value of (1,000,000 - (1,000,000 * |
| sampling_rate)). The multiplication by 1,000,000 is because we cannot log |
| floating point values in UKM, and we have larger values indicate more |
| sampling so that a lack of sampling can be unambiguous by having its own |
| bucket. For example, if the number of predictions was under the limit and |
| no sampling was done, then the value would be 0. If the number of |
| predictions was double the limit, the value would be 500,000. |
| </summary> |
| </metric> |
| <metric name="TimeToNextNavigation"> |
| <summary> |
| The amount of time the prediction took to reach the next navigation, in |
| milliseconds. This can happen multiple times, but only the first is |
| recorded. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Preloading.Prediction.PreviousPrimaryPage"> |
| <owner>domenic@chromium.org</owner> |
| <owner>chrome-instant-ecosystem@google.com</owner> |
| <summary> |
| This is the same as Preloading.Prediction but UKM is associated with the |
| WebContents primary triggering page (if exists) and logged when the user |
| navigates away or when the WebContents is being destroyed. |
| |
| Associated with the Source ID of the primary page where the preloading |
| prediction is triggered (user navigates from). All the metrics data are |
| similar to Preloading.Prediction and please see the comments for more |
| details. |
| </summary> |
| <metric name="AccuratePrediction" enum="Boolean"> |
| <summary> |
| Whether the user navigated to the predicted URL. |
| </summary> |
| </metric> |
| <metric name="Confidence"> |
| <summary> |
| The confidence percentage of predictor's correct prediction for |
| preloading. |
| </summary> |
| </metric> |
| <metric name="PreloadingPredictor"> |
| <summary> |
| The type of preloading predictor which made the preloading prediction. |
| Values are from content::PreloadingPredictor or ChromePreloadingPredictor. |
| </summary> |
| </metric> |
| <metric name="SamplingAmount"> |
| <summary> |
| Indicates whether the number of preloading predictions for the associated |
| page was over a limit and needed to be downsampled. All events for a given |
| page logged at the same time have the same SamplingAmount. The value is |
| the exponentially bucketed value of (1,000,000 - (1,000,000 * |
| sampling_rate)). The multiplication by 1,000,000 is because we cannot log |
| floating point values in UKM, and we have larger values indicate more |
| sampling so that a lack of sampling can be unambiguous by having its own |
| bucket. For example, if the number of predictions was under the limit and |
| no sampling was done, then the value would be 0. If the number of |
| predictions was double the limit, the value would be 500,000. |
| </summary> |
| </metric> |
| <metric name="TimeToNextNavigation"> |
| <summary> |
| The amount of time the prediction took to reach the next navigation, in |
| milliseconds. This can happen multiple times, but only the first is |
| recorded. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PrerenderPageLoad" singular="True"> |
| <owner>nhiroki@chromium.org</owner> |
| <owner>chrome-prerendering@google.com</owner> |
| <summary> |
| Metrics related to Prerender2 |
| (https://docs.google.com/document/d/1P2VKCLpmnNm_cRAjUeE-bqLL0bslL_zKqiNeCzNom_w/edit?usp=sharing). |
| </summary> |
| <metric name="FinalStatus" enum="PrerenderHostFinalStatus"> |
| <summary> |
| A status of a prerendering attempt. Recorded as enum |
| PrerenderHostFinalStatus in //tools/metrics/histograms/enums.xml. |
| |
| This is replicated as Prerender.Experimental.PrerenderHostFinalStatus.* in |
| UMA. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="InteractiveTiming.FirstInputDelay4"> |
| <summary> |
| The duration between the hardware timestamp and the start of event |
| processing on the main thread for the first meaningful input. Recorded on |
| the prerender activation. |
| </summary> |
| </metric> |
| <metric name="InteractiveTiming.NumInteractions"> |
| <summary> |
| The number of distinct user interactions on a prerendered page after it is |
| successfully activated. See definition of user interaction: |
| https://web.dev/better-responsiveness-metric/#group-events-into-interactions |
| </summary> |
| </metric> |
| <metric |
| name="InteractiveTiming.UserInteractionLatency.HighPercentile2.MaxEventDuration"> |
| <summary> |
| An approximation of a high percentile of user interaction latency of a |
| prerendered page after it is successfully activated, in ms. For this |
| metric, we measure the latency of user interactions by |
| Responsiveness.UserInteraction.MaxEventDuration. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.country,profile.system_ram"/> |
| <index fields="profile.is_dominant_version"/> |
| <index fields="profile.is_latest_version"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="InteractiveTiming.WorstUserInteractionLatency.MaxEventDuration"> |
| <summary> |
| The maximum value of user interaction latency of a prerendered page after |
| it is successfully activated, in ms. For this metric, we measure the |
| latency of user interactions by |
| Responsiveness.UserInteraction.MaxEventDuration. |
| </summary> |
| </metric> |
| <metric |
| name="LayoutInstability.MaxCumulativeShiftScore.SessionWindow.Gap1000ms.Max5000ms"> |
| <summary> |
| Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that |
| has occurred on the prerendered page that is successfully activated in a |
| session window. The gap between two consecutive shifts in a window is not |
| bigger than 1000ms and the maximum window size is 5000ms. This metric's |
| integral value is 100x the fractional cumulative layout shift score |
| described in the explainer. |
| </summary> |
| </metric> |
| <metric name="MainFrameResource.RequestHasNoStore" enum="Boolean"> |
| <summary> |
| A boolean indicating if any prerender activation page load mainpage |
| resource has a 'Cache-control: no-store' response header. Recorded only |
| for main frame request. |
| </summary> |
| </metric> |
| <metric name="Navigation.InitiatorLocation"> |
| <summary> |
| page_load_metrics::NavigationHandleUserData::InitiatorLocation enum value. |
| This field is used for identifying the types of prerender trigger. |
| </summary> |
| </metric> |
| <metric name="Navigation.PageTransition"> |
| <summary> |
| The |ui::PageTransition| for the main frame navigation that this activated |
| prerendering navigation fulfilled. |
| </summary> |
| </metric> |
| <metric name="Timing.ActivationToFirstContentfulPaint"> |
| <summary> |
| The duration in milliseconds from time of activation navigation start to |
| the time when the page first paints content. A contentful paint includes a |
| paint of text, image, SVG, or canvas. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Timing.ActivationToLargestContentfulPaint"> |
| <summary> |
| The duration in milliseconds from time of activation navigation start to |
| the time when the page first paints the largest content (text or image) |
| within viewport, across all frames. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Timing.NavigationToActivation"> |
| <summary> |
| The duration in milliseconds from the start of initial prerendering |
| navigation to the start of activation navigation. This corresponds to the |
| activationStart attribute of PerformanceNavigationTiming. |
| </summary> |
| </metric> |
| <metric name="TriggeredPrerender" enum="Boolean"> |
| <summary> |
| A boolean that is set to true if the page triggered prerendering. |
| |
| Unlike other PrerenderPageLoad metrics, this is recorded not for |
| prerendered page loads, but for page loads that initiated prerender. |
| </summary> |
| </metric> |
| <metric name="WasPrerendered" enum="Boolean"> |
| <summary> |
| A boolean that is set to true if the page was prerendered and later |
| activated. Cancelled prerender page loads are not logged. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Presentation.StartResult"> |
| <owner>muyaoxu@google.com</owner> |
| <owner>openscreen-eng@google.com</owner> |
| <summary> |
| Records when users start a Presentation and receive a response from the |
| receiver. Android only. The following failures are not recorded because they |
| don't represent an actual error: (1) |
| PresentationErrorType::PRESENTATION_REQUEST_CANCELLED This error is created |
| when users close the dialog without starting a Presentation. (2) |
| PresentationErrorType::NO_PRESENTATION_FOUND This error might happen when a |
| website implementing CastSDK try to join a route every time the page loads. |
| </summary> |
| <metric name="PresentationRequest" enum="Boolean"> |
| <summary> |
| Records whether the users' request to start a Presentation with a |
| "cast:" presentation URL succeed. |
| </summary> |
| </metric> |
| <metric name="RemotePlayback" enum="Boolean"> |
| <summary> |
| Records whether the users' request to start a Presentation through |
| RemotePlayback succeed. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="PWA.Visit" singular="True"> |
| <owner>yfriedman@chromium.org</owner> |
| <owner>hartmanng@chromium.org</owner> |
| <owner>pkotwicz@chromium.org</owner> |
| <summary> |
| PWA usage metrics recorded during a user's interaction with the site. |
| </summary> |
| <metric name="LaunchSource" enum="LaunchFromHomeScreenSource"> |
| <summary> |
| Launch source of the WebAPK (tap from homescreen, WebShareTarget, |
| deeplink, etc). |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="WebAPKableSiteVisit" enum="Boolean"> |
| <summary> |
| Recorded every time a non-installed "WebAPKable" site is |
| visited. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="RedirectHeuristic.CookieAccess2"> |
| <owner>amaliev@chromium.org</owner> |
| <owner>dc-komics@google.com</owner> |
| <summary> |
| Recorded when a top-level page has its cookies accessed by another page |
| earlier in its redirect chain. |
| </summary> |
| <metric name="AccessAllowed" enum="Boolean"> |
| <summary> |
| Whether the cookie access attempt is allowed, or blocked by a third-party |
| cookie block. |
| </summary> |
| </metric> |
| <metric name="AccessId"> |
| <summary> |
| A random integer to identify this cookie access and associate this event |
| with a RedirectHeuristic.CookieAccessThirdParty2 event. |
| </summary> |
| </metric> |
| <metric name="DoesFirstPartyPrecedeThirdParty" enum="Boolean"> |
| <summary> |
| Whether this top-level site appeared in the tab history (or current |
| navigation) directly before the third party. Used to check for an A-B-A |
| site flow that may narrow the heuristic. |
| </summary> |
| </metric> |
| <metric name="HoursSinceLastInteraction"> |
| <summary> |
| The number of hours before the cookie access that the user last interacted |
| with the tracking site. Clamped to 60 days at most, and rounded down to |
| the nearest exponential bucket (out of 50 buckets). Set to -1 if there has |
| never been a user interaction from the tracking site. |
| </summary> |
| </metric> |
| <metric name="IsAdTagged" enum="IsAdTagged"> |
| <summary> |
| Whether the cookie access attempt was tagged as an ad cookie, and thus |
| exempt from mitigations including heuristics. |
| </summary> |
| </metric> |
| <metric name="IsCurrentInteraction" enum="Boolean"> |
| <summary> |
| Whether there was a user interaction on the tracking site when it was |
| loaded in the current redirect chain. |
| </summary> |
| </metric> |
| <metric name="MillisecondsSinceRedirect"> |
| <summary> |
| The number of milliseconds between the redirect to the cookie access. |
| Clamped to 15 minutes at most, and rounded down to the nearest exponential |
| bucket (out of 50 buckets). |
| </summary> |
| </metric> |
| <metric name="OpenerHasSameSiteIframe" enum="HasSameSiteIframe"> |
| <summary> |
| "True" iff the target page contains an iframe whose URL belongs |
| to the same registrable domain as the tracker page. "Unknown" if |
| the presence of an iframe could not be determined. |
| </summary> |
| </metric> |
| <metric name="SitesPassedCount"> |
| <summary> |
| The number of top-level sites redirected through between the initial |
| tracking page and the final page whose cookies are accessed. Capped at 20 |
| sites. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="RedirectHeuristic.CookieAccessThirdParty2"> |
| <owner>amaliev@chromium.org</owner> |
| <owner>dc-komics@google.com</owner> |
| <summary> |
| Recorded when a top-level page accesses cookies on another page later in its |
| redirect chain. |
| </summary> |
| <metric name="AccessId"> |
| <summary> |
| A random integer to identify this cookie access and associate this event |
| with a RedirectHeuristic.CookieAccess2 event. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="RendererSchedulerTask"> |
| <owner>altimin@chromium.org</owner> |
| <summary> |
| Sampled task from the renderer main thread. Sample rate is controlled |
| dynamically. See |
| blink::scheduler::MainThreadSchedulerImpl::ShouldRecordTaskUkm. |
| </summary> |
| <metric name="FrameStatus"> |
| <summary> |
| Frame status of the frame associated with the context of this task. See |
| blink::scheduler::FrameStatus for the values of this enum. |
| </summary> |
| </metric> |
| <metric name="IsOOPIF"> |
| <summary> |
| Whether the frame which the task is associated with is an out-of-process |
| iframe. Boolean encoded as an integer (0/1). |
| </summary> |
| </metric> |
| <metric name="PageSchedulers"> |
| <summary> |
| Number of page schedulers in this process. If the value equals one, global |
| per-process tasks can be attributed to the URL. |
| </summary> |
| </metric> |
| <metric name="QueueType"> |
| <summary> |
| Type of the task queue which this task was posted to. See |
| blink::scheduler::MainThreadTaskQueue::TaskType for the values of this |
| enum. |
| </summary> |
| </metric> |
| <metric name="RendererAudible"> |
| <summary> |
| Whether renderer was playing audio when this task was completed. Boolean, |
| encoded as an integer (0/1). |
| </summary> |
| </metric> |
| <metric name="RendererBackgrounded"> |
| <summary> |
| Whether renderer was backgrounded when this task was completed. Boolean, |
| encoded as an integer (0/1). |
| </summary> |
| </metric> |
| <metric name="RendererHidden"> |
| <summary> |
| Whether renderer was hidden when this task was completed. Boolean, encoded |
| as an integer (0/1). |
| </summary> |
| </metric> |
| <metric name="SecondsSinceBackgrounded"> |
| <summary> |
| Seconds since the renderer was backgrounded, recorded when the task was |
| completed. Only set if the renderer is backgrounded. |
| </summary> |
| </metric> |
| <metric name="TaskCPUDuration"> |
| <summary> |
| CPU duration of this task in microseconds. |
| </summary> |
| </metric> |
| <metric name="TaskDuration"> |
| <summary> |
| Duration of this task in microseconds. |
| </summary> |
| </metric> |
| <metric name="TaskType"> |
| <summary> |
| blink::TaskType for the current task. |
| </summary> |
| </metric> |
| <metric name="ThreadType"> |
| <summary> |
| blink::ThreadType for the thread the current task was executed on. |
| </summary> |
| </metric> |
| <metric name="UseCase"> |
| <summary> |
| MainThreadSchedulerImpl's UseCase when this task was completed. See |
| blink::scheduler::UseCase for the values of this enum. |
| </summary> |
| </metric> |
| <metric name="Version"> |
| <summary> |
| The version of this metric, which is used to track the actual set of |
| values present across different builds and channels. Hardcoded into the |
| binary and incremented each time a new field is added or existing is |
| changed. Integer. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="RenderViewContextMenu.Used"> |
| <owner>juanmojica@google.com</owner> |
| <owner>benwgold@google.com</owner> |
| <summary> |
| Metric recorded when a context menu item is selected. This is currently only |
| recorded for Lens context menu items. |
| </summary> |
| <metric name="SelectedMenuItem" enum="RenderViewContextMenuItem"> |
| <summary> |
| The menu item selected by the user on the context menu. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Responsiveness.UserInteraction"> |
| <owner>mmocny@chromium.org</owner> |
| <owner>sullivan@chromium.org</owner> |
| <owner>speed-metrics-dev@chromium.org</owner> |
| <summary> |
| Metrics that are associated with user interactions and recorded when users |
| interact with web pages. Currently we are interested in keyboard, tap, click |
| and drag. A user interaction often encompasses multiple input events. For |
| keyboard interactions, we only care about keydown and keyup. For tap, click |
| and drag, we only measure pointerdown, pointerup and click. |
| </summary> |
| <metric name="InteractionType" enum="UserInteractionType"> |
| <summary> |
| The type of the user interaction that triggered input event sequence, not |
| the input event type. It can be keyboard, tap, click or drag. |
| </summary> |
| </metric> |
| <metric name="MaxEventDuration"> |
| <summary> |
| The longest input event duration within the user interaction. The unit of |
| duration is ms. For example, if a user pressed a key, we can get a keydown |
| and a keyup. If the duration(keydown) > duration(keyup), the value of |
| this metric will be duration(keydown). |
| </summary> |
| </metric> |
| <metric name="TotalEventDuration"> |
| <summary> |
| The sum of input event durations within the user interaction without |
| double counting the overlap. The unit of duration is ms. For example, if a |
| user pressed a key, we can get a keydown and a keyup. The value of this |
| metric will be duration(keydown) + duration(keyup) - |
| duration(intersection(keydown, keyup)). |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="ResponsivenessMeasurement"> |
| <owner>npm@chromium.org</owner> |
| <owner>tdresser@chromium.org</owner> |
| <summary> |
| Responsiveness metrics recorded once every 5 seconds. |
| </summary> |
| </event> |
| |
| <event name="SafeBrowsingInterstitial"> |
| <owner>skrakowi@chromium.org</owner> |
| <owner>chrome-counter-abuse-core@google.com</owner> |
| <summary> |
| Records that the user encountered a Safe Browsing interstitial and whether |
| they proceeded past the interstitial, bypassing the warning. |
| </summary> |
| <metric name="Bypassed" enum="Boolean"> |
| <summary> |
| A boolean signaling that the user bypassed the interstitial; only records |
| true values. This event gets logged right when a user clicks to proceed on |
| the Safe Browsing interstitial UI. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Shown" enum="Boolean"> |
| <summary> |
| A boolean signaling that the interstitial was shown to the user; only |
| records true values. This event gets logged right when the Safe Browsing |
| interstitial is shown to the user. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="SalientImageAvailability" singular="True"> |
| <owner>chrome-intelligence-core@google.com</owner> |
| <owner>tbansal@chromium.org</owner> |
| <summary> |
| Metrics on the salient image of the page, one record per page load commit |
| and has an annotation calculated on it. |
| </summary> |
| <metric name="ImageAvailability" |
| enum="OptimizationGuideSalientImageAvailability"> |
| <summary> |
| Records whether salient image was available or not for this page, the |
| source of the salient image and why it was unavailable. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="SameSiteDifferentSchemeRequest"> |
| <owner>bingler@chromium.org</owner> |
| </event> |
| |
| <event name="SameSiteDifferentSchemeResponse"> |
| <owner>bingler@chromium.org</owner> |
| </event> |
| |
| <event name="SamesiteRedirectContextDowngrade"> |
| <owner>bingler@chromium.org</owner> |
| <summary> |
| A collection of metrics which are recorded for cookies whose inclusion would |
| be changed if the redirect chain was considered in their same-site |
| calculation. This change in inclusion is because the same-site context would |
| "downgrade" from a more permissive context to a less permissive |
| context, one which may not allow a cookie's inclusion. |
| </summary> |
| <metric name="AgePerCookie"> |
| <summary> |
| Records the age of the cookies, in minutes, for cookies which are being |
| read (on a requset or via JS). The value rounded down to the exponential |
| bucket with factor of 2.0. |
| </summary> |
| </metric> |
| <metric name="SamesiteValueReadPerCookie" enum="SameSiteCookieValue"> |
| <summary> |
| Records the SameSite value of the cookie for cookies which are being read |
| (on a request or via JS). |
| </summary> |
| </metric> |
| <metric name="SamesiteValueWritePerCookie" enum="SameSiteCookieValue"> |
| <summary> |
| Records the SameSite value of the cookie for cookies which are being |
| written (on a response or via JS). |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="SchemefulSameSiteContextDowngrade"> |
| <owner>bingler@chromium.org</owner> |
| <metric name="RequestPerCookie" |
| enum="SameSiteCookieContextBreakingDowngradeWithSecureness"> |
| <summary> |
| An enum which records the type of schemeful same-site downgrade applied to |
| a cookie which is being sent on a request along with the secureness of the |
| origin the cookie is attempting to be sent to. This is recorded once per |
| cookie when the cookie is included in the request or if the cookie |
| excluded due to insufficient same-site context only. Cookies that meet the |
| above conditions but without a downgrade warning are not recorded. |
| </summary> |
| </metric> |
| <metric name="ResponsePerCookie" |
| enum="SameSiteCookieContextBreakingDowngradeWithSecureness"> |
| <summary> |
| An enum which records the type of schemeful same-site downgrade applied to |
| a cookie which is being set by a response along with the secureness of the |
| origin that is attempting to set the cookie. This is recorded once per |
| cookie when the cookie is allowed to be set or if the cookie is ignored |
| due to insufficient same-site context only. Cookies that meet the above |
| conditions but without a downgrade warning are not recorded. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="ScreenBrightness"> |
| <owner>pdyson@chromium.org</owner> |
| <summary> |
| Collects metrics periodically and on screen brightness change. |
| </summary> |
| <metric name="BatteryPercent"> |
| <summary> |
| Percentage of battery, rounded down to a multiple of 5%, i.e. [0, 5%) is |
| mapped to 0, [5%, 10%) is mapped to 5 etc. |
| </summary> |
| </metric> |
| <metric name="Brightness"> |
| <summary> |
| Screen percentage brightness. between 0 and 100. |
| </summary> |
| </metric> |
| <metric name="DayOfWeek"> |
| <summary> |
| An enum representing the of the week that the data was logged, defined in |
| |ash::power::ml::ScreenBrightnessEvent::Features::ActivityData:: |
| DayOfWeek|. |
| </summary> |
| </metric> |
| <metric name="DeviceMode"> |
| <summary> |
| An enum representing the mode of the device, defined in |
| |ash::power::ml::ScreenBrightnessEvent::Features::EnvData:DeviceMode| |
| </summary> |
| </metric> |
| <metric name="HourOfDay"> |
| <summary> |
| The hour of the day when the data is logged. Hours since midnight in the |
| local time zone. |
| </summary> |
| </metric> |
| <metric name="IsAutoclickEnabled"> |
| <summary> |
| Boolean value to represent whether the auto click is currently enabled. |
| </summary> |
| </metric> |
| <metric name="IsBrailleDisplayConnected"> |
| <summary> |
| Boolean value to represent whether the braille display is currently |
| enabled. |
| </summary> |
| </metric> |
| <metric name="IsCaretHighlightEnabled"> |
| <summary> |
| Boolean value to represent whether the caret highlight is currently |
| enabled. |
| </summary> |
| </metric> |
| <metric name="IsCursorHighlightEnabled"> |
| <summary> |
| Boolean value to represent whether the cursor highlight is currently |
| enabled. |
| </summary> |
| </metric> |
| <metric name="IsFocusHighlightEnabled"> |
| <summary> |
| Boolean value to represent whether the focus highlight is currently |
| enabled. |
| </summary> |
| </metric> |
| <metric name="IsHighContrastEnabled"> |
| <summary> |
| Boolean value to represent whether the high contrast is currently enabled. |
| </summary> |
| </metric> |
| <metric name="IsLargeCursorEnabled"> |
| <summary> |
| Boolean value to represent whether the large cursor is currently enabled. |
| </summary> |
| </metric> |
| <metric name="IsMagnifierEnabled"> |
| <summary> |
| Boolean value to represent whether the full screen magnifier is currently |
| enabled. |
| </summary> |
| </metric> |
| <metric name="IsMonoAudioEnabled"> |
| <summary> |
| Boolean value to represent whether the mono audio is currently enabled. |
| </summary> |
| </metric> |
| <metric name="IsSelectToSpeakEnabled"> |
| <summary> |
| Boolean value to represent whether select to speak is currently enabled. |
| </summary> |
| </metric> |
| <metric name="IsSpokenFeedbackEnabled"> |
| <summary> |
| Boolean value to represent whether the spoken feedback is currently |
| enabled. |
| </summary> |
| </metric> |
| <metric name="IsSwitchAccessEnabled"> |
| <summary> |
| Boolean value to represent whether Switch Access is currently enabled. |
| </summary> |
| </metric> |
| <metric name="IsVideoPlaying"> |
| <summary> |
| Boolean value to represent whether video is currently playing. |
| </summary> |
| </metric> |
| <metric name="IsVirtualKeyboardEnabled"> |
| <summary> |
| Boolean value to represent whether the virtual keyboard is currently |
| enabled. |
| </summary> |
| </metric> |
| <metric name="LastActivityTimeSec"> |
| <summary> |
| Time between the last activity and when the data was logged. A duration |
| timestamp in seconds. |
| </summary> |
| </metric> |
| <metric name="NightLightTemperaturePercent"> |
| <summary> |
| The temperature percentage of night light screen color adjustment when |
| night light is on. Ranges from 0 to 100. |
| </summary> |
| </metric> |
| <metric name="NumRecentKeyEvents"> |
| <summary> |
| The number of keyboard events in the last hour. |
| </summary> |
| </metric> |
| <metric name="NumRecentMouseEvents"> |
| <summary> |
| The number of mouse events in the last hour. |
| </summary> |
| </metric> |
| <metric name="NumRecentStylusEvents"> |
| <summary> |
| The number of stylus events in the last hour. |
| </summary> |
| </metric> |
| <metric name="NumRecentTouchEvents"> |
| <summary> |
| The number of touch events in the last hour. |
| </summary> |
| </metric> |
| <metric name="OnBattery"> |
| <summary> |
| Boolean value to represent whether the device is currently on battery |
| power. |
| </summary> |
| </metric> |
| <metric name="PreviousBrightness"> |
| <summary> |
| The brightness of the screen prior to the time at which the current event |
| was logged. |
| </summary> |
| </metric> |
| <metric name="Reason"> |
| <summary> |
| The reason that the event is logged. Values are enumerated in |
| |ash::power::ml::ScreenBrightnessEvent::Event::Reason|. |
| </summary> |
| </metric> |
| <metric name="RecentTimeActiveSec"> |
| <summary> |
| How long the user has been active. A duration timestamp in seconds. |
| </summary> |
| </metric> |
| <metric name="SequenceId"> |
| <summary> |
| The ID of this event in the current session. |
| </summary> |
| </metric> |
| <metric name="TimeSinceLastEventSec"> |
| <summary> |
| Time in seconds since last time an event was logged. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Security.SafetyTip"> |
| <owner>jdeblasio@chromium.org</owner> |
| <owner>enamelites@google.com</owner> |
| <owner>beggs@google.com</owner> |
| <summary> |
| Collected when any safety tip heuristic triggers, regardless of whether the |
| Safety Tip UI is shown. |
| </summary> |
| <metric name="SafetyTipInteraction" enum="SafetyTipInteraction"> |
| <summary> |
| How the user interacted with the UI, if applicable. |
| </summary> |
| </metric> |
| <metric name="SafetyTipStatus" enum="SafetyTipStatus"> |
| <summary> |
| The final reported Safety Tip status. |
| </summary> |
| </metric> |
| <metric name="TriggeredKeywordsHeuristics" enum="Boolean"> |
| <summary> |
| Whether the sensitive keywords heuristic triggered. |
| </summary> |
| </metric> |
| <metric name="TriggeredLookalikeHeuristics" enum="Boolean"> |
| <summary> |
| Whether the lookalike keywords heuristic triggered. |
| </summary> |
| </metric> |
| <metric name="TriggeredServerSideBlocklist" enum="Boolean"> |
| <summary> |
| Whether the server-side blocklist heuristic triggered. |
| </summary> |
| </metric> |
| <metric name="UserPreviouslyIgnored" enum="Boolean"> |
| <summary> |
| Whether the user had already ignored a safety tip warning for this page in |
| the past, meaning no tip was shown. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Security.SiteEngagement"> |
| <owner>cthomp@chromium.org</owner> |
| <owner>enamelites@google.com</owner> |
| <summary> |
| Site engagement score behavior for a page with a given Security Level. |
| </summary> |
| <metric name="FinalSecurityLevel"> |
| <summary> |
| The final SecurityLevel of the page before it is closed or another |
| navigation occurs. Based on the enum security_state::SecurityLevel. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="InitialSecurityLevel"> |
| <summary> |
| The initial SecurityLevel of the page when the navigation commits. Based |
| on the enum security_state::SecurityLevel. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SafetyTipStatus" enum="SafetyTipStatus"> |
| <summary> |
| The Safety Tip status of the page when the navigation commits, after the |
| reputation check finishes. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ScoreDelta"> |
| <summary> |
| The change in Site Engagement score for the page before it is closed or |
| another navigation occurs compared to the score from when the navigation |
| committed. Score is between 0.0 and 100.0; delta is between -100.0 and |
| 100.0. Rounded to the nearest integer. |
| </summary> |
| </metric> |
| <metric name="ScoreFinal"> |
| <summary> |
| The final Site Engagement score for the page before it is closed or |
| another navigation occurs. Score is between 0.0 and 100.0; this metric is |
| rounded down to a multiple of 10 to limit granularity. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Segmentation.ModelExecution"> |
| <owner>nyquist@chromium.org</owner> |
| <owner>qinmin@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <summary> |
| Input and output tensors for executing the ML model identified by |
| optimization targets and version. The input tensors can come from UMA or |
| UKM, with or without aggregation. Check model metadata for more information |
| about each tensor. Since all the ML tensors are floats, they are encoded |
| into int64 and will be decoded later during model training. This metric is |
| recorded after an ML model is executed, and the actual result is collected. |
| </summary> |
| <metric name="ActualResult"> |
| <summary> |
| UMA or UKM metrics related to the features affected by the ML model, with |
| or without aggregation, after running the features as instructed by the ML |
| model. For example, this can be the 7 day total button clicks after an ML |
| model decides to show it. No encoding is used as this is normally a count |
| or sum of a UMA/UKM metric. |
| </summary> |
| </metric> |
| <metric name="ActualResult2"> |
| <summary> |
| The 2nd UMA or UKM metrics related to the features affected by the ML |
| model, with or without aggregation, after running the features as |
| instructed by the ML model. No encoding is used. |
| </summary> |
| </metric> |
| <metric name="ActualResult3"> |
| <summary> |
| The 3rd UMA or UKM metrics related to the features affected by the ML |
| model, with or without aggregation, after running the features as |
| instructed by the ML model. No encoding is used. |
| </summary> |
| </metric> |
| <metric name="ActualResult4"> |
| <summary> |
| The 4th UMA or UKM metrics related to the features affected by the ML |
| model, with or without aggregation, after running the features as |
| instructed by the ML model. No encoding is used. |
| </summary> |
| </metric> |
| <metric name="ActualResult5"> |
| <summary> |
| The 5th UMA or UKM metrics related to the features affected by the ML |
| model, with or without aggregation, after running the features as |
| instructed by the ML model. No encoding is used. |
| </summary> |
| </metric> |
| <metric name="ActualResult6"> |
| <summary> |
| The 6th UMA or UKM metrics related to the features affected by the ML |
| model, with or without aggregation, after running the features as |
| instructed by the ML model. No encoding is used. |
| </summary> |
| </metric> |
| <metric name="Input0"> |
| <summary> |
| The input tensor at index 0 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input1"> |
| <summary> |
| The input tensor at index 1 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input10"> |
| <summary> |
| The input tensor at index 10 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input11"> |
| <summary> |
| The input tensor at index 11 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input12"> |
| <summary> |
| The input tensor at index 12 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input13"> |
| <summary> |
| The input tensor at index 13 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input14"> |
| <summary> |
| The input tensor at index 14 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input15"> |
| <summary> |
| The input tensor at index 15 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input16"> |
| <summary> |
| The input tensor at index 16 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input17"> |
| <summary> |
| The input tensor at index 17 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input18"> |
| <summary> |
| The input tensor at index 18 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input19"> |
| <summary> |
| The input tensor at index 19 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input2"> |
| <summary> |
| The input tensor at index 2 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input20"> |
| <summary> |
| The input tensor at index 20 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input21"> |
| <summary> |
| The input tensor at index 21 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input22"> |
| <summary> |
| The input tensor at index 22 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input23"> |
| <summary> |
| The input tensor at index 23 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input24"> |
| <summary> |
| The input tensor at index 24 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input25"> |
| <summary> |
| The input tensor at index 25 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input26"> |
| <summary> |
| The input tensor at index 26 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input27"> |
| <summary> |
| The input tensor at index 27 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input28"> |
| <summary> |
| The input tensor at index 28 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input29"> |
| <summary> |
| The input tensor at index 29 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input3"> |
| <summary> |
| The input tensor at index 3 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input30"> |
| <summary> |
| The input tensor at index 30 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input31"> |
| <summary> |
| The input tensor at index 31 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input32"> |
| <summary> |
| The input tensor at index 32 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input33"> |
| <summary> |
| The input tensor at index 33 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input34"> |
| <summary> |
| The input tensor at index 34 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input35"> |
| <summary> |
| The input tensor at index 35 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input36"> |
| <summary> |
| The input tensor at index 36 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input37"> |
| <summary> |
| The input tensor at index 37 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input38"> |
| <summary> |
| The input tensor at index 38 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input39"> |
| <summary> |
| The input tensor at index 39 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input4"> |
| <summary> |
| The input tensor at index 4 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input40"> |
| <summary> |
| The input tensor at index 40 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input41"> |
| <summary> |
| The input tensor at index 41 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input42"> |
| <summary> |
| The input tensor at index 42 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input43"> |
| <summary> |
| The input tensor at index 43 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input44"> |
| <summary> |
| The input tensor at index 44 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input45"> |
| <summary> |
| The input tensor at index 45 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input46"> |
| <summary> |
| The input tensor at index 46 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input47"> |
| <summary> |
| The input tensor at index 47 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input48"> |
| <summary> |
| The input tensor at index 48 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input49"> |
| <summary> |
| The input tensor at index 49 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input5"> |
| <summary> |
| The input tensor at index 5 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input6"> |
| <summary> |
| The input tensor at index 6 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input7"> |
| <summary> |
| The input tensor at index 7 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input8"> |
| <summary> |
| The input tensor at index 8 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="Input9"> |
| <summary> |
| The input tensor at index 9 represented in IEEE 754 double precision. |
| </summary> |
| </metric> |
| <metric name="ModelVersion"> |
| <summary> |
| The version of the ML model used for execution. May not be a counter int. |
| </summary> |
| </metric> |
| <metric name="OptimizationTarget"> |
| <summary> |
| The OptimizationTarget associated with the ML model. This is an enum for |
| classifying different ML models. It represents what an model is trying to |
| optimize. |
| </summary> |
| </metric> |
| <metric name="OutputDelaySec"> |
| <summary> |
| The time from last segment selection to when the UKM is recorded, in |
| seconds. |
| </summary> |
| </metric> |
| <metric name="PredictionResult"> |
| <summary> |
| Predicted result from executing the ML model. This is normally a score for |
| determining whether to show a particular feature. The value is a floating |
| number between 0 to 1 and encoded into IEEE 754 double precision here. |
| This is being deprecated. Use PredictionResult1 instead. Will add |
| deprecated flag once all the code are start using PredictionResult1. |
| </summary> |
| </metric> |
| <metric name="PredictionResult1"> |
| <summary> |
| The 1st output when inferencing the ML model with input data. The value is |
| a floating number between 0 to 1 and encoded into IEEE 754 double |
| precision here. |
| </summary> |
| </metric> |
| <metric name="PredictionResult10"> |
| <summary> |
| The 10th output when inferencing the ML model with input data. The value |
| is a floating number between 0 to 1 and encoded into IEEE 754 double |
| precision here. |
| </summary> |
| </metric> |
| <metric name="PredictionResult2"> |
| <summary> |
| The 2nd output when inferencing the ML model with input data. The value is |
| a floating number between 0 to 1 and encoded into IEEE 754 double |
| precision here. |
| </summary> |
| </metric> |
| <metric name="PredictionResult3"> |
| <summary> |
| The 3rd output when inferencing the ML model with input data. The value is |
| a floating number between 0 to 1 and encoded into IEEE 754 double |
| precision here. |
| </summary> |
| </metric> |
| <metric name="PredictionResult4"> |
| <summary> |
| The 4th output when inferencing the ML model with input data. The value is |
| a floating number between 0 to 1 and encoded into IEEE 754 double |
| precision here. |
| </summary> |
| </metric> |
| <metric name="PredictionResult5"> |
| <summary> |
| The 5th output when inferencing the ML model with input data. The value is |
| a floating number between 0 to 1 and encoded into IEEE 754 double |
| precision here. |
| </summary> |
| </metric> |
| <metric name="PredictionResult6"> |
| <summary> |
| The 6th output when inferencing the ML model with input data. The value is |
| a floating number between 0 to 1 and encoded into IEEE 754 double |
| precision here. |
| </summary> |
| </metric> |
| <metric name="PredictionResult7"> |
| <summary> |
| The 7th output when inferencing the ML model with input data. The value is |
| a floating number between 0 to 1 and encoded into IEEE 754 double |
| precision here. |
| </summary> |
| </metric> |
| <metric name="PredictionResult8"> |
| <summary> |
| The 8th output when inferencing the ML model with input data. The value is |
| a floating number between 0 to 1 and encoded into IEEE 754 double |
| precision here. |
| </summary> |
| </metric> |
| <metric name="PredictionResult9"> |
| <summary> |
| The 9th output when inferencing the ML model with input data. The value is |
| a floating number between 0 to 1 and encoded into IEEE 754 double |
| precision here. |
| </summary> |
| </metric> |
| <metric name="SelectionResult"> |
| <summary> |
| The OptimizationTarget of the last selected segment before UKM is |
| recorded. Some features might have several ML models with them. This |
| metric records which model is currently selected for the feature. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="ServiceWorker.MainResourceLoadCompleted"> |
| <owner>suzukikeita@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Events taken when the main resource is loaded. This only occurs when the |
| static routing API is used. |
| </summary> |
| <metric name="ActualRouterSourceType" enum="ServiceWorkerRouterSourceType"> |
| <summary> |
| The actual router source type for Static Routing API. This indicates which |
| source type was actually used to get the resource. This will be recorded |
| only when the router has matched the incoming resource. |
| </summary> |
| </metric> |
| <metric name="MatchedFirstRouterSourceType" |
| enum="ServiceWorkerRouterSourceType"> |
| <summary> |
| The result of the router evaluation of the Static Routing API. This |
| indicates which source type is specified to get the resource. This will be |
| recorded only when the router has matched the incoming resource. |
| </summary> |
| </metric> |
| <metric name="RouterEvaluationTime"> |
| <summary> |
| Time spent for the SW static routing API router evaluation to handle a |
| request. Recorded when the service worker has associated routing info, and |
| the browser or renderer is processing requests. Duration in units of micro |
| seconds. |
| </summary> |
| </metric> |
| <metric name="RouterRuleCount"> |
| <summary> |
| The sum of registered router rules with the Static Routing API in main |
| resource. Recorded per navigation when the service worker, which has |
| associated routing info, is activated. This is rounded down to the nearest |
| exponential bucket (with a bucket ratio on 1.15). |
| </summary> |
| </metric> |
| <metric name="WorkerStatusOnEvaluation" enum="ServiceWorkerStatus"> |
| <summary> |
| ServiceWorker running status at the time when router evaluation is |
| conducted. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="ServiceWorker.OnLoad"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Events taken at the end of the loading pages controlled by the service |
| workers. It means that the metrics is recorded only if the loading is |
| successfully completed. |
| </summary> |
| <metric name="AudioFallback"> |
| <summary> |
| True if there are network fallback sub-resources of audios in the page. |
| (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="AudioHandled"> |
| <summary> |
| True if there are service workers handling sub-resource loads of audios in |
| the page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="CSSStyleSheetFallback"> |
| <summary> |
| True if there are network fallback sub-resources of CSSStyleSheet in the |
| page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="CSSStyleSheetHandled"> |
| <summary> |
| True if there are service workers handling sub-resource loads of |
| CSSStyleSheet in the page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="DictionaryFallback"> |
| <summary> |
| True if there are network fallback sub-resources of Dictionary in the |
| page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="DictionaryHandled"> |
| <summary> |
| True if there are service workers handling sub-resource loads of |
| Dictionary in the page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="FontFallback"> |
| <summary> |
| True if there are network fallback sub-resources of CSSStyleSheet in the |
| page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="FontHandled"> |
| <summary> |
| True if there are service workers handling sub-resource loads of fonts in |
| the page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="ImageFallback"> |
| <summary> |
| True if there are network fallback sub-resources of images in the page. |
| (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="ImageHandled"> |
| <summary> |
| True if there are service workers handling sub-resource loads of images in |
| the page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="LinkPrefetchFallback"> |
| <summary> |
| True if there are network fallback sub-resources of link prefetches in the |
| page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="LinkPrefetchHandled"> |
| <summary> |
| True if there are service workers handling sub-resource loads of link |
| prefetches in the page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="MainAndSubResourceLoadLocation" |
| enum="ServiceWorkerResourceLoadStatus"> |
| <summary> |
| Enum value to represent how main / sub resource are loaded. |
| </summary> |
| </metric> |
| <metric name="ManifestFallback"> |
| <summary> |
| True if there are network fallback sub-resources of manifests in the page. |
| (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="ManifestHandled"> |
| <summary> |
| True if there are service workers handling sub-resource loads of manifests |
| in the page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="MatchedCacheRouterSourceCount"> |
| <summary> |
| Total number of sub-resources which were matched to |
| `RouterSourceEnum.cache` in ServiceWorker Static Routing API, from |
| navigation start until onload event. This is rounded down to the nearest |
| exponential bucket (with a bucket ratio on 1.15). |
| </summary> |
| </metric> |
| <metric name="MatchedFetchEventRouterSourceCount"> |
| <summary> |
| Total number of sub-resources which were matched to |
| `RouterSourceEnum.fetch-event` in ServiceWorker Static Routing API, from |
| navigation start until onload event. This is rounded down to the nearest |
| exponential bucket (with a bucket ratio on 1.15). |
| </summary> |
| </metric> |
| <metric name="MatchedNetworkRouterSourceCount"> |
| <summary> |
| Total number of sub-resources which were matched to |
| `RouterSourceEnum.network` in ServiceWorker Static Routing API, from |
| navigation start until onload event. This is rounded down to the nearest |
| exponential bucket (with a bucket ratio on 1.15). |
| </summary> |
| </metric> |
| <metric name="MatchedRaceNetworkAndFetchRouterSourceCount"> |
| <summary> |
| Total number of sub-resources which were matched to the |
| `RouterSourceEnum.race-network-and-fetch-handler` in ServiceWorker Static |
| Routing API, from navigation start till onload event. This is rounded down |
| to the nearest exponential bucket (with a bucket ratio on 1.15). |
| </summary> |
| </metric> |
| <metric name="ScriptFallback"> |
| <summary> |
| True if there are network fallback sub-resources of CSSStyleSheet in the |
| page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="ScriptHandled"> |
| <summary> |
| True if there are service workers handling sub-resource loads of scripts |
| in the page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="SpeculationRulesFallback"> |
| <summary> |
| True if there are network fallback sub-resources of speculation rules in |
| the page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="SpeculationRulesHandled"> |
| <summary> |
| True if there are service workers handling sub-resource loads of |
| speculation rules in the page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="SubResourceFallbackRatio"> |
| <summary> |
| An integer ratio (0 - 100) to represent the ratio of network fallbacks |
| from the total subresource load. |
| </summary> |
| </metric> |
| <metric name="SVGDocumentFallback"> |
| <summary> |
| True if there are network fallback sub-resources of SVG documents in the |
| page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="SVGDocumentHandled"> |
| <summary> |
| True if there are service workers handling sub-resource loads of SVG |
| documents in the page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="TextTrackFallback"> |
| <summary> |
| True if there are network fallback sub-resources of text tracks in the |
| page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="TextTrackHandled"> |
| <summary> |
| True if there are service workers handling sub-resource loads of text |
| tracks in the page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="TotalSubResourceFallback"> |
| <summary> |
| The number of network fallbacks during sub resource load. This is rounded |
| down to the nearest exponential bucket (with a bucket ratio on 1.15). |
| </summary> |
| </metric> |
| <metric name="TotalSubResourceLoad"> |
| <summary> |
| The number of all sub resource load of the page controlled by the service |
| worker. This is rounded down to the nearest exponential bucket (with a |
| bucket ratio on 1.15). |
| </summary> |
| </metric> |
| <metric name="VideoFallback"> |
| <summary> |
| True if there are network fallback sub-resources of videos in the page. |
| (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="VideoHandled"> |
| <summary> |
| True if there are service workers handling sub-resource loads of videos in |
| the page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="XSLStyleSheetFallback"> |
| <summary> |
| True if there are network fallback sub-resources of XSLStyleSheet in the |
| page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| <metric name="XSLStyleSheetHandled"> |
| <summary> |
| True if there are service workers handling sub-resource loads of |
| XSLStyleSheet in the page. (boolean value. true: 1 or false: 0) |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="SharedHighlights.LinkGenerated"> |
| <owner>jeffreycohen@chromium.org</owner> |
| <owner>chrome-creation@google.com</owner> |
| <summary> |
| Event representing the user action of selecting a piece of text on a page |
| and selecting the option to create a link which would contain the necessary |
| text fragment information to link back to this specific part of the page. |
| </summary> |
| <metric name="Error" enum="LinkGenerationError"> |
| <summary> |
| Record the type of error which prevented a successful link generation. |
| Only recorded if the link creation failed. |
| </summary> |
| </metric> |
| <metric name="Success" enum="Boolean"> |
| <summary> |
| Whether the generation of a link with text fragments was successful or |
| not. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="SharedHighlights.LinkGenerated.Requested"> |
| <owner>jeffreycohen@chromium.org</owner> |
| <owner>chrome-creation@google.com</owner> |
| <summary> |
| Event representing the user action of selecting a piece of text on a page |
| and selecting the option to create a link which would contain the necessary |
| text fragment information to link back to this specific part of the page. |
| </summary> |
| <metric name="Error" enum="LinkGenerationError"> |
| <summary> |
| Record the type of error which prevented offering link to text to user. |
| Only recorded if the link was not offered to the user. |
| </summary> |
| </metric> |
| <metric name="Success" enum="Boolean"> |
| <summary> |
| Whether the link with text fragments was successful offered to the user or |
| not. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="SharedHighlights.LinkOpened" singular="true"> |
| <owner>jeffreycohen@chromium.org</owner> |
| <owner>chrome-creation@google.com</owner> |
| <summary> |
| Event representing the browser action of highlighting (incl. scroll-to) text |
| fragments that were part of the URL. This happens only once during page |
| load. |
| </summary> |
| <metric name="Source" enum="TextFragmentLinkOpenSource"> |
| <summary> |
| Record the type of source for the current navigation, which has text |
| fragments. At the moment, this maps to identifying whether the source is a |
| known search engine or not. |
| </summary> |
| </metric> |
| <metric name="Success" enum="Boolean"> |
| <summary> |
| Whether the highlighting of a set of text fragments was a complete success |
| or not. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Sharing.ClickToCall"> |
| <owner>knollr@chromium.org</owner> |
| <summary> |
| Collected when a user finishes a Click to Call journey. |
| </summary> |
| <metric name="EntryPoint" enum="SharingClickToCallEntryPoint"> |
| <summary> |
| Specifies the entry point of the user journey (i.e. left click, right |
| click, text selection). |
| </summary> |
| </metric> |
| <metric name="HasApps" enum="Boolean"> |
| <summary> |
| Boolean value indicating whether any (>0) apps are available that the |
| call could be sent to. |
| </summary> |
| </metric> |
| <metric name="HasDevices" enum="Boolean"> |
| <summary> |
| Boolean value indicating whether any (>0) devices are available that |
| the call could be sent to. These belong to the same account and are |
| running Android. |
| </summary> |
| </metric> |
| <metric name="Selection" enum="SharingClickToCallSelection"> |
| <summary> |
| Whether the user selected a device, an app or nothing (i.e. dismissal) in |
| the user interface. For some entry points this might always be the same |
| value (e.g. right clicks always select devices). |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Shopping.AddToCartDetection"> |
| <owner>wychen@chromium.org</owner> |
| <owner>yuezhanggg@chromium.org</owner> |
| <summary> |
| Metrics related to DOM-based AddToCart button detection in ChromeCart. |
| </summary> |
| <metric name="HeuristicsExecutionTime"> |
| <summary> |
| Logged when DOM-based AddToCart button detection heuristic is executed and |
| records the execution time. This is expressed in microseconds. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Shopping.CartExtraction"> |
| <owner>wychen@chromium.org</owner> |
| <owner>yuezhanggg@chromium.org</owner> |
| <summary> |
| Metrics related to performance of cart content extraction in ChromeCart. |
| </summary> |
| <metric name="ExtractionElapsedTime"> |
| <summary> |
| Logged when cart content extraction is executed for ChromeCart and records |
| the elapsed time within the JavaScript, so script parsing/compilation time |
| is excluded. Shopping.CartExtraction.ExtractionExecutionTime is measured |
| in native, and is the end-to-end elapsed time. This is expressed in |
| milliseconds. |
| </summary> |
| </metric> |
| <metric name="ExtractionExecutionTime"> |
| <summary> |
| Logged when cart content extraction is executed for ChromeCart and records |
| the elapsed time between the start and the end of the extraction |
| JavaScript request execution. This includes script parsing/compilation |
| time and sleeping time. This is expressed in milliseconds. |
| </summary> |
| </metric> |
| <metric name="ExtractionLongestTaskTime"> |
| <summary> |
| Logged when cart content extraction is executed for ChromeCart and records |
| the time span of the longest task blocking the main thread of the renderer |
| process. This is expressed in milliseconds. |
| </summary> |
| </metric> |
| <metric name="ExtractionTimedOut" enum="Boolean"> |
| <summary> |
| Logged when cart content extraction is executed for ChromeCart and records |
| whether the cart content extraction has timed out. |
| </summary> |
| </metric> |
| <metric name="ExtractionTotalTasksTime"> |
| <summary> |
| Logged when cart content extraction is executed for ChromeCart and records |
| the time spent on execution, excluding sleeping time. This is expressed in |
| milliseconds. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Shopping.ChromeCart"> |
| <owner>wychen@chromium.org</owner> |
| <owner>yuezhanggg@chromium.org</owner> |
| <summary> |
| Metrics related to Chrome cart module in Chrome NTP. |
| </summary> |
| <metric name="VisitCart" enum="Boolean"> |
| <summary> |
| Always true. Recorded when users have visited cart page from Chrome cart |
| module. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Shopping.FormSubmitted"> |
| <owner>wychen@chromium.org</owner> |
| <owner>yuezhanggg@chromium.org</owner> |
| <summary> |
| Recorded when user submits a form. |
| </summary> |
| <metric name="IsTransaction" enum="Boolean"> |
| <summary> |
| Whether the form submission is a shopping transaction. This has 50% chance |
| randomized. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Shopping.MerchantTrust.DataAvailable"> |
| <owner>zhiyuancai@chromium.org</owner> |
| <owner>ayman@chromium.org</owner> |
| <summary> |
| Recorded when user finishes a navigation while the merchant trust data is |
| available. |
| </summary> |
| <metric name="DataAvailable" enum="Boolean"> |
| <summary> |
| A boolean signaling that data is available. Only records true values. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Shopping.MerchantTrust.MessageClicked"> |
| <owner>zhiyuancai@chromium.org</owner> |
| <owner>ayman@chromium.org</owner> |
| <summary> |
| Recorded when a merchant trust message is clicked by the user. |
| </summary> |
| <metric name="HasOccurred" enum="Boolean"> |
| <summary> |
| A boolean signaling that message is clicked. Only records true values. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Shopping.MerchantTrust.MessageSeen"> |
| <owner>zhiyuancai@chromium.org</owner> |
| <owner>ayman@chromium.org</owner> |
| <summary> |
| Recorded when a merchant trust message is displayed to the user. |
| </summary> |
| <metric name="HasOccurred" enum="Boolean"> |
| <summary> |
| A boolean signaling that message is displayed. Only records true values. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Shopping.MerchantTrust.RowClicked"> |
| <owner>zhiyuancai@chromium.org</owner> |
| <owner>ayman@chromium.org</owner> |
| <summary> |
| Recorded when a store info row in trusted surface is clicked by the user. |
| </summary> |
| <metric name="HasOccurred" enum="Boolean"> |
| <summary> |
| A boolean signaling that store info row is clicked. Only records true |
| values. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Shopping.MerchantTrust.RowSeen"> |
| <owner>zhiyuancai@chromium.org</owner> |
| <owner>ayman@chromium.org</owner> |
| <summary> |
| Recorded when a store info row in trusted surface is displayed to the user. |
| </summary> |
| <metric name="HasOccurred" enum="Boolean"> |
| <summary> |
| A boolean signaling that store info row is displayed. Only records true |
| values. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Shopping.PDPStateWithLocalInfo"> |
| <owner>yuezhanggg@chromium.org</owner> |
| <owner>mdjones@chromium.org</owner> |
| <summary> |
| Records if and how a page has been determined to be a product details page. |
| It is recorded per eligible navigation (e.g. limited to main frame |
| navigation, http/https check, etc), and is recorded after the page has |
| finished loading. |
| </summary> |
| <metric name="PDPState" enum="ShoppingPDPDetectionMethod"> |
| <summary> |
| The state of if and how the page has been determined to be a product |
| details page. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Shopping.ShoppingAction"> |
| <owner>yuezhanggg@chromium.org</owner> |
| <owner>mdjones@chromium.org</owner> |
| <summary> |
| Recorded when an user takes action on shopping features in Chrome in the |
| current page. |
| </summary> |
| <metric name="DiscountCopied" enum="Boolean"> |
| <summary> |
| Whether the user has clicked in the discount bubble to copy the discount |
| code. |
| </summary> |
| </metric> |
| <metric name="DiscountOpened" enum="Boolean"> |
| <summary> |
| Whether the user has clicked and expanded the discount bubble in omnibox. |
| </summary> |
| </metric> |
| <metric name="PriceInsightsOpened" enum="Boolean"> |
| <summary> |
| Whether the user has clicked the page action entry point to request to |
| show the price insights. |
| </summary> |
| </metric> |
| <metric name="PriceTracked" enum="Boolean"> |
| <summary> |
| Whether the user has tracked the product on the current page using any of |
| the on-page entry points. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Shopping.ShoppingInformation"> |
| <owner>yuezhanggg@chromium.org</owner> |
| <owner>mdjones@chromium.org</owner> |
| <summary> |
| Recorded when an user navigates to a shopping-related page and reports |
| shopping-related information about this page. |
| </summary> |
| <metric name="HasDiscount" enum="Boolean"> |
| <summary> |
| Whether a discount from Chrome is available for this page. |
| </summary> |
| </metric> |
| <metric name="HasPriceInsights" enum="Boolean"> |
| <summary> |
| Whether price insights is available for this page. |
| </summary> |
| </metric> |
| <metric name="IsPriceTrackable" enum="Boolean"> |
| <summary> |
| Whether the page is price trackable. |
| </summary> |
| </metric> |
| <metric name="IsShoppingContent" enum="Boolean"> |
| <summary> |
| Whether the page is classified as shopping content. |
| </summary> |
| </metric> |
| <metric name="PromotedFeature" enum="ShoppingContextualFeature"> |
| <summary> |
| Which, if any, contextual shopping feature is promoted in expanded state |
| or in-product highlight. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Shopping.WillSendRequest"> |
| <owner>wychen@chromium.org</owner> |
| <owner>yuezhanggg@chromium.org</owner> |
| <summary> |
| Recorded when an XHR is about to be sent. |
| </summary> |
| <metric name="IsAddToCart" enum="Boolean"> |
| <summary> |
| Whether the XHR is to add a product to a shopping cart. This has 50% |
| chance randomized. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Site.Install"> |
| <owner>dibyapal@chromium.org</owner> |
| <owner>pwa-team@google.com</owner> |
| <summary> |
| Records various metrics about whether a particular site has been installed |
| as a PWA or not. |
| </summary> |
| <metric name="IsFullyInstalled" enum="Boolean"> |
| <summary> |
| Measured if the site matches the scope of any installed PWAs present in |
| the profile. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="IsPartiallyInstalled" enum="Boolean"> |
| <summary> |
| Measured if the app is partially installed via sync. This means that the |
| user has installed the app on another device, and it exists in their sync |
| profile, but it is not 'fully' installed on this device. This is expected |
| to be a strong signal that the user will want to install the app fully on |
| this device, as they already have it installed elsewhere. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Site.Manifest"> |
| <owner>dibyapal@chromium.org</owner> |
| <owner>pwa-team@google.com</owner> |
| <summary> |
| Records various signals regarding the fields present inside a manifest. If |
| the DisplayMode is undefined, HasStartUrl is kEmpty, and all the other |
| fields are false, then that denotes a site that has no manifest. For all |
| other use-cases, the existence of a manifest is confirmed. |
| </summary> |
| <metric name="DisplayMode" enum="WebAppDisplayMode"> |
| <summary> |
| Records the display mode populated inside the manifest as per the manifest |
| specifications. If it does not exist, this is measured as Undefined. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="HasBackgroundColor" enum="NullableBoolean"> |
| <summary> |
| Records whether the manifest has the background_color field populated. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="HasIconsAny" enum="NullableBoolean"> |
| <summary> |
| Records whether the manifest has icons of purpose ANY. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="HasIconsMaskable" enum="NullableBoolean"> |
| <summary> |
| Records whether the manifest has maskable icons. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="HasName" enum="NullableBoolean"> |
| <summary> |
| Records whether the manifest has the name field populated. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="HasScreenshots" enum="NullableBoolean"> |
| <summary> |
| Records whether the manifest has valid screenshots specified. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="HasStartUrl" enum="ManifestUrlValidity"> |
| <summary> |
| Records whether the manifest has a valid URL in the start_url field. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="HasThemeColor" enum="NullableBoolean"> |
| <summary> |
| Records whether the manifest has the theme_color field populated. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Site.Quality"> |
| <owner>dibyapal@chromium.org</owner> |
| <owner>pwa-team@google.com</owner> |
| <summary> |
| Records various signals about a site that boost its chances of being |
| installed as a web app, like valid fetch handlers (boosting offline |
| capabilities), service worker data usage and whether the site has favicons. |
| </summary> |
| <metric name="CacheStorageSize"> |
| <summary> |
| Measures the service worker cache storage size as determined by the Quota |
| system for a site in bytes. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="HasFavicons" enum="Boolean"> |
| <summary> |
| Records whether the site has non-default favicons or not. Non-default |
| favicons are those which are either explicitly set in the client side, or |
| are icons obtained from the manifest. The default favicon set by chrome, |
| that follows document_url/favicon.ico is not counted as part of this |
| metric. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="HasFetchHandler" enum="Boolean"> |
| <summary> |
| Records if the service worker exists and has a valid fetch handler. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ServiceWorkerScriptSize"> |
| <summary> |
| Measured the size of the service worker script in bytes. If the service |
| worker does not exist, then a script size of 0 is measured. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="SiteInstance"> |
| <owner>bashi@chromium.org</owner> |
| <owner>chrome-site-isolation@google.com</owner> |
| <summary> |
| Records how likely a tab can share processes with other tabs. |
| </summary> |
| <metric name="NewProcessUsedForNavigationWhenSameSiteProcessExists" |
| enum="Boolean"> |
| <summary> |
| Records whether a new process is used for navigation when there are other |
| same site process(es). Recorded for the outer-most main frame navigation |
| when navigation is committed (cross-origin redirects are not recorded). |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="SmartCharging"> |
| <owner>thanhdng@chromium.org</owner> |
| <owner>jiameng@chromium.org</owner> |
| <summary> |
| Records user activities that are related to charging such as battery |
| percentage, time, device type, etc. |
| </summary> |
| <metric name="BatteryPercentage"> |
| <summary> |
| Percentage of the battery. |
| </summary> |
| </metric> |
| <metric name="BatteryPercentageBeforeLastCharge"> |
| <summary> |
| The percentage of the battery at the beginning of the last charge. |
| </summary> |
| </metric> |
| <metric name="BatteryPercentageOfLastCharge"> |
| <summary> |
| The percentage of the battery that the last charge reached. |
| </summary> |
| </metric> |
| <metric name="DayOfMonth"> |
| <summary> |
| Event's day of the month (e.g. 1-31) in local time zone. |
| </summary> |
| </metric> |
| <metric name="DayOfWeek" enum="DayOfWeek"> |
| <summary> |
| Event's day of the week in local time zone. Sunday is 0. |
| </summary> |
| </metric> |
| <metric name="DeviceMode"> |
| <summary> |
| Mode of the device (e.g. closed lid, tablet). |
| </summary> |
| </metric> |
| <metric name="DeviceType"> |
| <summary> |
| Type of the device (e.g. laptop, tablet). |
| </summary> |
| </metric> |
| <metric name="DurationOfLastCharge"> |
| <summary> |
| Duratioin of the last time the device was charged in minutes. |
| </summary> |
| </metric> |
| <metric name="DurationRecentAudioPlaying"> |
| <summary> |
| Duration of audio playing in the last 30 minutes (bucketized and in |
| minutes). |
| </summary> |
| </metric> |
| <metric name="DurationRecentVideoPlaying"> |
| <summary> |
| Duration of video playing in the last 30 minutes (bucketized and in |
| minutes). |
| </summary> |
| </metric> |
| <metric name="EventId"> |
| <summary> |
| A unique number that represent order of an event. |
| </summary> |
| </metric> |
| <metric name="HaltFromLastCharge" enum="Boolean"> |
| <summary> |
| Whether there's any shutdown/suspend actions between the last charge and |
| current event. |
| </summary> |
| </metric> |
| <metric name="IsCharging" enum="Boolean"> |
| <summary> |
| Whether the device is being charged or not. |
| </summary> |
| </metric> |
| <metric name="Month" enum="Month"> |
| <summary> |
| Event's month (e.g. Jan-Dec) in local time zone. January is 1. |
| </summary> |
| </metric> |
| <metric name="NumRecentKeyEvents"> |
| <summary> |
| Number of key events in past 30 minutes. |
| </summary> |
| </metric> |
| <metric name="NumRecentMouseEvents"> |
| <summary> |
| Number of mouse events in past 30 minutes. |
| </summary> |
| </metric> |
| <metric name="NumRecentStylusEvents"> |
| <summary> |
| Number of stylus events in past 30 minutes. |
| </summary> |
| </metric> |
| <metric name="NumRecentTouchEvents"> |
| <summary> |
| Number of touch events in past 30 minutes. |
| </summary> |
| </metric> |
| <metric name="Reason" enum="SmartChargingReason"> |
| <summary> |
| Reason for the logging of an event. |
| </summary> |
| </metric> |
| <metric name="ScreenBrightnessPercent"> |
| <summary> |
| Brightness of the screen in percent. |
| </summary> |
| </metric> |
| <metric name="TimeOfTheDay"> |
| <summary> |
| Time of the event in minutes since midnight in the local time zone. |
| </summary> |
| </metric> |
| <metric name="TimeSinceLastCharge"> |
| <summary> |
| Time since the last time user unplugged the charger in minutes. |
| </summary> |
| </metric> |
| <metric name="TimezoneDifferenceFromLastCharge"> |
| <summary> |
| Timezone difference from the last charge. It is equal to current_timezone |
| - timezone_from_last_charge. The valid range of time zone value will be |
| -12 (UTC -12:00) to +14 (UTC +14:00). |
| </summary> |
| </metric> |
| <metric name="Voltage"> |
| <summary> |
| Charge voltage in mV. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="SMSReceiver"> |
| <owner>goto@chromium.org</owner> |
| <owner>reillyg@chromium.org</owner> |
| <owner>ayui@chromium.org</owner> |
| <owner>yigu@chromium.org</owner> |
| <summary> |
| Records performance metrics for SMSReceiver API. |
| </summary> |
| <metric name="IsCrossOriginFrame" enum="Boolean"> |
| <summary> |
| Flag indicating whether the report comes from a cross-origin frame or not. |
| </summary> |
| </metric> |
| <metric name="Outcome" enum="WebOTPServiceOutcome"> |
| <summary> |
| Records the result of a call to the SmsReceiver API. |
| </summary> |
| </metric> |
| <metric name="SmsParsingStatus" enum="SmsParsingStatus"> |
| <summary> |
| Records the status of parsing an incoming SMS when using the WebOTP API. |
| It records one sample per incoming SMS. |
| </summary> |
| </metric> |
| <metric name="TimeSmsReceiveMs"> |
| <summary> |
| Records the duration from when the API is called to when an SMS has been |
| successfully received. |
| </summary> |
| </metric> |
| <metric name="TimeSuccessMs"> |
| <summary> |
| Records the duration from when the API is called to when the user presses |
| "Allow" to pass the incoming SMS to the site and proceed with |
| the SMS verification flow. |
| </summary> |
| </metric> |
| <metric name="TimeUserCancelMs"> |
| <summary> |
| Records the duration from when the API is called to when the user presses |
| "Deny" to terminate the SMS verification flow. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="SoftNavigation" singular="True"> |
| <owner>iclelland@chromium.org</owner> |
| <owner>haoliuk@chromium.org</owner> |
| <summary> |
| Records soft navigation metrics including LCP, CLS, INP. Soft navigation is |
| DOM changes that are perceived to be navigation, but there is no page load. |
| Soft navigation metrics like LCP are equivalent to their counterpart of the |
| PageLoad event. |
| </summary> |
| <metric name="InteractiveTiming.INPOffset"> |
| <summary> |
| One-based offset in the list of all user interactions of the interaction |
| which was the INP (https://web.dev/inp). |
| </summary> |
| </metric> |
| <metric name="InteractiveTiming.INPTime"> |
| <summary> |
| The time (in milliseconds from navigation start) of the interaction which |
| was the INP (https://web.dev/inp). |
| </summary> |
| </metric> |
| <metric name="InteractiveTiming.NumInteractions"> |
| <summary> |
| The number of distinct user interactions from the time when the soft |
| navigation happens to the time when the next soft navigation happens or |
| the page load end. See definition of user interaction: |
| https://web.dev/better-responsiveness-metric/#group-events-into-interactions |
| </summary> |
| </metric> |
| <metric |
| name="InteractiveTiming.UserInteractionLatency.HighPercentile2.MaxEventDuration"> |
| <summary> |
| An approximation of a high percentile of user interaction latency from the |
| time when the soft navigation happens to the time when the next soft |
| navigation happens or the page load end, in ms. For this metric, we |
| measure the latency of user interactions by |
| Responsiveness.UserInteraction.MaxEventDuration. |
| </summary> |
| </metric> |
| <metric |
| name="LayoutInstability.MaxCumulativeShiftScore.SessionWindow.Gap1000ms.Max5000ms"> |
| <summary> |
| Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that |
| has occurred from the time when the soft navigation happens to the time |
| when the next soft navigation happens or the page load ends in a session |
| window. The gap between two consecutive shifts in a window is not bigger |
| than 1000ms and the maximum window size is 5000ms. This metric's integral |
| value is 100x the fractional cumulative layout shift score described in |
| the explainer. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="NavigationId"> |
| <summary> |
| Records the navigation id of a soft navigation. It is used to |
| differentiate soft navigations. |
| </summary> |
| </metric> |
| <metric name="PaintTiming.LargestContentfulPaint"> |
| <summary> |
| Measures the LargestContentfulPaint in milliseconds from the start time of |
| the soft navigation to the LCP time. |
| </summary> |
| </metric> |
| <metric name="PaintTiming.LargestContentfulPaintBPP" |
| enum="BitsPerPixelExponential"> |
| <summary> |
| Measures the ratio of image file size (in bits) to displayed pixels for |
| the LCP candidate. Bucketed into roughly exponential intervals to account |
| for the wide range of encountered values (less than 1:100000 to greater |
| than 10000:1). This metric is recorded whenever the LCP candidate is an |
| image, and omitted when it is text. |
| </summary> |
| </metric> |
| <metric name="PaintTiming.LargestContentfulPaintImageDiscoveryTime"> |
| <summary> |
| Measures the time in milliseconds from soft navigation's start time to the |
| time when the image LCP element is requested. This metric is not recorded |
| when the LCP element is text or video. |
| </summary> |
| </metric> |
| <metric name="PaintTiming.LargestContentfulPaintImageLoadEnd"> |
| <summary> |
| Measures the time in milliseconds from soft navigation's start time to the |
| time when the image LCP element finishes loading. For animated images, |
| this is when the image resource finishes loading completely, not the first |
| frame time. See web.dev/optimize-lcp for more details. This metric is not |
| recorded when the LCP element is text or video. |
| </summary> |
| </metric> |
| <metric name="PaintTiming.LargestContentfulPaintImageLoadStart"> |
| <summary> |
| Measures the time in milliseconds from soft navigation's start time to the |
| time when the image LCP element starts loading. See web.dev/optimize-lcp |
| for more details. This metric is not recorded when the LCP element is text |
| or video. |
| </summary> |
| </metric> |
| <metric name="PaintTiming.LargestContentfulPaintRequestPriority" |
| enum="NetRequestPriority"> |
| <summary> |
| Resource loading priority used for the LCP candidate. This metric is |
| recorded whenever the LCP candidate is an image, and omitted when it is |
| text or video. |
| </summary> |
| </metric> |
| <metric name="PaintTiming.LargestContentfulPaintType"> |
| <summary> |
| Indicates that type of the LargestContentfulPaint candidate. This value is |
| a packed set of flags, defined in |
| third_party/blink/public/common/performance/largest_contentful_paint_type.h |
| </summary> |
| </metric> |
| <metric name="StartTime"> |
| <summary> |
| Records the start time of a soft navigation. The start time is a time |
| delta in milliseconds relative to the last hard navigation time. It is |
| used to analyze the frequency of soft navigations. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="SubresourceFilter" singular="True"> |
| <owner>csharrison@chromium.org</owner> |
| <summary> |
| Recorded for page loads where subresource filtering policy was evaluated. |
| </summary> |
| <metric name="ActivationDecision"> |
| <summary> |
| Enum that records the policy decision to activate subresource filtering |
| for a page load. 0 = Unknown, 1 = Activated, 2 = Disabled, 3 = Deprecated |
| value, 4 = URL whitelisted, 5 = Activation conditions not met. 'Activated' |
| indicates that subresource filtering was activated. All other reasons |
| indicate that subresource filtering was not activated. |
| </summary> |
| </metric> |
| <metric name="DryRun"> |
| <summary> |
| Records '1' if subresource filtering was activated in dry run mode. In dry |
| run mode, subresource filtering policy is evaluated against resources |
| loaded on the page, but subresource filtering is not actually applied. |
| </summary> |
| </metric> |
| <metric name="EnforcementRedirectPosition"> |
| <summary> |
| An enum denoting where in the redirect chain there was a URL that matched |
| one of the subresource_filter activation lists, and wasn't marked as |
| warning. See subresource_filter::RedirectPosition for values. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="SubresourceLoad.ZstdContentEncoding"> |
| <owner>nidhijaju@chromium.org</owner> |
| <owner>blink-network-stack@google.com</owner> |
| <summary> |
| Event recorded when a response is received that is content-encoded with zstd |
| and is a subresource load. |
| </summary> |
| <metric name="UsedZstd" enum="Boolean"> |
| <summary> |
| Set to 1 if the subresource served zstd-compressed content. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="SubresourceRedirect.PublicSrcVideoCompression"> |
| <owner>rajendrant@chromium.org</owner> |
| <owner>mcrouse@chromium.org</owner> |
| <summary> |
| Records coverage information for src videos. Recorded once for every src |
| video that is fetched from network. |
| </summary> |
| <metric name="FullContentLength"> |
| <summary> |
| The full content length of the video retrieved from the first range |
| request for the resource. This full content length represents the total |
| bytes when the entire video is played. The bytes are rounded down to the |
| exponential bucket with factor of 1.3. |
| </summary> |
| </metric> |
| <metric name="SubresourceRedirectResult" |
| enum="SubresourceRedirectRedirectResult"> |
| <summary> |
| Enumerates the different results possible for subresource redirection, |
| such as redirectable or different reasons of ineligibility. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Tab.Screenshot"> |
| <owner>sayman@chromium.org</owner> |
| <summary> |
| User took one or more screenshots of a page. |
| </summary> |
| <metric name="HasOccurred" enum="Boolean"> |
| <summary> |
| A boolean signaling that the event has occurred; only records true values. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="TabManager.Background.FirstAlertFired"> |
| <owner>chrisha@chromium.org</owner> |
| <owner>lpy@chromium.org</owner> |
| <summary> |
| Collects the duration in MS from when the tab is backgrounded to when a |
| JavaScript alert is fired. Only recorded when the tab is in the background. |
| </summary> |
| <metric name="IsMainFrame"> |
| <summary> |
| Indicates whether the alert is fired from main frame. |
| </summary> |
| </metric> |
| <metric name="TimeFromBackgrounded"> |
| <summary> |
| Duration in MS from when the tab is backgrounded to when alert is fired. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="TabManager.Background.FirstAudioStarts"> |
| <owner>chrisha@chromium.org</owner> |
| <owner>lpy@chromium.org</owner> |
| <summary> |
| Collects the duration in MS from when the tab is backgrounded to when audio |
| starts to play. Only recorded when the tab is in the background. |
| </summary> |
| <metric name="IsMainFrame"> |
| <summary> |
| Indicates whether the audio stream belongs to the main frame. |
| </summary> |
| </metric> |
| <metric name="TimeFromBackgrounded"> |
| <summary> |
| Duration in MS from when the tab is backgrounded to when audio starts to |
| play. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="TabManager.Background.FirstFaviconUpdated"> |
| <owner>chrisha@chromium.org</owner> |
| <owner>lpy@chromium.org</owner> |
| <summary> |
| Collects the duration in MS from when the tab is backgrounded to when the |
| favicon is updated. Only recorded when the tab is in the background. |
| </summary> |
| <metric name="TimeFromBackgrounded"> |
| <summary> |
| Duration in MS from when the tab is backgrounded to when the favicon is |
| updated. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="TabManager.Background.FirstNonPersistentNotificationCreated"> |
| <owner>chrisha@chromium.org</owner> |
| <owner>lpy@chromium.org</owner> |
| <summary/> |
| <metric name="IsMainFrame"> |
| <summary> |
| Indicates whether the notification creation is from the main frame. |
| </summary> |
| </metric> |
| <metric name="TimeFromBackgrounded"> |
| <summary> |
| Duration in MS from when the tab is backgrounded to when a non-persistent |
| notification is created. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="TabManager.Background.FirstTitleUpdated"> |
| <owner>chrisha@chromium.org</owner> |
| <owner>lpy@chromium.org</owner> |
| <summary> |
| Collects the duration in MS from when the tab is backgrounded to when the |
| title is updated. Only recorded when the tab is in the background. |
| </summary> |
| <metric name="TimeFromBackgrounded"> |
| <summary> |
| Duration in MS from when the tab is backgrounded to when the title is |
| updated. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="TabManager.Background.ForegroundedOrClosed"> |
| <owner>chrisha@chromium.org</owner> |
| <summary> |
| Collects the duration in MS from when the tab is backgrounded to when it is |
| brought to foreground or closed. |
| </summary> |
| <metric name="IsDiscarded"> |
| <summary> |
| Boolean value indicating whether or not the tab is discarded since it was |
| backgrounded. |
| </summary> |
| </metric> |
| <metric name="IsForegrounded"> |
| <summary> |
| Boolean value indicating whether or not it's triggered because the tab is |
| brought to foreground again. |
| </summary> |
| </metric> |
| <metric name="LabelId"> |
| <summary> |
| An int64 random number generated when TabManager.TabMetric is logged. The |
| same number is also logged here, so that feature label can be paired. |
| </summary> |
| </metric> |
| <metric name="TimeFromBackgrounded"> |
| <summary> |
| Duration in MS from when the tab is backgrounded to when it is brought to |
| foreground or closed. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="TabManager.Experimental.SessionRestore.TabSwitchLoadStopped" |
| singular="True"> |
| <owner>zhenw@chromium.org</owner> |
| <summary> |
| Collects data when a tab is switched to from another tab and then finishes |
| loading in the foreground during session restore The event is only recorded |
| when a tab is switched to from another tab within the same tabstrip. As a |
| result, the initial foreground tab is not included in this event since it |
| was not switched to from another tab. The event is not recorded when the |
| session overlaps with background tab opening. |
| </summary> |
| <metric name="SequenceId"> |
| <summary> |
| The ID of this event's sequence in current session restore session. |
| </summary> |
| </metric> |
| <metric name="SessionRestoreSessionId"> |
| <summary> |
| The ID of this session restore session. |
| </summary> |
| </metric> |
| <metric name="SessionRestoreTabCount"> |
| <summary> |
| Number of tabs that are restored. |
| </summary> |
| </metric> |
| <metric name="SystemTabCount"> |
| <summary> |
| Number of all tabs of the system, which includes all browser windows. |
| </summary> |
| </metric> |
| <metric name="TabSwitchLoadTime"> |
| <summary> |
| Tab switch load time in MS. It is defined as the time between when the |
| user switches to a background tab, and the time when that tab finishes |
| loading in the foreground. If the user switches away before the tab |
| finishes loading, a metric will not be recorded unless the user switches |
| back, in which case the tab switch load time is measured from that point |
| in time. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="TabManager.LifecycleStateChange"> |
| <owner>chrisha@chromium.org</owner> |
| <owner>fdoray@chromium.org</owner> |
| <summary> |
| Collects information about when and why a lifecycle state change was |
| attempted, and information about the outcome of the attempt. |
| </summary> |
| <metric name="FailureGlobalDisallowlist" enum="Boolean"> |
| <summary> |
| Boolean indicating that the tab was explicitly opted out of the |
| intervention via the global disallowlist. |
| </summary> |
| </metric> |
| <metric name="FailureHeuristicAudio" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed because the origin |
| has historically been observed emitting audio while in the background. |
| </summary> |
| </metric> |
| <metric name="FailureHeuristicFavicon" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed because the origin |
| has historically been observed updating its favicon while in the |
| background. |
| </summary> |
| </metric> |
| <metric name="FailureHeuristicInsufficientObservation" enum="Boolean"> |
| <summary> |
| Boolean indicating that the site is still being observed locally in order |
| to determine which features are in use. In the meantime, it is protected |
| from this intervention. |
| </summary> |
| </metric> |
| <metric name="FailureHeuristicNotifications" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed because the origin |
| has historically been observed making use of notifications while in the |
| background. |
| </summary> |
| </metric> |
| <metric name="FailureHeuristicTitle" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed because the origin |
| has historically been observed updating its tab title while in the |
| background. |
| </summary> |
| </metric> |
| <metric name="FailureLifecyclesEnterprisePolicyOptOut" enum="Boolean"> |
| <summary> |
| Boolean indicating that the browser was explicitly opted out of the |
| intervention via enterprise policy. |
| </summary> |
| </metric> |
| <metric name="FailureLivePictureInPicture" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed because the tab is |
| displaying content in picture-in-picture. |
| </summary> |
| </metric> |
| <metric name="FailureLiveStateCapturing" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed because the tab is |
| currently capturing user media (making use of webcam or microphone, for |
| example). |
| </summary> |
| </metric> |
| <metric name="FailureLiveStateDesktopCapture" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed because the tab is |
| currently capturing a window or screen. |
| </summary> |
| </metric> |
| <metric name="FailureLiveStateDevToolsOpen" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed because the tab is |
| currently using DevTools. |
| </summary> |
| </metric> |
| <metric name="FailureLiveStateExtensionDisallowed" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed by an extension. |
| </summary> |
| </metric> |
| <metric name="FailureLiveStateFormEntry" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed because the tab |
| currently contains text form entry. |
| </summary> |
| </metric> |
| <metric name="FailureLiveStateHasNotificationsPermission" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed because the tab |
| has the permission to use notifications. |
| </summary> |
| </metric> |
| <metric name="FailureLiveStateIsPDF" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed because the tab is |
| currently hosting a PDF. |
| </summary> |
| </metric> |
| <metric name="FailureLiveStateMirroring" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed because the tab is |
| currently being mirrored (casting its contents, for example). |
| </summary> |
| </metric> |
| <metric name="FailureLiveStatePlayingAudio" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed because the tab is |
| currently playing audio. |
| </summary> |
| </metric> |
| <metric name="FailureLiveStateSharingBrowsingInstance" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed because the tab is |
| sharing its BrowsingInstance with at least one other tab. |
| </summary> |
| </metric> |
| <metric name="FailureLiveStateUsingBluetooth" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed because the tab is |
| currently connected to at least one bluetooth device. |
| </summary> |
| </metric> |
| <metric name="FailureLiveStateUsingIndexedDBLock" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed because the tab is |
| currently holding at least one IndexedDB lock. |
| </summary> |
| </metric> |
| <metric name="FailureLiveStateUsingWebLock" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed because the tab is |
| currently holding at least one WebLock. |
| </summary> |
| </metric> |
| <metric name="FailureLiveStateUsingWebSockets" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed because the tab is |
| currently using WebSockets. |
| </summary> |
| </metric> |
| <metric name="FailureLiveStateUsingWebUSB" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed because the tab is |
| currently using WebUSB. |
| </summary> |
| </metric> |
| <metric name="FailureLiveStateVisible" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed because the tab is |
| currently visible. |
| </summary> |
| </metric> |
| <metric name="FailureLiveWebApp" enum="Boolean"> |
| <summary> |
| Boolean indicating that the intervention was disallowed because the tab is |
| a web application window. |
| </summary> |
| </metric> |
| <metric name="FailureOriginTrialOptOut" enum="Boolean"> |
| <summary> |
| Boolean indicating that the tab explicitly opted out of the intervention |
| via origin trial. |
| </summary> |
| </metric> |
| <metric name="FailureOriginTrialUnknown" enum="Boolean"> |
| <summary> |
| Boolean indicating that the tab did not report its origin trial |
| opt-in/opt-out yet. |
| </summary> |
| </metric> |
| <metric name="LifecycleStateChangeReason"> |
| <summary> |
| The reason the lifecycle state change was attempted. This corresponds to |
| the LifecycleStateChangeReason enumeration in lifecycle_unit_state.mojom. |
| </summary> |
| </metric> |
| <metric name="NewLifecycleState"> |
| <summary> |
| The lifecycle state the tab will be in after the state change. Corresponds |
| to a value from the LifecycleUnitState enum defined in |
| lifecycle_unit_state.mojom. |
| </summary> |
| </metric> |
| <metric name="OldLifecycleState"> |
| <summary> |
| The lifecycle state the tab was in prior to the state change. Corresponds |
| to a value from the LifecycleUnitState enum defined in |
| lifecycle_unit_state.mojom. |
| </summary> |
| </metric> |
| <metric name="Outcome" enum="Boolean"> |
| <summary> |
| Whether or not the state change was successful. The various Failure and |
| Success booleans encode the actual reasons for this outcome. Note that |
| multiple success and failure reasons may be encoded for a single decision. |
| The presence of any failure bit indicates a negative outcome. If only |
| success bits are present the outcome is positive. |
| </summary> |
| </metric> |
| <metric name="SuccessGlobalAllowlist" enum="Boolean"> |
| <summary> |
| Boolean indicating that the tab was explicitly opted in to the |
| intervention via the global allowlist. |
| </summary> |
| </metric> |
| <metric name="SuccessHeuristic" enum="Boolean"> |
| <summary> |
| Boolean indicating that the tab was deemed safe for the intervention via |
| local observations and heuristics. |
| </summary> |
| </metric> |
| <metric name="SuccessOriginTrialOptIn" enum="Boolean"> |
| <summary> |
| Boolean indicating that the tab explicitly opted in to the intervention |
| via origin trial. |
| </summary> |
| </metric> |
| <metric name="TimeSinceNavigationMs"> |
| <summary> |
| The time elapsed (in milliseconds) since the top-level navigation was |
| committed that loaded this tab's content. |
| </summary> |
| </metric> |
| <metric name="TimeSinceVisibilityStateChangeMs"> |
| <summary> |
| The amount of time that has passed (in milliseconds) since the last |
| visibility state change. |
| </summary> |
| </metric> |
| <metric name="TransitionForced" enum="Boolean"> |
| <summary> |
| This is set if the transition to the new lifecycle state was forced by the |
| browser because the content took too long to respond to the lifecycle |
| event. |
| </summary> |
| </metric> |
| <metric name="VisibilityState"> |
| <summary> |
| The current visibility state. This is an integer value corresponding to |
| the enumeration in content/public/browser/visibility.h. |
| </summary> |
| </metric> |
| </event> |
| |
| <event |
| name="TabManager.SessionRestore.ForegroundTab.ExpectedTaskQueueingDurationInfo"> |
| <owner>zhenw@chromium.org</owner> |
| <summary> |
| Collects the expected queueing duration of tasks and metadata for the |
| foreground tab during session restore. The event is not recorded when the |
| session overlaps with background tab opening. The event is not recorded when |
| there is only one restored tab, in which case, there is no background |
| restored tab and we are not interested at that. In this way, we cap the |
| volume while keeping all interesting data. |
| </summary> |
| <metric name="ExpectedTaskQueueingDuration"> |
| <summary> |
| Duration in MS for expected task queueing duration. The metric reflects |
| the responsiveness of a tab. A lower value means the tab will respond to |
| inputs faster. This metric is equal to |
| RendererScheduler.ExpectedTaskQueueingDuration. It is emitted once for all |
| tasks in each 1000-ms window. |
| </summary> |
| </metric> |
| <metric name="SequenceId"> |
| <summary> |
| The ID of this event's sequence in current session restore session. |
| </summary> |
| </metric> |
| <metric name="SessionRestoreSessionId"> |
| <summary> |
| The ID of this session restore session. |
| </summary> |
| </metric> |
| <metric name="SessionRestoreTabCount"> |
| <summary> |
| Number of tabs that are restored. |
| </summary> |
| </metric> |
| <metric name="SystemTabCount"> |
| <summary> |
| Number of all tabs of the system, which includes all browser windows. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="TabManager.TabLifetime" singular="True"> |
| <owner>chrisha@chromium.org</owner> |
| <summary> |
| Collected when a tab is closed, at most once per source. |
| </summary> |
| <metric name="TimeSinceNavigation"> |
| <summary> |
| The time when the tab was closed, expressed as the amount of time in MS |
| that has elapsed since the main frame navigation providing the content of |
| the tab. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="TabManager.TabMetrics"> |
| <owner>michaelpg@chromium.org</owner> |
| <summary> |
| Collects tab information for a tab after navigations, activations and close |
| events. |
| </summary> |
| <metric name="HasBeforeUnloadHandler"> |
| <summary> |
| Boolean value indicating whether the page has a beforeunload JavaScript |
| event handler. |
| </summary> |
| </metric> |
| <metric name="HasFormEntry"> |
| <summary> |
| Boolean value indicating whether the page has any user-input text. |
| </summary> |
| </metric> |
| <metric name="IsPinned"> |
| <summary> |
| Boolean value indicating whether the tab is pinned in the tabstrip. |
| </summary> |
| </metric> |
| <metric name="KeyEventCount"> |
| <summary> |
| Number of key events that were sent to the page. |
| </summary> |
| </metric> |
| <metric name="LabelId"> |
| <summary> |
| An int64 random number generated at logging time. The same number will |
| also be logged to the TabManager.Background.ForegroundedOrClosed event, so |
| that feature label can be paired. |
| </summary> |
| </metric> |
| <metric name="MouseEventCount"> |
| <summary> |
| Number of mouse events that were sent to the page. |
| </summary> |
| </metric> |
| <metric name="MRUIndex"> |
| <summary> |
| Index of the tab in most-recently-used order. A value of N means there are |
| N tabs more recently used than the one that is being foregrounded or |
| closed. |
| </summary> |
| </metric> |
| <metric name="NavigationEntryCount"> |
| <summary> |
| Number of navigation entries in the tab's NavigationController. |
| Corresponds to the size of the tab's back/forward list. |
| </summary> |
| </metric> |
| <metric name="NumReactivationBefore"> |
| <summary> |
| Number of reactivations that this tab had till now. |
| </summary> |
| </metric> |
| <metric name="PageTransitionCoreType"> |
| <summary> |
| Type of the page transition for this navigation. Uses the core values from |
| ui::PageTransition. |
| </summary> |
| </metric> |
| <metric name="PageTransitionFromAddressBar"> |
| <summary> |
| True if the page transition came from interacting with the address bar, |
| such as by typing a URL or performing a search. |
| </summary> |
| </metric> |
| <metric name="PageTransitionIsRedirect"> |
| <summary> |
| True if the page transition type is a redirect, in which case the |
| PageTransition type may not be accurate. |
| </summary> |
| </metric> |
| <metric name="QueryId"> |
| <summary> |
| An int64 random number generated at query time of |
| TabManager::GetSortedLifecycleUnitsFromTabRanker. Tabs with the same |
| QueryId will be later on combined in one full list for further analysis. |
| </summary> |
| </metric> |
| <metric name="SiteEngagementScore"> |
| <summary> |
| Site engagement score in the range [0, 100], rounded down to a multiple of |
| 10 to limit granularity. |
| </summary> |
| </metric> |
| <metric name="TimeFromBackgrounded"> |
| <summary> |
| Duration in MS from when the tab is backgrounded to when it is brought to |
| foreground or closed. |
| </summary> |
| </metric> |
| <metric name="TotalTabCount"> |
| <summary> |
| Total number of tabs open across all non-incognito browser windows. Helps |
| contextualize the MRUIndex value. |
| </summary> |
| </metric> |
| <metric name="TouchEventCount"> |
| <summary> |
| Number of touch events that were sent to the page. |
| </summary> |
| </metric> |
| <metric name="WasRecentlyAudible"> |
| <summary> |
| Boolean value indicating whether the tab has played audio within the last |
| two seconds. |
| </summary> |
| </metric> |
| <metric name="WindowIsActive"> |
| <summary> |
| Boolean value indicating whether the window is the active (frontmost) |
| window. |
| </summary> |
| </metric> |
| <metric name="WindowShowState"> |
| <summary> |
| Enumeration of the window show state, such as fullscreen or minimized. |
| Values are enumerated in metrics::WindowMetricsEvent::ShowState. |
| </summary> |
| </metric> |
| <metric name="WindowTabCount"> |
| <summary> |
| Number of tabs in the tab strip. Rounded down to the nearest exponential |
| bucket (with a bucket spacing factor of 1.5). Will be 1 for windows with |
| only one top-level WebContents, such as app windows. |
| </summary> |
| </metric> |
| <metric name="WindowType"> |
| <summary> |
| Enumeration for the type of the window. Values are enumerated in |
| metrics::WindowMetricsEvent::Type. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="TabManager.WindowMetrics"> |
| <owner>michaelpg@chromium.org</owner> |
| <summary> |
| Collects information about a browser or app window to associate with the |
| TabManager.TabMetrics entries for tabs in that window. |
| </summary> |
| <metric name="IsActive"> |
| <summary> |
| Whether the window is the active (frontmost) window. |
| </summary> |
| </metric> |
| <metric name="ShowState"> |
| <summary> |
| Enumeration of the window show state, such as fullscreen or minimized. |
| Values are enumerated in metrics::WindowMetricsEvent::ShowState. |
| </summary> |
| </metric> |
| <metric name="TabCount"> |
| <summary> |
| Number of tabs in the tab strip. Rounded down to the nearest exponential |
| bucket (with a bucket spacing factor of 1.5). Will be 1 for windows with |
| only one top-level WebContents, such as app windows. |
| </summary> |
| </metric> |
| <metric name="Type"> |
| <summary> |
| Enumeration for the type of the window. Values are enumerated in |
| metrics::WindowMetricsEvent::Type. |
| </summary> |
| </metric> |
| <metric name="WindowId"> |
| <summary> |
| Session ID of the browser or app window this entry represents, unique for |
| the browsing session. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="TabRevisitTracker.TabStateChange"> |
| <owner>anthonyvd@chromium.org</owner> |
| <owner>chrome-catan@google.com</owner> |
| <summary> |
| Recorded when a tab changes state to/from "active", |
| "background", and "closed". |
| </summary> |
| <metric name="NewState" enum="TabRevisitTracker.TabState"> |
| <summary> |
| The state the tab is in after the transition. |
| </summary> |
| </metric> |
| <metric name="NumTabsOnSameUrl"> |
| <summary> |
| The count of tabs with the same main frame URL as this one in the current |
| browser session. Used to identify instances of duplicate tabs. Bucketed in |
| 20 buckets (0 to 20) + an overflow bucket. |
| </summary> |
| </metric> |
| <metric name="NumTotalRevisits"> |
| <summary> |
| The count of times this tab was revisited since it was created. Bucketed |
| in 20 buckets (0 to 20) + an overflow bucket. |
| </summary> |
| </metric> |
| <metric name="PreviousState" enum="TabRevisitTracker.TabState"> |
| <summary> |
| The state the tab was in before the transition. |
| </summary> |
| </metric> |
| <metric name="SameTabGroupAsActiveTab" enum="Boolean"> |
| <summary> |
| Whether the tab is in the same tab group as the current active tab. |
| </summary> |
| </metric> |
| <metric name="SameWindowAsActiveTab" enum="Boolean"> |
| <summary> |
| Whether the tab is in the same browser window as the current active tab. |
| </summary> |
| </metric> |
| <metric name="TimeInPreviousState"> |
| <summary> |
| The time spent by the tab in `PreviousState`, before transitioning to |
| `NewState`, in seconds. |
| </summary> |
| </metric> |
| <metric name="TotalTimeActive"> |
| <summary> |
| The total time the tab has spent as the active tab since it was created, |
| in seconds. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="TabStripOrganization"> |
| <owner>dpenning@chromium.org</owner> |
| <owner>chrome-desktop-ui-sea@google.com</owner> |
| <summary> |
| Collects information about UKMSourceIDs group affiliation in a tab strip |
| when group organization actions are taken up to 30 SourceIDs. |
| </summary> |
| <metric name="IsActiveTab"> |
| <summary> |
| Whether this source is the active tab for the trigger, only recorded for 1 |
| tab within all TabStripOrganization events recorded with the same |
| TabStripEventID. |
| </summary> |
| </metric> |
| <metric name="MinutesSinceLastActive"> |
| <summary> |
| Number of minutes since the tab was last active. exponentially bucketed |
| using GetExponentialBucketMin with a spacing of 1.3 |
| </summary> |
| </metric> |
| <metric name="SuggestedTabStripOrganizationReason"> |
| <summary> |
| The trigger reason for when this tab strip event was taken. |
| </summary> |
| </metric> |
| <metric name="TabGroupID"> |
| <summary> |
| The lower 64 bits of the tab group id corresponding to the |
| TabStripEventID. |
| </summary> |
| </metric> |
| <metric name="TabStripEventID"> |
| <summary> |
| An ID corresponding to the event that will enable joining all active tabs |
| for the window and the event together. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="ThirdPartyCookies.BreakageIndicator.HTTPError"> |
| <owner>3pcd-core@google.com</owner> |
| <owner>johannhof@chromium.org</owner> |
| <owner>ryankalla@google.com</owner> |
| <summary> |
| Recorded when there is an HTTP error that could be associated with breakage |
| from 3PC blocking. |
| </summary> |
| <metric name="TPCBlocked" enum="Boolean"> |
| <summary> |
| Whether the site actually had any blocked 3P cookies. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="TPCBlockedInSettings" enum="Boolean"> |
| <summary> |
| Whether the user had third party cookies blocked when the event occurred. |
| This metric considers the global third party cookie setting as well as |
| per-top-level-site content settings for opting out of third party cookie |
| blocking, but not e.g. the Storage Access state of individual iframes. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="ThirdPartyCookies.BreakageIndicator.UncaughtJSError"> |
| <owner>3pcd-core@google.com</owner> |
| <owner>johannhof@chromium.org</owner> |
| <owner>ryankalla@google.com</owner> |
| <summary> |
| Recorded when there is a JS error that could be associated with breakage |
| from 3PC blocking. |
| </summary> |
| <metric name="HasOccurred" enum="Boolean"> |
| <summary> |
| A boolean signaling that the event has occurred; only records true values. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="ThirdPartyCookies.BreakageIndicator.UserReload"> |
| <owner>3pcd-core@google.com</owner> |
| <owner>johannhof@chromium.org</owner> |
| <owner>ryankalla@google.com</owner> |
| <summary> |
| Recorded when there is a user reload event that could be associated with |
| breakage from 3PC blocking. |
| </summary> |
| <metric name="TPCBlocked" enum="Boolean"> |
| <summary> |
| Whether the site actually had any blocked 3P cookies. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="TPCBlockedInSettings" enum="Boolean"> |
| <summary> |
| Whether the user had third party cookies blocked when the event occurred. |
| This metric considers the global third party cookie setting as well as |
| per-top-level-site content settings for opting out of third party cookie |
| blocking, but not e.g. the Storage Access state of individual iframes. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="ThirdPartyCookies.CookieControlsActivated"> |
| <owner>sauski@google.com</owner> |
| <owner>kmg@google.com</owner> |
| <summary> |
| Recorded each time User Bypass is activated to bypass 3PC blocking and |
| re-enable 3PC for the page. Only applicable if the user is blocking 3PC by |
| default. |
| </summary> |
| <metric name="FedCmInitiated" enum="Boolean"> |
| <summary> |
| Whether the page attempted to call the FedCM API on the current page load, |
| prior to the user re-enabling 3PC. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="PageRefreshCount"> |
| <summary> |
| The number of times the user refreshed the current page (without |
| navigating elsewhere) before re-enabling 3PC. An integer clamped to the |
| range 0 to 10. |
| </summary> |
| </metric> |
| <metric name="RepeatedActivation" enum="Boolean"> |
| <summary> |
| Whether the user has previously re-enabled 3PC on this page via the |
| in-context controls. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SiteEngagementLevel" enum="SiteEngagementLevel"> |
| <summary> |
| The site engagement level of the page when the user re-enabled 3PC. |
| </summary> |
| </metric> |
| <metric name="StorageAccessAPIRequested" enum="Boolean"> |
| <summary> |
| Whether the page had requested access to storage via the Storage Access |
| API on the current page load, prior to the user re-enabling 3PC |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ThirdPartySiteDataAccessType" |
| enum="ThirdPartySiteDataAccessType"> |
| <summary> |
| The state of site data access (e.g. blocked, allowed, etc) for the the |
| current page load prior to the user re-enabling 3PC. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="ThirdPartyCookies.TopLevelDeprecationTrial"> |
| <owner>3pcd-core@google.com</owner> |
| <owner>jdh@chromium.org</owner> |
| <summary> |
| Recorded when there is a change in the status of the TopLevelTpcd |
| deprecation trial. |
| </summary> |
| <metric name="Enabled" enum="Boolean"> |
| <summary> |
| True if the trial was enabled. False if the trial was disabled. |
| </summary> |
| </metric> |
| <metric name="MatchSubdomains" enum="Boolean"> |
| <summary> |
| True iff the token used to enable the trial is/was valid for subdomains of |
| the origin store in the token. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="TopToolbar.Share"> |
| <owner>nyquist@chromium.org</owner> |
| <owner>ssid@chromium.org</owner> |
| <summary> |
| User pressed the 'Share' in the top toolbar, which shares the current URL. |
| </summary> |
| <metric name="HasOccurred" enum="Boolean"> |
| <summary> |
| A boolean signaling that the event has occurred; only records true values. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="TouchToFill.Shown"> |
| <owner>kazinova@google.com</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <owner>kolos@chromium.org</owner> |
| <summary> |
| Recorded when a user takes an action on the Touch To Fill sheet. |
| </summary> |
| <metric name="UserAction" enum="TouchToFill.UserAction"> |
| <summary> |
| The action a user took when interacting with the Touch To Fill sheet. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="TouchToFill.SubmissionReadiness"> |
| <owner>kolos@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Recorded when the Touch To Fill sheet is shown to the user. |
| </summary> |
| <metric name="SubmissionReadiness" enum="TouchToFill.SubmissionReadiness"> |
| <summary> |
| A given form's state (e.g. there are empty fields in the form, or there |
| are only two fields and they both are filled by Chrome) that indicates |
| whether the form is ready for submission. Recorded when a Touch To Fill |
| sheet is shown for that form. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="TouchToFill.TimeToSuccessfulLogin"> |
| <owner>kolos@chromium.org</owner> |
| <owner>fhorschig@chromium.org</owner> |
| <summary> |
| Recorded when a successful login is detected after filling by the Touch To |
| Fill. |
| </summary> |
| <metric name="TimeToSuccessfulLogin"> |
| <summary> |
| The time in milliseconds between filling by the Touch To Fill and a |
| successful submission (To ensure filling and submitting correspond to each |
| other, the usernames should coincide and the timestamps should be within |
| one minute. A successful login after a failed submission or manual typing |
| is not reported). Used to compare the times when automated submission is |
| enabled and disabled. Thus, we measure the time saved for a user. Recorded |
| when the password manager detects that the login was successful. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Tpcd.Mitigations.Dt.FirstParty.Deployment2"> |
| <owner>njeunje@google.com</owner> |
| <owner>tpcd-mitigations-team@google.com</owner> |
| <summary> |
| Recorded on a page load cadance for every third party cookie accessed. |
| </summary> |
| <metric name="Deployed" enum="Boolean"> |
| <summary> |
| Indicates when an origin deployed its 1P (AKA First Party, top-level) DT |
| Token and thus was granted cookie access. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Translate"> |
| <owner>hamelphi@chromium.org</owner> |
| <summary> |
| Metrics related to a Translate event. These metrics are described in |
| TranslateEventProto. |
| </summary> |
| <metric name="AcceptCount"/> |
| <metric name="Country"/> |
| <metric name="DeclineCount"/> |
| <metric name="EventType"/> |
| <metric name="IgnoreCount"/> |
| <metric name="RankerResponse"/> |
| <metric name="RankerVersion"/> |
| <metric name="SourceLanguage" semantic_type="ST_DEMOGRAPHIC_INFO"/> |
| <metric name="TargetLanguage" semantic_type="ST_DEMOGRAPHIC_INFO"/> |
| </event> |
| |
| <event name="TranslatePageLoad"> |
| <owner>curranmax@chromium.org</owner> |
| <owner>megjablon@chromium.org</owner> |
| <owner>chrome-language@google.com</owner> |
| <summary> |
| Summary of the user's interaction with Translate from the beginning of the |
| page load to when the event is recorded. This event is recorded when a page |
| load is completed and every time that Chrome is backgrounded during the |
| course of the page load. This means we can record multiple events for a |
| single page load, but it guarantees that we will still record data in |
| instances where the user backgrounds then kills Chrome. |
| </summary> |
| <metric name="FinalSourceLanguage" semantic_type="ST_DEMOGRAPHIC_INFO" |
| enum="LocaleCodeISO639"> |
| <summary> |
| The source language at the time the event is recorded. In most cases this |
| will match the initial source language, but the user can change the source |
| language manually if they want. Note that the semantic_type attribute is |
| included in order to remain consistent with the previous Translate UKM |
| proto. |
| </summary> |
| </metric> |
| <metric name="FinalState" enum="TranslateState"> |
| <summary> |
| At the time this event is recorded, the state of Translate. This includes |
| whether the page is translated or not and if no UI is shown, just the |
| omnibox icon is shown, or the full translate UI is shown. |
| </summary> |
| </metric> |
| <metric name="FinalTargetLanguage" semantic_type="ST_DEMOGRAPHIC_INFO" |
| enum="LocaleCodeISO639"> |
| <summary> |
| The target language at the time the event is recorded. In most cases this |
| will match the initial target language, but the user can change the target |
| language manually if they want. Note that the semantic_type attribute is |
| included in order to remain consistent with the previous Translate UKM |
| proto. |
| </summary> |
| </metric> |
| <metric name="FirstTranslateError" enum="TranslateError"> |
| <summary> |
| The first error to occur within Translate for this page load. |
| </summary> |
| </metric> |
| <metric name="FirstUIInteraction" enum="TranslateUIInteraction"> |
| <summary> |
| The user's first interaction with the Translate UI. |
| </summary> |
| </metric> |
| <metric name="HTMLContentLanguage" semantic_type="ST_DEMOGRAPHIC_INFO" |
| enum="LocaleCodeISO639"> |
| <summary> |
| The HTML language content attribute specified by the document. Note that |
| the semantic_type attribute is included in order to remain consistent with |
| the previous Translate UKM proto. |
| </summary> |
| </metric> |
| <metric name="HTMLDocumentLanguage" semantic_type="ST_DEMOGRAPHIC_INFO" |
| enum="LocaleCodeISO639"> |
| <summary> |
| The HTML language attribute specified by the document. Note that the |
| semantic_type attribute is included in order to remain consistent with the |
| previous Translate UKM proto. |
| </summary> |
| </metric> |
| <metric name="InitialSourceLanguage" semantic_type="ST_DEMOGRAPHIC_INFO" |
| enum="LocaleCodeISO639"> |
| <summary> |
| The initial source language that Translate determines for the page. Note |
| that the semantic_type attribute is included in order to remain consistent |
| with the previous Translate UKM proto. |
| </summary> |
| </metric> |
| <metric name="InitialSourceLanguageInContentLanguages" enum="Boolean"> |
| <summary> |
| Whether or not the initial source language is in the user's never |
| translate language list. By default the UI language, languages the user |
| has translated to, and languages added to the content languages are on the |
| never tranlsate list. However, users can add or remove languages manually |
| as well. |
| </summary> |
| </metric> |
| <metric name="InitialState" enum="TranslateState"> |
| <summary> |
| At the beginning of the page load, the state of Translate. This includes |
| whether the page is translated or not and if no UI is shown, just the |
| omnibox icon is shown, or the full translate UI is shown. |
| </summary> |
| </metric> |
| <metric name="InitialTargetLanguage" semantic_type="ST_DEMOGRAPHIC_INFO" |
| enum="LocaleCodeISO639"> |
| <summary> |
| The initial target language that Translate thinks it should translate to. |
| Note that the semantic_type attribute is included in order to remain |
| consistent with the previous Translate UKM proto. |
| </summary> |
| </metric> |
| <metric name="MaxTimeToTranslate"> |
| <summary> |
| Across all translations during this page load, the maximum amount of time |
| (in milliseconds) it took to translate the page. |
| </summary> |
| </metric> |
| <metric name="ModelDetectedLanguage" semantic_type="ST_DEMOGRAPHIC_INFO" |
| enum="LocaleCodeISO639"> |
| <summary> |
| The language that was estimated by the language model based on the page's |
| content. Note that the semantic_type attribute is included in order to |
| remain consistent with the previous Translate UKM proto. |
| </summary> |
| </metric> |
| <metric name="ModelDetectionReliabilityScore"> |
| <summary> |
| The score, or confidence, of the language detection model's prediction |
| about the language of the page content. The score is between 0 and 100, |
| higher means more confident. |
| </summary> |
| </metric> |
| <metric name="NumReversions"> |
| <summary> |
| The number of times a translation was reverted. |
| </summary> |
| </metric> |
| <metric name="NumTargetLanguageChanges"> |
| <summary> |
| The number of times that the target language was changed by the user over |
| the course of this page load. |
| </summary> |
| </metric> |
| <metric name="NumTranslateErrors"> |
| <summary> |
| The number of errors to occur within Translate for this page load. |
| </summary> |
| </metric> |
| <metric name="NumTranslations"> |
| <summary> |
| The number of times the page was translated. |
| </summary> |
| </metric> |
| <metric name="NumUIInteractions"> |
| <summary> |
| The number of times that the user interacts with the Translate UI. |
| </summary> |
| </metric> |
| <metric name="RankerDecision" enum="TranslateRankerDecision"> |
| <summary> |
| Decision of the Ranker whether to show the UI or not. |
| </summary> |
| </metric> |
| <metric name="RankerVersion"> |
| <summary> |
| Version of Ranker used for this page load. |
| </summary> |
| </metric> |
| <metric name="SequenceNumber"> |
| <summary> |
| In case multiple events are logged for one page load, we track the |
| sequence in the order each event is logged. |
| </summary> |
| </metric> |
| <metric name="TotalTimeNotTranslated"> |
| <summary> |
| The amount of time (in seconds) this page was in the foreground and not |
| translated. |
| </summary> |
| </metric> |
| <metric name="TotalTimeTranslated"> |
| <summary> |
| The amount of time (in seconds) this page was in the foreground and |
| translated. |
| </summary> |
| </metric> |
| <metric name="TriggerDecision" enum="TranslateTriggerDecision"> |
| <summary> |
| The highest priority trigger that determined the initial state of |
| Translate for this page load. |
| </summary> |
| </metric> |
| <metric name="WasContentEmpty" enum="Boolean"> |
| <summary> |
| Whether the page content used to detect the page language was empty or |
| not. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="TrustedWebActivity.Open" singular="True"> |
| <owner>peconn@chromium.org</owner> |
| <summary> |
| Collected when a page is opened in a Trusted Web Activity. |
| </summary> |
| <metric name="HasOccurred" enum="Boolean"> |
| <summary> |
| A boolean signaling that the event has occurred (typically only records |
| true values). |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Unload" singular="True"> |
| <owner>shaseley@chromium.org</owner> |
| <owner>speed-metrics-dev@chromium.org</owner> |
| <summary> |
| Metrics associated with a unloading in preparation for a navigation. |
| </summary> |
| <metric name="BeforeUnloadDuration"> |
| <summary> |
| Measures the time in milliseconds of running the beforeunload handlers for |
| a page. If the beforeunloads are dispatched from the browser, this reports |
| the longest running one since these handlers will be run in parallel when |
| the page has frames in different processes. If the navigation is renderer |
| initiated, it will be the duration of running beforeunload handlers in the |
| navigating frame and its local descendants in the renderer plus any |
| latency caused by dispatching beforeunloads to remote frames from the |
| browser. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="BeforeUnloadQueueingDuration"> |
| <summary> |
| Measures the time in milliseconds from when the browser sends the request |
| to run beforeunload to the renderer to when the renderer begins |
| dispatching the handlers. For browser-initiated navigations, we report the |
| queueing duration of the beforeunloads that took the longest since they |
| are dispatched in parallel to remote and local frames. For renderer- |
| initiated navigations this metric will only be filled in if we dispatched |
| beforeunloads from the browser to remote frames which we had to wait on. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="BeforeUnloadToCommit.CrossProcess"> |
| <summary> |
| Measures the time in milliseconds from when the browser sends the request |
| to dispatch before unload handlers (for browser-intitated navigations) or |
| from when the renderer started running before unload handlers (for |
| renderer-initiated navigations) to when the commit navigation was sent to |
| the renderer process. For cross-process navigations this represents the |
| total amount of time the navigation is blocked since it was initiated. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="BeforeUnloadToCommit.SameProcess"> |
| <summary> |
| Measures the time in milliseconds from when the browser sends the request |
| to dispatch before unload handlers (for browser-intitated navigations) or |
| from when the renderer started running before unload handlers (for |
| renderer-initiated navigations) to when the navigation was committed. For |
| same-process navigations this represents the total amount of time the |
| navigation is blocked since it was initiated. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="UnloadDuration"> |
| <summary> |
| Measures the time in milliseconds to run the unload handlers in the old |
| document where the navigation was committed. Only records for same-process |
| navigations since there are no unload handlers to be run in the new |
| process during a cross-process navigation. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="UnloadQueueingDuration"> |
| <summary> |
| Measures the time in milliseconds from when the browser sends the commit |
| navigation request to the renderer to when the renderer dispatches unload |
| events. Only records for same-process navigations since unload handlers |
| are run in a different process for cross-process navigations. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="UserActivity"> |
| <owner>jiameng@chromium.org</owner> |
| <summary> |
| Collects user activity events after staying idle for a short period of time. |
| </summary> |
| <metric name="BatteryPercent"> |
| <summary> |
| Percentage of battery, bucketed to 5 percents, i.e. [0, 5%) is mapped to |
| 0, [5%, 10%) is mapped to 5 etc. |
| </summary> |
| </metric> |
| <metric name="DeviceManagement"> |
| <summary> |
| An enum representing whether the device is managed, defined in |
| |ash::power::ml::UserActivityEvent::Features::ManagementType|. |
| </summary> |
| </metric> |
| <metric name="DeviceMode"> |
| <summary> |
| An enum representing the mode of the device, defined in |
| |ash::power::ml::UserActivityEvent::Features::DeviceMode| |
| </summary> |
| </metric> |
| <metric name="DeviceType"> |
| <summary> |
| An enum representing the type of the device, defined in |
| |ash::power::ml::UserActivityEvent::Features::DeviceType| |
| </summary> |
| </metric> |
| <metric name="EventLogDuration"> |
| <summary> |
| Time taken in seconds from when we start logging the features to the |
| moment when the event type is known and we finish logging the complete |
| event. |
| </summary> |
| </metric> |
| <metric name="EventReason"> |
| <summary> |
| An enum representing the reason of the event, defined in |
| |ash::power::ml::UserActivityEvent::Event::Reason|. |
| </summary> |
| </metric> |
| <metric name="EventType"> |
| <summary> |
| An enum representing the type of the event, defined in |
| |ash::power::ml::UserActivityEvent::Event::Type|. |
| </summary> |
| </metric> |
| <metric name="KeyEventsInLastHour"> |
| <summary> |
| The number of key events reported as user activity in the last hour. This |
| is bucketized so that it is recorded precisely when it is in [0, 99], |
| rounded to nearest 100 when it is in [100, 999] and rounded to nearest |
| 1000 when it is in [1000, 9999]. It is capped at 10000. |
| </summary> |
| </metric> |
| <metric name="LastActivityDay"> |
| <summary> |
| An enum representing the last activity day of the week, defined in |
| |ash::power::ml::UserActivityEvent::Features::DayOfWeek|. |
| </summary> |
| </metric> |
| <metric name="LastActivityTime"> |
| <summary> |
| Last activity time as hours since midnight in the local time zone. |
| </summary> |
| </metric> |
| <metric name="LastUserActivityTime"> |
| <summary> |
| Last user activity time as hours since midnight in the local time zone. |
| </summary> |
| </metric> |
| <metric name="ModelApplied"> |
| <summary> |
| A boolean value whether model prediction is applied in the screen-dim |
| decision. False means powerd dims the screen regardless of the model |
| prediction. |
| </summary> |
| </metric> |
| <metric name="ModelDecisionThreshold"> |
| <summary> |
| A threhold in the range of [0, 100]. Higher threshold makes screen-dim |
| less likely. |
| </summary> |
| </metric> |
| <metric name="ModelInactivityScore"> |
| <summary> |
| Probability that user will remain inactive as predicted by the model. It |
| is in the range of [0, 100]. If score is less than the decision threshold, |
| dim will be deferred. |
| </summary> |
| </metric> |
| <metric name="ModelResponse"> |
| <summary> |
| Whether the model recommends the screen dim should be deferred (NO_DIM) or |
| allowed (DIM), or encountered an error (MODEL_ERROR). |
| </summary> |
| </metric> |
| <metric name="MouseEventsInLastHour"> |
| <summary> |
| The number of mouse events reported as user activity in the last hour. |
| This is bucketized so that it is recorded precisely when it is in [0, 99], |
| rounded to nearest 100 when it is in [100, 999] and rounded to nearest |
| 1000 when it is in [1000, 9999]. It is capped at 10000. |
| </summary> |
| </metric> |
| <metric name="OnBattery"> |
| <summary> |
| Boolean value to represent whether the device is currently on battery |
| power. |
| </summary> |
| </metric> |
| <metric name="PreviousNegativeActionsCount"> |
| <summary> |
| Number of times user reactivated, not including the current event. |
| </summary> |
| </metric> |
| <metric name="PreviousPositiveActionsCount"> |
| <summary> |
| Number of times user has remained idle, not including the current event. |
| </summary> |
| </metric> |
| <metric name="RecentTimeActive"> |
| <summary> |
| Duration of activity in seconds up to last activity. |
| </summary> |
| </metric> |
| <metric name="RecentVideoPlayingTime"> |
| <summary> |
| Recent video playing time in seconds. |
| </summary> |
| </metric> |
| <metric name="ScreenDimDelay"> |
| <summary> |
| Delay after which the screen will be dimmed in seconds. |
| </summary> |
| </metric> |
| <metric name="ScreenDimmedInitially"> |
| <summary> |
| Whether screen was dimmed at the start of the event. |
| </summary> |
| </metric> |
| <metric name="ScreenDimOccurred"> |
| <summary> |
| Whether screen dim occurred due to inactivity timeout. |
| </summary> |
| </metric> |
| <metric name="ScreenDimToOffDelay"> |
| <summary> |
| Delay after which the screen will be turned off in seconds, as measured |
| from screen is dimmed. If dim is disabled, it is the delay from the start |
| of inactivity. |
| </summary> |
| </metric> |
| <metric name="ScreenLockedInitially"> |
| <summary> |
| Whether screen was locked at the start of the event. |
| </summary> |
| </metric> |
| <metric name="ScreenLockOccurred"> |
| <summary> |
| Whether screen lock occurred. |
| </summary> |
| </metric> |
| <metric name="ScreenOffInitially"> |
| <summary> |
| Whether screen was off at the start of the event. |
| </summary> |
| </metric> |
| <metric name="ScreenOffOccurred"> |
| <summary> |
| Whether screen off occurred due to inactivity timeout. |
| </summary> |
| </metric> |
| <metric name="SequenceId"> |
| <summary> |
| The ID of this event in the current session. |
| </summary> |
| </metric> |
| <metric name="TimeSinceLastKey"> |
| <summary> |
| Time from last key event in seconds. |
| </summary> |
| </metric> |
| <metric name="TimeSinceLastMouse"> |
| <summary> |
| Time from last mouse event in seconds. |
| </summary> |
| </metric> |
| <metric name="TimeSinceLastTouch"> |
| <summary> |
| Time from last touch event in seconds. |
| </summary> |
| </metric> |
| <metric name="TimeSinceLastVideoEnded"> |
| <summary> |
| Time from the end of the last video playing in seconds. |
| </summary> |
| </metric> |
| <metric name="TouchEventsInLastHour"> |
| <summary> |
| The number of touch events reported as user activity in the last hour. |
| This is bucketized so that it is recorded precisely when it is in [0, 99], |
| rounded to nearest 100 when it is in [100, 999] and rounded to nearest |
| 1000 when it is in [1000, 9999]. It is capped at 10000. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="UserActivityId"> |
| <owner>jiameng@chromium.org</owner> |
| <summary> |
| Records an activity that happened while a page was open. |
| </summary> |
| <metric name="ActivityId"> |
| <summary> |
| The ID of the activity that happened while a page was open. |
| </summary> |
| </metric> |
| <metric name="ContentType"> |
| <summary> |
| Enumeration for the MIME type of the page. Values are enumerated in |
| metrics::TabMetricsEvent::ContentType. |
| </summary> |
| </metric> |
| <metric name="HasFormEntry"> |
| <summary> |
| Boolean value indicating whether the page has any user-input text. |
| </summary> |
| </metric> |
| <metric name="IsActive"> |
| <summary> |
| Boolean value representing whether this tab is selected in its containing |
| browser. |
| </summary> |
| </metric> |
| <metric name="IsBrowserFocused"> |
| <summary> |
| Boolean value representing whether the containing browser is in focus. |
| </summary> |
| </metric> |
| <metric name="IsBrowserVisible"> |
| <summary> |
| Boolean value representing whether the containing browser is visible. |
| </summary> |
| </metric> |
| <metric name="IsTopmostBrowser"> |
| <summary> |
| Boolean value representing whether the containing browser is the topmost |
| one on the screen. |
| </summary> |
| </metric> |
| <metric name="SiteEngagementScore"> |
| <summary> |
| Site engagement score in the range [0, 100], rounded down to a multiple of |
| 10 to limit granularity. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="UserPerceivedPageVisit" singular="True"> |
| <owner>djw@chromium.org</owner> |
| <owner>altimin@chromium.org</owner> |
| <summary> |
| Metrics related to a page visit as a user perceives it, regardless of how |
| the page was visited. More metrics may be associated with a particular page |
| visit, these can be found in specific UKM events with the same UKM source |
| ID. Currently the methods of visiting a page that will populate this event |
| are: 'normal' page load (more metrics in the PageLoad event), Back-Forward |
| Cache Restore (more metrics in the HistoryNavigation event), and AMP |
| documents (more metrics in the AmpPageLoad event) |
| </summary> |
| <metric name="NotCountedForCoreWebVitals" enum="Boolean"> |
| <summary> |
| Determines if this page visit event should be counted towards calculations |
| involving Core Web Vitals. If true, this page visit event should not be |
| counted. If false or NULL, the page visit event should be considered. |
| Currently this is determined by checking the mime-type of the page visit |
| event. |
| </summary> |
| </metric> |
| <metric name="PageVisitFinalStatus" enum="PageVisitFinalStatus"> |
| <summary> |
| Determines the final status for this page visit. That is, records whether |
| the page was never foregrounded, was foregrounded but did not reach FCP, |
| or did reach FCP. The metric is recorded at the end of each page visit. |
| App backgrounding on Android to is considered to be the end of page visit |
| as well, as the app could be evicted by Android anytime after that |
| happens. |
| </summary> |
| </metric> |
| <metric name="UserInitiated" enum="Boolean"> |
| <summary> |
| True if this page visit was initiated by user input. For renderer |
| navigations, only true if the code can trace back to the original input |
| event - there are cases where this known not to be possible. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="V8.Wasm.ModuleCompiled"> |
| <owner>ecmziegler@chromium.org</owner> |
| <summary> |
| Records information on baseline compilation of WebAssembly modules and its |
| resource consumption. |
| </summary> |
| <metric name="Async" enum="Boolean"> |
| <summary> |
| The compilation was running asynchronously. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.form_factor"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Cached" enum="Boolean"> |
| <summary> |
| The compilation was re-using already cached native module code instead of |
| JIT compiling it. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.form_factor"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="CodeSize"> |
| <summary> |
| The size of the native module code in bytes after baseline compilation |
| finished. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.form_factor"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Deserialized" enum="Boolean"> |
| <summary> |
| The compilation was deserializing the native module code from the disk |
| cache instead of JIT compiling it. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.form_factor"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Lazy" enum="Boolean"> |
| <summary> |
| The lazy compilation flag was enabled and therefore not all functions |
| might have been compiled. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.form_factor"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="LiftoffBailoutCount"> |
| <summary> |
| The number of functions that Liftoff could not compile and that therefore |
| needed to be compiled by TurboFan. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.form_factor"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Streamed" enum="Boolean"> |
| <summary> |
| The wire bytes were streamed while compiling. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.form_factor"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Success" enum="Boolean"> |
| <summary> |
| The module was successfully compiled. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="WallClockDuration"> |
| <summary> |
| The total time the compilation took in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.form_factor"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="V8.Wasm.ModuleDecoded"> |
| <owner>ecmziegler@chromium.org</owner> |
| <summary> |
| Records information on WebAssembly modules included in websites. |
| </summary> |
| <metric name="FunctionCount"> |
| <summary> |
| Number of declared functions in this module. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.form_factor"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ModuleSize"> |
| <summary> |
| The size of the wire bytes of the module. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.form_factor"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Streamed" enum="Boolean"> |
| <summary> |
| The wire bytes were streamed while decoding. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.form_factor"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Success" enum="Boolean"> |
| <summary> |
| The module was successfully decoded. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="WallClockDuration"> |
| <summary> |
| The total time the decoding took in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.form_factor"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="V8.Wasm.ModuleInstantiated"> |
| <owner>ecmziegler@chromium.org</owner> |
| <summary> |
| Records information on instantiation of WebAssembly modules and its resource |
| consumption. |
| </summary> |
| <metric name="ImportedFunctionCount"> |
| <summary> |
| The number of functions imported by the module. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.form_factor"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Success" enum="Boolean"> |
| <summary> |
| The module was successfully instantiated. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="WallClockDuration"> |
| <summary> |
| The total time the instantiation took in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.form_factor"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="V8.Wasm.ModuleTieredUp"> |
| <owner>ecmziegler@chromium.org</owner> |
| <summary> |
| Records information on top-tier compilation of WebAssembly modules and its |
| resource consumption. |
| </summary> |
| <metric name="CodeSize"> |
| <summary> |
| The size of the native module code in bytes after top-tier compilation |
| finished. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.form_factor"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Lazy" enum="Boolean"> |
| <summary> |
| The lazy compilation flag was enabled and therefore not all functions |
| might have been compiled. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.form_factor"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="WallClockDuration"> |
| <summary> |
| The total time the compilation took in microseconds. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.form_factor"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="V8CompileHints.Version5" |
| skip_proto_reason="Too many metrics causing scalability issue b/275678348"> |
| <owner>marja@chromium.org</owner> |
| <owner>v8-loading@google.com</owner> |
| <summary> |
| Data about which JavaScript functions are compiled. The collected data is |
| obfuscated to not reveal script URLs. The data is split into separate |
| int64s. |
| </summary> |
| <metric name="Data0"/> |
| <metric name="Data1"/> |
| <metric name="Data10"/> |
| <metric name="Data100"/> |
| <metric name="Data1000"/> |
| <metric name="Data1001"/> |
| <metric name="Data1002"/> |
| <metric name="Data1003"/> |
| <metric name="Data1004"/> |
| <metric name="Data1005"/> |
| <metric name="Data1006"/> |
| <metric name="Data1007"/> |
| <metric name="Data1008"/> |
| <metric name="Data1009"/> |
| <metric name="Data101"/> |
| <metric name="Data1010"/> |
| <metric name="Data1011"/> |
| <metric name="Data1012"/> |
| <metric name="Data1013"/> |
| <metric name="Data1014"/> |
| <metric name="Data1015"/> |
| <metric name="Data1016"/> |
| <metric name="Data1017"/> |
| <metric name="Data1018"/> |
| <metric name="Data1019"/> |
| <metric name="Data102"/> |
| <metric name="Data1020"/> |
| <metric name="Data1021"/> |
| <metric name="Data1022"/> |
| <metric name="Data1023"/> |
| <metric name="Data103"/> |
| <metric name="Data104"/> |
| <metric name="Data105"/> |
| <metric name="Data106"/> |
| <metric name="Data107"/> |
| <metric name="Data108"/> |
| <metric name="Data109"/> |
| <metric name="Data11"/> |
| <metric name="Data110"/> |
| <metric name="Data111"/> |
| <metric name="Data112"/> |
| <metric name="Data113"/> |
| <metric name="Data114"/> |
| <metric name="Data115"/> |
| <metric name="Data116"/> |
| <metric name="Data117"/> |
| <metric name="Data118"/> |
| <metric name="Data119"/> |
| <metric name="Data12"/> |
| <metric name="Data120"/> |
| <metric name="Data121"/> |
| <metric name="Data122"/> |
| <metric name="Data123"/> |
| <metric name="Data124"/> |
| <metric name="Data125"/> |
| <metric name="Data126"/> |
| <metric name="Data127"/> |
| <metric name="Data128"/> |
| <metric name="Data129"/> |
| <metric name="Data13"/> |
| <metric name="Data130"/> |
| <metric name="Data131"/> |
| <metric name="Data132"/> |
| <metric name="Data133"/> |
| <metric name="Data134"/> |
| <metric name="Data135"/> |
| <metric name="Data136"/> |
| <metric name="Data137"/> |
| <metric name="Data138"/> |
| <metric name="Data139"/> |
| <metric name="Data14"/> |
| <metric name="Data140"/> |
| <metric name="Data141"/> |
| <metric name="Data142"/> |
| <metric name="Data143"/> |
| <metric name="Data144"/> |
| <metric name="Data145"/> |
| <metric name="Data146"/> |
| <metric name="Data147"/> |
| <metric name="Data148"/> |
| <metric name="Data149"/> |
| <metric name="Data15"/> |
| <metric name="Data150"/> |
| <metric name="Data151"/> |
| <metric name="Data152"/> |
| <metric name="Data153"/> |
| <metric name="Data154"/> |
| <metric name="Data155"/> |
| <metric name="Data156"/> |
| <metric name="Data157"/> |
| <metric name="Data158"/> |
| <metric name="Data159"/> |
| <metric name="Data16"/> |
| <metric name="Data160"/> |
| <metric name="Data161"/> |
| <metric name="Data162"/> |
| <metric name="Data163"/> |
| <metric name="Data164"/> |
| <metric name="Data165"/> |
| <metric name="Data166"/> |
| <metric name="Data167"/> |
| <metric name="Data168"/> |
| <metric name="Data169"/> |
| <metric name="Data17"/> |
| <metric name="Data170"/> |
| <metric name="Data171"/> |
| <metric name="Data172"/> |
| <metric name="Data173"/> |
| <metric name="Data174"/> |
| <metric name="Data175"/> |
| <metric name="Data176"/> |
| <metric name="Data177"/> |
| <metric name="Data178"/> |
| <metric name="Data179"/> |
| <metric name="Data18"/> |
| <metric name="Data180"/> |
| <metric name="Data181"/> |
| <metric name="Data182"/> |
| <metric name="Data183"/> |
| <metric name="Data184"/> |
| <metric name="Data185"/> |
| <metric name="Data186"/> |
| <metric name="Data187"/> |
| <metric name="Data188"/> |
| <metric name="Data189"/> |
| <metric name="Data19"/> |
| <metric name="Data190"/> |
| <metric name="Data191"/> |
| <metric name="Data192"/> |
| <metric name="Data193"/> |
| <metric name="Data194"/> |
| <metric name="Data195"/> |
| <metric name="Data196"/> |
| <metric name="Data197"/> |
| <metric name="Data198"/> |
| <metric name="Data199"/> |
| <metric name="Data2"/> |
| <metric name="Data20"/> |
| <metric name="Data200"/> |
| <metric name="Data201"/> |
| <metric name="Data202"/> |
| <metric name="Data203"/> |
| <metric name="Data204"/> |
| <metric name="Data205"/> |
| <metric name="Data206"/> |
| <metric name="Data207"/> |
| <metric name="Data208"/> |
| <metric name="Data209"/> |
| <metric name="Data21"/> |
| <metric name="Data210"/> |
| <metric name="Data211"/> |
| <metric name="Data212"/> |
| <metric name="Data213"/> |
| <metric name="Data214"/> |
| <metric name="Data215"/> |
| <metric name="Data216"/> |
| <metric name="Data217"/> |
| <metric name="Data218"/> |
| <metric name="Data219"/> |
| <metric name="Data22"/> |
| <metric name="Data220"/> |
| <metric name="Data221"/> |
| <metric name="Data222"/> |
| <metric name="Data223"/> |
| <metric name="Data224"/> |
| <metric name="Data225"/> |
| <metric name="Data226"/> |
| <metric name="Data227"/> |
| <metric name="Data228"/> |
| <metric name="Data229"/> |
| <metric name="Data23"/> |
| <metric name="Data230"/> |
| <metric name="Data231"/> |
| <metric name="Data232"/> |
| <metric name="Data233"/> |
| <metric name="Data234"/> |
| <metric name="Data235"/> |
| <metric name="Data236"/> |
| <metric name="Data237"/> |
| <metric name="Data238"/> |
| <metric name="Data239"/> |
| <metric name="Data24"/> |
| <metric name="Data240"/> |
| <metric name="Data241"/> |
| <metric name="Data242"/> |
| <metric name="Data243"/> |
| <metric name="Data244"/> |
| <metric name="Data245"/> |
| <metric name="Data246"/> |
| <metric name="Data247"/> |
| <metric name="Data248"/> |
| <metric name="Data249"/> |
| <metric name="Data25"/> |
| <metric name="Data250"/> |
| <metric name="Data251"/> |
| <metric name="Data252"/> |
| <metric name="Data253"/> |
| <metric name="Data254"/> |
| <metric name="Data255"/> |
| <metric name="Data256"/> |
| <metric name="Data257"/> |
| <metric name="Data258"/> |
| <metric name="Data259"/> |
| <metric name="Data26"/> |
| <metric name="Data260"/> |
| <metric name="Data261"/> |
| <metric name="Data262"/> |
| <metric name="Data263"/> |
| <metric name="Data264"/> |
| <metric name="Data265"/> |
| <metric name="Data266"/> |
| <metric name="Data267"/> |
| <metric name="Data268"/> |
| <metric name="Data269"/> |
| <metric name="Data27"/> |
| <metric name="Data270"/> |
| <metric name="Data271"/> |
| <metric name="Data272"/> |
| <metric name="Data273"/> |
| <metric name="Data274"/> |
| <metric name="Data275"/> |
| <metric name="Data276"/> |
| <metric name="Data277"/> |
| <metric name="Data278"/> |
| <metric name="Data279"/> |
| <metric name="Data28"/> |
| <metric name="Data280"/> |
| <metric name="Data281"/> |
| <metric name="Data282"/> |
| <metric name="Data283"/> |
| <metric name="Data284"/> |
| <metric name="Data285"/> |
| <metric name="Data286"/> |
| <metric name="Data287"/> |
| <metric name="Data288"/> |
| <metric name="Data289"/> |
| <metric name="Data29"/> |
| <metric name="Data290"/> |
| <metric name="Data291"/> |
| <metric name="Data292"/> |
| <metric name="Data293"/> |
| <metric name="Data294"/> |
| <metric name="Data295"/> |
| <metric name="Data296"/> |
| <metric name="Data297"/> |
| <metric name="Data298"/> |
| <metric name="Data299"/> |
| <metric name="Data3"/> |
| <metric name="Data30"/> |
| <metric name="Data300"/> |
| <metric name="Data301"/> |
| <metric name="Data302"/> |
| <metric name="Data303"/> |
| <metric name="Data304"/> |
| <metric name="Data305"/> |
| <metric name="Data306"/> |
| <metric name="Data307"/> |
| <metric name="Data308"/> |
| <metric name="Data309"/> |
| <metric name="Data31"/> |
| <metric name="Data310"/> |
| <metric name="Data311"/> |
| <metric name="Data312"/> |
| <metric name="Data313"/> |
| <metric name="Data314"/> |
| <metric name="Data315"/> |
| <metric name="Data316"/> |
| <metric name="Data317"/> |
| <metric name="Data318"/> |
| <metric name="Data319"/> |
| <metric name="Data32"/> |
| <metric name="Data320"/> |
| <metric name="Data321"/> |
| <metric name="Data322"/> |
| <metric name="Data323"/> |
| <metric name="Data324"/> |
| <metric name="Data325"/> |
| <metric name="Data326"/> |
| <metric name="Data327"/> |
| <metric name="Data328"/> |
| <metric name="Data329"/> |
| <metric name="Data33"/> |
| <metric name="Data330"/> |
| <metric name="Data331"/> |
| <metric name="Data332"/> |
| <metric name="Data333"/> |
| <metric name="Data334"/> |
| <metric name="Data335"/> |
| <metric name="Data336"/> |
| <metric name="Data337"/> |
| <metric name="Data338"/> |
| <metric name="Data339"/> |
| <metric name="Data34"/> |
| <metric name="Data340"/> |
| <metric name="Data341"/> |
| <metric name="Data342"/> |
| <metric name="Data343"/> |
| <metric name="Data344"/> |
| <metric name="Data345"/> |
| <metric name="Data346"/> |
| <metric name="Data347"/> |
| <metric name="Data348"/> |
| <metric name="Data349"/> |
| <metric name="Data35"/> |
| <metric name="Data350"/> |
| <metric name="Data351"/> |
| <metric name="Data352"/> |
| <metric name="Data353"/> |
| <metric name="Data354"/> |
| <metric name="Data355"/> |
| <metric name="Data356"/> |
| <metric name="Data357"/> |
| <metric name="Data358"/> |
| <metric name="Data359"/> |
| <metric name="Data36"/> |
| <metric name="Data360"/> |
| <metric name="Data361"/> |
| <metric name="Data362"/> |
| <metric name="Data363"/> |
| <metric name="Data364"/> |
| <metric name="Data365"/> |
| <metric name="Data366"/> |
| <metric name="Data367"/> |
| <metric name="Data368"/> |
| <metric name="Data369"/> |
| <metric name="Data37"/> |
| <metric name="Data370"/> |
| <metric name="Data371"/> |
| <metric name="Data372"/> |
| <metric name="Data373"/> |
| <metric name="Data374"/> |
| <metric name="Data375"/> |
| <metric name="Data376"/> |
| <metric name="Data377"/> |
| <metric name="Data378"/> |
| <metric name="Data379"/> |
| <metric name="Data38"/> |
| <metric name="Data380"/> |
| <metric name="Data381"/> |
| <metric name="Data382"/> |
| <metric name="Data383"/> |
| <metric name="Data384"/> |
| <metric name="Data385"/> |
| <metric name="Data386"/> |
| <metric name="Data387"/> |
| <metric name="Data388"/> |
| <metric name="Data389"/> |
| <metric name="Data39"/> |
| <metric name="Data390"/> |
| <metric name="Data391"/> |
| <metric name="Data392"/> |
| <metric name="Data393"/> |
| <metric name="Data394"/> |
| <metric name="Data395"/> |
| <metric name="Data396"/> |
| <metric name="Data397"/> |
| <metric name="Data398"/> |
| <metric name="Data399"/> |
| <metric name="Data4"/> |
| <metric name="Data40"/> |
| <metric name="Data400"/> |
| <metric name="Data401"/> |
| <metric name="Data402"/> |
| <metric name="Data403"/> |
| <metric name="Data404"/> |
| <metric name="Data405"/> |
| <metric name="Data406"/> |
| <metric name="Data407"/> |
| <metric name="Data408"/> |
| <metric name="Data409"/> |
| <metric name="Data41"/> |
| <metric name="Data410"/> |
| <metric name="Data411"/> |
| <metric name="Data412"/> |
| <metric name="Data413"/> |
| <metric name="Data414"/> |
| <metric name="Data415"/> |
| <metric name="Data416"/> |
| <metric name="Data417"/> |
| <metric name="Data418"/> |
| <metric name="Data419"/> |
| <metric name="Data42"/> |
| <metric name="Data420"/> |
| <metric name="Data421"/> |
| <metric name="Data422"/> |
| <metric name="Data423"/> |
| <metric name="Data424"/> |
| <metric name="Data425"/> |
| <metric name="Data426"/> |
| <metric name="Data427"/> |
| <metric name="Data428"/> |
| <metric name="Data429"/> |
| <metric name="Data43"/> |
| <metric name="Data430"/> |
| <metric name="Data431"/> |
| <metric name="Data432"/> |
| <metric name="Data433"/> |
| <metric name="Data434"/> |
| <metric name="Data435"/> |
| <metric name="Data436"/> |
| <metric name="Data437"/> |
| <metric name="Data438"/> |
| <metric name="Data439"/> |
| <metric name="Data44"/> |
| <metric name="Data440"/> |
| <metric name="Data441"/> |
| <metric name="Data442"/> |
| <metric name="Data443"/> |
| <metric name="Data444"/> |
| <metric name="Data445"/> |
| <metric name="Data446"/> |
| <metric name="Data447"/> |
| <metric name="Data448"/> |
| <metric name="Data449"/> |
| <metric name="Data45"/> |
| <metric name="Data450"/> |
| <metric name="Data451"/> |
| <metric name="Data452"/> |
| <metric name="Data453"/> |
| <metric name="Data454"/> |
| <metric name="Data455"/> |
| <metric name="Data456"/> |
| <metric name="Data457"/> |
| <metric name="Data458"/> |
| <metric name="Data459"/> |
| <metric name="Data46"/> |
| <metric name="Data460"/> |
| <metric name="Data461"/> |
| <metric name="Data462"/> |
| <metric name="Data463"/> |
| <metric name="Data464"/> |
| <metric name="Data465"/> |
| <metric name="Data466"/> |
| <metric name="Data467"/> |
| <metric name="Data468"/> |
| <metric name="Data469"/> |
| <metric name="Data47"/> |
| <metric name="Data470"/> |
| <metric name="Data471"/> |
| <metric name="Data472"/> |
| <metric name="Data473"/> |
| <metric name="Data474"/> |
| <metric name="Data475"/> |
| <metric name="Data476"/> |
| <metric name="Data477"/> |
| <metric name="Data478"/> |
| <metric name="Data479"/> |
| <metric name="Data48"/> |
| <metric name="Data480"/> |
| <metric name="Data481"/> |
| <metric name="Data482"/> |
| <metric name="Data483"/> |
| <metric name="Data484"/> |
| <metric name="Data485"/> |
| <metric name="Data486"/> |
| <metric name="Data487"/> |
| <metric name="Data488"/> |
| <metric name="Data489"/> |
| <metric name="Data49"/> |
| <metric name="Data490"/> |
| <metric name="Data491"/> |
| <metric name="Data492"/> |
| <metric name="Data493"/> |
| <metric name="Data494"/> |
| <metric name="Data495"/> |
| <metric name="Data496"/> |
| <metric name="Data497"/> |
| <metric name="Data498"/> |
| <metric name="Data499"/> |
| <metric name="Data5"/> |
| <metric name="Data50"/> |
| <metric name="Data500"/> |
| <metric name="Data501"/> |
| <metric name="Data502"/> |
| <metric name="Data503"/> |
| <metric name="Data504"/> |
| <metric name="Data505"/> |
| <metric name="Data506"/> |
| <metric name="Data507"/> |
| <metric name="Data508"/> |
| <metric name="Data509"/> |
| <metric name="Data51"/> |
| <metric name="Data510"/> |
| <metric name="Data511"/> |
| <metric name="Data512"/> |
| <metric name="Data513"/> |
| <metric name="Data514"/> |
| <metric name="Data515"/> |
| <metric name="Data516"/> |
| <metric name="Data517"/> |
| <metric name="Data518"/> |
| <metric name="Data519"/> |
| <metric name="Data52"/> |
| <metric name="Data520"/> |
| <metric name="Data521"/> |
| <metric name="Data522"/> |
| <metric name="Data523"/> |
| <metric name="Data524"/> |
| <metric name="Data525"/> |
| <metric name="Data526"/> |
| <metric name="Data527"/> |
| <metric name="Data528"/> |
| <metric name="Data529"/> |
| <metric name="Data53"/> |
| <metric name="Data530"/> |
| <metric name="Data531"/> |
| <metric name="Data532"/> |
| <metric name="Data533"/> |
| <metric name="Data534"/> |
| <metric name="Data535"/> |
| <metric name="Data536"/> |
| <metric name="Data537"/> |
| <metric name="Data538"/> |
| <metric name="Data539"/> |
| <metric name="Data54"/> |
| <metric name="Data540"/> |
| <metric name="Data541"/> |
| <metric name="Data542"/> |
| <metric name="Data543"/> |
| <metric name="Data544"/> |
| <metric name="Data545"/> |
| <metric name="Data546"/> |
| <metric name="Data547"/> |
| <metric name="Data548"/> |
| <metric name="Data549"/> |
| <metric name="Data55"/> |
| <metric name="Data550"/> |
| <metric name="Data551"/> |
| <metric name="Data552"/> |
| <metric name="Data553"/> |
| <metric name="Data554"/> |
| <metric name="Data555"/> |
| <metric name="Data556"/> |
| <metric name="Data557"/> |
| <metric name="Data558"/> |
| <metric name="Data559"/> |
| <metric name="Data56"/> |
| <metric name="Data560"/> |
| <metric name="Data561"/> |
| <metric name="Data562"/> |
| <metric name="Data563"/> |
| <metric name="Data564"/> |
| <metric name="Data565"/> |
| <metric name="Data566"/> |
| <metric name="Data567"/> |
| <metric name="Data568"/> |
| <metric name="Data569"/> |
| <metric name="Data57"/> |
| <metric name="Data570"/> |
| <metric name="Data571"/> |
| <metric name="Data572"/> |
| <metric name="Data573"/> |
| <metric name="Data574"/> |
| <metric name="Data575"/> |
| <metric name="Data576"/> |
| <metric name="Data577"/> |
| <metric name="Data578"/> |
| <metric name="Data579"/> |
| <metric name="Data58"/> |
| <metric name="Data580"/> |
| <metric name="Data581"/> |
| <metric name="Data582"/> |
| <metric name="Data583"/> |
| <metric name="Data584"/> |
| <metric name="Data585"/> |
| <metric name="Data586"/> |
| <metric name="Data587"/> |
| <metric name="Data588"/> |
| <metric name="Data589"/> |
| <metric name="Data59"/> |
| <metric name="Data590"/> |
| <metric name="Data591"/> |
| <metric name="Data592"/> |
| <metric name="Data593"/> |
| <metric name="Data594"/> |
| <metric name="Data595"/> |
| <metric name="Data596"/> |
| <metric name="Data597"/> |
| <metric name="Data598"/> |
| <metric name="Data599"/> |
| <metric name="Data6"/> |
| <metric name="Data60"/> |
| <metric name="Data600"/> |
| <metric name="Data601"/> |
| <metric name="Data602"/> |
| <metric name="Data603"/> |
| <metric name="Data604"/> |
| <metric name="Data605"/> |
| <metric name="Data606"/> |
| <metric name="Data607"/> |
| <metric name="Data608"/> |
| <metric name="Data609"/> |
| <metric name="Data61"/> |
| <metric name="Data610"/> |
| <metric name="Data611"/> |
| <metric name="Data612"/> |
| <metric name="Data613"/> |
| <metric name="Data614"/> |
| <metric name="Data615"/> |
| <metric name="Data616"/> |
| <metric name="Data617"/> |
| <metric name="Data618"/> |
| <metric name="Data619"/> |
| <metric name="Data62"/> |
| <metric name="Data620"/> |
| <metric name="Data621"/> |
| <metric name="Data622"/> |
| <metric name="Data623"/> |
| <metric name="Data624"/> |
| <metric name="Data625"/> |
| <metric name="Data626"/> |
| <metric name="Data627"/> |
| <metric name="Data628"/> |
| <metric name="Data629"/> |
| <metric name="Data63"/> |
| <metric name="Data630"/> |
| <metric name="Data631"/> |
| <metric name="Data632"/> |
| <metric name="Data633"/> |
| <metric name="Data634"/> |
| <metric name="Data635"/> |
| <metric name="Data636"/> |
| <metric name="Data637"/> |
| <metric name="Data638"/> |
| <metric name="Data639"/> |
| <metric name="Data64"/> |
| <metric name="Data640"/> |
| <metric name="Data641"/> |
| <metric name="Data642"/> |
| <metric name="Data643"/> |
| <metric name="Data644"/> |
| <metric name="Data645"/> |
| <metric name="Data646"/> |
| <metric name="Data647"/> |
| <metric name="Data648"/> |
| <metric name="Data649"/> |
| <metric name="Data65"/> |
| <metric name="Data650"/> |
| <metric name="Data651"/> |
| <metric name="Data652"/> |
| <metric name="Data653"/> |
| <metric name="Data654"/> |
| <metric name="Data655"/> |
| <metric name="Data656"/> |
| <metric name="Data657"/> |
| <metric name="Data658"/> |
| <metric name="Data659"/> |
| <metric name="Data66"/> |
| <metric name="Data660"/> |
| <metric name="Data661"/> |
| <metric name="Data662"/> |
| <metric name="Data663"/> |
| <metric name="Data664"/> |
| <metric name="Data665"/> |
| <metric name="Data666"/> |
| <metric name="Data667"/> |
| <metric name="Data668"/> |
| <metric name="Data669"/> |
| <metric name="Data67"/> |
| <metric name="Data670"/> |
| <metric name="Data671"/> |
| <metric name="Data672"/> |
| <metric name="Data673"/> |
| <metric name="Data674"/> |
| <metric name="Data675"/> |
| <metric name="Data676"/> |
| <metric name="Data677"/> |
| <metric name="Data678"/> |
| <metric name="Data679"/> |
| <metric name="Data68"/> |
| <metric name="Data680"/> |
| <metric name="Data681"/> |
| <metric name="Data682"/> |
| <metric name="Data683"/> |
| <metric name="Data684"/> |
| <metric name="Data685"/> |
| <metric name="Data686"/> |
| <metric name="Data687"/> |
| <metric name="Data688"/> |
| <metric name="Data689"/> |
| <metric name="Data69"/> |
| <metric name="Data690"/> |
| <metric name="Data691"/> |
| <metric name="Data692"/> |
| <metric name="Data693"/> |
| <metric name="Data694"/> |
| <metric name="Data695"/> |
| <metric name="Data696"/> |
| <metric name="Data697"/> |
| <metric name="Data698"/> |
| <metric name="Data699"/> |
| <metric name="Data7"/> |
| <metric name="Data70"/> |
| <metric name="Data700"/> |
| <metric name="Data701"/> |
| <metric name="Data702"/> |
| <metric name="Data703"/> |
| <metric name="Data704"/> |
| <metric name="Data705"/> |
| <metric name="Data706"/> |
| <metric name="Data707"/> |
| <metric name="Data708"/> |
| <metric name="Data709"/> |
| <metric name="Data71"/> |
| <metric name="Data710"/> |
| <metric name="Data711"/> |
| <metric name="Data712"/> |
| <metric name="Data713"/> |
| <metric name="Data714"/> |
| <metric name="Data715"/> |
| <metric name="Data716"/> |
| <metric name="Data717"/> |
| <metric name="Data718"/> |
| <metric name="Data719"/> |
| <metric name="Data72"/> |
| <metric name="Data720"/> |
| <metric name="Data721"/> |
| <metric name="Data722"/> |
| <metric name="Data723"/> |
| <metric name="Data724"/> |
| <metric name="Data725"/> |
| <metric name="Data726"/> |
| <metric name="Data727"/> |
| <metric name="Data728"/> |
| <metric name="Data729"/> |
| <metric name="Data73"/> |
| <metric name="Data730"/> |
| <metric name="Data731"/> |
| <metric name="Data732"/> |
| <metric name="Data733"/> |
| <metric name="Data734"/> |
| <metric name="Data735"/> |
| <metric name="Data736"/> |
| <metric name="Data737"/> |
| <metric name="Data738"/> |
| <metric name="Data739"/> |
| <metric name="Data74"/> |
| <metric name="Data740"/> |
| <metric name="Data741"/> |
| <metric name="Data742"/> |
| <metric name="Data743"/> |
| <metric name="Data744"/> |
| <metric name="Data745"/> |
| <metric name="Data746"/> |
| <metric name="Data747"/> |
| <metric name="Data748"/> |
| <metric name="Data749"/> |
| <metric name="Data75"/> |
| <metric name="Data750"/> |
| <metric name="Data751"/> |
| <metric name="Data752"/> |
| <metric name="Data753"/> |
| <metric name="Data754"/> |
| <metric name="Data755"/> |
| <metric name="Data756"/> |
| <metric name="Data757"/> |
| <metric name="Data758"/> |
| <metric name="Data759"/> |
| <metric name="Data76"/> |
| <metric name="Data760"/> |
| <metric name="Data761"/> |
| <metric name="Data762"/> |
| <metric name="Data763"/> |
| <metric name="Data764"/> |
| <metric name="Data765"/> |
| <metric name="Data766"/> |
| <metric name="Data767"/> |
| <metric name="Data768"/> |
| <metric name="Data769"/> |
| <metric name="Data77"/> |
| <metric name="Data770"/> |
| <metric name="Data771"/> |
| <metric name="Data772"/> |
| <metric name="Data773"/> |
| <metric name="Data774"/> |
| <metric name="Data775"/> |
| <metric name="Data776"/> |
| <metric name="Data777"/> |
| <metric name="Data778"/> |
| <metric name="Data779"/> |
| <metric name="Data78"/> |
| <metric name="Data780"/> |
| <metric name="Data781"/> |
| <metric name="Data782"/> |
| <metric name="Data783"/> |
| <metric name="Data784"/> |
| <metric name="Data785"/> |
| <metric name="Data786"/> |
| <metric name="Data787"/> |
| <metric name="Data788"/> |
| <metric name="Data789"/> |
| <metric name="Data79"/> |
| <metric name="Data790"/> |
| <metric name="Data791"/> |
| <metric name="Data792"/> |
| <metric name="Data793"/> |
| <metric name="Data794"/> |
| <metric name="Data795"/> |
| <metric name="Data796"/> |
| <metric name="Data797"/> |
| <metric name="Data798"/> |
| <metric name="Data799"/> |
| <metric name="Data8"/> |
| <metric name="Data80"/> |
| <metric name="Data800"/> |
| <metric name="Data801"/> |
| <metric name="Data802"/> |
| <metric name="Data803"/> |
| <metric name="Data804"/> |
| <metric name="Data805"/> |
| <metric name="Data806"/> |
| <metric name="Data807"/> |
| <metric name="Data808"/> |
| <metric name="Data809"/> |
| <metric name="Data81"/> |
| <metric name="Data810"/> |
| <metric name="Data811"/> |
| <metric name="Data812"/> |
| <metric name="Data813"/> |
| <metric name="Data814"/> |
| <metric name="Data815"/> |
| <metric name="Data816"/> |
| <metric name="Data817"/> |
| <metric name="Data818"/> |
| <metric name="Data819"/> |
| <metric name="Data82"/> |
| <metric name="Data820"/> |
| <metric name="Data821"/> |
| <metric name="Data822"/> |
| <metric name="Data823"/> |
| <metric name="Data824"/> |
| <metric name="Data825"/> |
| <metric name="Data826"/> |
| <metric name="Data827"/> |
| <metric name="Data828"/> |
| <metric name="Data829"/> |
| <metric name="Data83"/> |
| <metric name="Data830"/> |
| <metric name="Data831"/> |
| <metric name="Data832"/> |
| <metric name="Data833"/> |
| <metric name="Data834"/> |
| <metric name="Data835"/> |
| <metric name="Data836"/> |
| <metric name="Data837"/> |
| <metric name="Data838"/> |
| <metric name="Data839"/> |
| <metric name="Data84"/> |
| <metric name="Data840"/> |
| <metric name="Data841"/> |
| <metric name="Data842"/> |
| <metric name="Data843"/> |
| <metric name="Data844"/> |
| <metric name="Data845"/> |
| <metric name="Data846"/> |
| <metric name="Data847"/> |
| <metric name="Data848"/> |
| <metric name="Data849"/> |
| <metric name="Data85"/> |
| <metric name="Data850"/> |
| <metric name="Data851"/> |
| <metric name="Data852"/> |
| <metric name="Data853"/> |
| <metric name="Data854"/> |
| <metric name="Data855"/> |
| <metric name="Data856"/> |
| <metric name="Data857"/> |
| <metric name="Data858"/> |
| <metric name="Data859"/> |
| <metric name="Data86"/> |
| <metric name="Data860"/> |
| <metric name="Data861"/> |
| <metric name="Data862"/> |
| <metric name="Data863"/> |
| <metric name="Data864"/> |
| <metric name="Data865"/> |
| <metric name="Data866"/> |
| <metric name="Data867"/> |
| <metric name="Data868"/> |
| <metric name="Data869"/> |
| <metric name="Data87"/> |
| <metric name="Data870"/> |
| <metric name="Data871"/> |
| <metric name="Data872"/> |
| <metric name="Data873"/> |
| <metric name="Data874"/> |
| <metric name="Data875"/> |
| <metric name="Data876"/> |
| <metric name="Data877"/> |
| <metric name="Data878"/> |
| <metric name="Data879"/> |
| <metric name="Data88"/> |
| <metric name="Data880"/> |
| <metric name="Data881"/> |
| <metric name="Data882"/> |
| <metric name="Data883"/> |
| <metric name="Data884"/> |
| <metric name="Data885"/> |
| <metric name="Data886"/> |
| <metric name="Data887"/> |
| <metric name="Data888"/> |
| <metric name="Data889"/> |
| <metric name="Data89"/> |
| <metric name="Data890"/> |
| <metric name="Data891"/> |
| <metric name="Data892"/> |
| <metric name="Data893"/> |
| <metric name="Data894"/> |
| <metric name="Data895"/> |
| <metric name="Data896"/> |
| <metric name="Data897"/> |
| <metric name="Data898"/> |
| <metric name="Data899"/> |
| <metric name="Data9"/> |
| <metric name="Data90"/> |
| <metric name="Data900"/> |
| <metric name="Data901"/> |
| <metric name="Data902"/> |
| <metric name="Data903"/> |
| <metric name="Data904"/> |
| <metric name="Data905"/> |
| <metric name="Data906"/> |
| <metric name="Data907"/> |
| <metric name="Data908"/> |
| <metric name="Data909"/> |
| <metric name="Data91"/> |
| <metric name="Data910"/> |
| <metric name="Data911"/> |
| <metric name="Data912"/> |
| <metric name="Data913"/> |
| <metric name="Data914"/> |
| <metric name="Data915"/> |
| <metric name="Data916"/> |
| <metric name="Data917"/> |
| <metric name="Data918"/> |
| <metric name="Data919"/> |
| <metric name="Data92"/> |
| <metric name="Data920"/> |
| <metric name="Data921"/> |
| <metric name="Data922"/> |
| <metric name="Data923"/> |
| <metric name="Data924"/> |
| <metric name="Data925"/> |
| <metric name="Data926"/> |
| <metric name="Data927"/> |
| <metric name="Data928"/> |
| <metric name="Data929"/> |
| <metric name="Data93"/> |
| <metric name="Data930"/> |
| <metric name="Data931"/> |
| <metric name="Data932"/> |
| <metric name="Data933"/> |
| <metric name="Data934"/> |
| <metric name="Data935"/> |
| <metric name="Data936"/> |
| <metric name="Data937"/> |
| <metric name="Data938"/> |
| <metric name="Data939"/> |
| <metric name="Data94"/> |
| <metric name="Data940"/> |
| <metric name="Data941"/> |
| <metric name="Data942"/> |
| <metric name="Data943"/> |
| <metric name="Data944"/> |
| <metric name="Data945"/> |
| <metric name="Data946"/> |
| <metric name="Data947"/> |
| <metric name="Data948"/> |
| <metric name="Data949"/> |
| <metric name="Data95"/> |
| <metric name="Data950"/> |
| <metric name="Data951"/> |
| <metric name="Data952"/> |
| <metric name="Data953"/> |
| <metric name="Data954"/> |
| <metric name="Data955"/> |
| <metric name="Data956"/> |
| <metric name="Data957"/> |
| <metric name="Data958"/> |
| <metric name="Data959"/> |
| <metric name="Data96"/> |
| <metric name="Data960"/> |
| <metric name="Data961"/> |
| <metric name="Data962"/> |
| <metric name="Data963"/> |
| <metric name="Data964"/> |
| <metric name="Data965"/> |
| <metric name="Data966"/> |
| <metric name="Data967"/> |
| <metric name="Data968"/> |
| <metric name="Data969"/> |
| <metric name="Data97"/> |
| <metric name="Data970"/> |
| <metric name="Data971"/> |
| <metric name="Data972"/> |
| <metric name="Data973"/> |
| <metric name="Data974"/> |
| <metric name="Data975"/> |
| <metric name="Data976"/> |
| <metric name="Data977"/> |
| <metric name="Data978"/> |
| <metric name="Data979"/> |
| <metric name="Data98"/> |
| <metric name="Data980"/> |
| <metric name="Data981"/> |
| <metric name="Data982"/> |
| <metric name="Data983"/> |
| <metric name="Data984"/> |
| <metric name="Data985"/> |
| <metric name="Data986"/> |
| <metric name="Data987"/> |
| <metric name="Data988"/> |
| <metric name="Data989"/> |
| <metric name="Data99"/> |
| <metric name="Data990"/> |
| <metric name="Data991"/> |
| <metric name="Data992"/> |
| <metric name="Data993"/> |
| <metric name="Data994"/> |
| <metric name="Data995"/> |
| <metric name="Data996"/> |
| <metric name="Data997"/> |
| <metric name="Data998"/> |
| <metric name="Data999"/> |
| </event> |
| |
| <event name="VideoConferencingEvent" singular="True"> |
| <owner>sanjeetnd@google.com</owner> |
| <owner>charleszhao@google.com</owner> |
| <summary> |
| Records videoconferencing usage on web apps. Only records for apps which |
| have captured camera, microphone, or screen at least once while open. |
| </summary> |
| <metric name="CameraCaptureDuration"> |
| <summary> |
| The total time duration (bucketed) the VC app spent capturing camera. |
| Duration in units of ms. |
| </summary> |
| </metric> |
| <metric name="DidCaptureCamera" enum="Boolean"> |
| <summary> |
| App captured camera. |
| </summary> |
| </metric> |
| <metric name="DidCaptureMicrophone" enum="Boolean"> |
| <summary> |
| App captured microphone. |
| </summary> |
| </metric> |
| <metric name="DidCaptureScreen" enum="Boolean"> |
| <summary> |
| App captured screen. |
| </summary> |
| </metric> |
| <metric name="MicrophoneCaptureDuration"> |
| <summary> |
| The total time duration (bucketed) the VC app spent capturing microphone. |
| Duration in units of ms. |
| </summary> |
| </metric> |
| <metric name="ScreenCaptureDuration"> |
| <summary> |
| The total time duration (bucketed) the VC app spent capturing the screen. |
| Duration in units of ms. |
| </summary> |
| </metric> |
| <metric name="TotalDuration"> |
| <summary> |
| Duration (bucketed) for which the VC app was open. Duration in units of |
| ms. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="VirtualKeyboard.Open"> |
| <owner>shend@chromium.org</owner> |
| <summary> |
| Collects the used input types with the Virtual Keyboard. |
| </summary> |
| <metric name="TextInputType"> |
| <summary> |
| Type of a input field which the user is trying to use the Virtual Keyboard |
| on. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.form_factor"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Wallet.BoardingPassDetect" singular="True"> |
| <owner>hanfeng@google.com</owner> |
| <summary> |
| Records boarding pass barcode detection results. |
| </summary> |
| <metric name="Detected" enum="Boolean"> |
| <summary> |
| Whether a boarding pass barocode is detected. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="WebAPK.Install" singular="True"> |
| <owner>yfriedman@chromium.org</owner> |
| <owner>hartmanng@chromium.org</owner> |
| <owner>pkotwicz@chromium.org</owner> |
| <summary> |
| WebAPK usage metrics recorded on Install. |
| </summary> |
| <metric name="DisplayMode" enum="WebAppDisplayMode"> |
| <summary> |
| Records the display mode of the added WebAPK. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Distributor" enum="WebApkDistributor"> |
| <summary> |
| Distribution source of the WebAPK (browser, device policy, etc). |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Install" enum="Boolean"> |
| <summary> |
| Recorded when this WebAPK is installed. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="InstallSource" enum="WebappInstallSource"> |
| <summary> |
| From where the user initiates the install: app menu, install API, etc. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="WebAPK.SessionEnd" singular="True"> |
| <owner>yfriedman@chromium.org</owner> |
| <owner>hartmanng@chromium.org</owner> |
| <owner>pkotwicz@chromium.org</owner> |
| <summary> |
| WebAPK usage metrics recorded when the WebAPK is backgrounded. |
| </summary> |
| <metric name="AppVersion"> |
| <summary> |
| WebAPK app version that the user has installed. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Distributor" enum="WebApkDistributor"> |
| <summary> |
| Distribution source of the WebAPK (browser, device policy, etc). |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SessionDuration"> |
| <summary> |
| How long the user spent inside the WebAPK, in milliseconds. This will use |
| exponential bucketing (ie, count in 10s of milliseconds at first, then |
| 100s, then seconds, 10s of seconds, minutes, 10 minutes, hours, 10 hours, |
| days, weeks, years.) |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="WebAPK.Uninstall" singular="True"> |
| <owner>yfriedman@chromium.org</owner> |
| <owner>hartmanng@chromium.org</owner> |
| <owner>pkotwicz@chromium.org</owner> |
| <summary> |
| WebAPK usage metrics recorded on Uninstall. |
| </summary> |
| <metric name="AppVersion"> |
| <summary> |
| WebAPK app version that the user has installed. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Distributor" enum="WebApkDistributor"> |
| <summary> |
| Distribution source of the WebAPK (browser, device policy, etc). |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="InstalledDuration"> |
| <summary> |
| How long between Install and Uninstall of a particular WebAPK, in seconds. |
| This will use exponential bucketing (ie, count in seconds at first, then |
| 10s of seconds, minutes, 10 minutes, hours, 10 hours, days, weeks, years.) |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="LifetimeLaunches" enum="WebApkLifetimeLaunchCount"> |
| <summary> |
| Records how many times the WebAPK was launched between install and |
| uninstall (in coarse buckets). |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Uninstall" enum="Boolean"> |
| <summary> |
| Recorded when this WebAPK is uninstalled. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="WebAPK.Visit" singular="True"> |
| <owner>yfriedman@chromium.org</owner> |
| <owner>hartmanng@chromium.org</owner> |
| <owner>pkotwicz@chromium.org</owner> |
| <summary> |
| WebAPK usage metrics recorded during a user's interaction with the site. |
| </summary> |
| <metric name="AppVersion"> |
| <summary> |
| WebAPK app version that the user has installed. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Distributor" enum="WebApkDistributor"> |
| <summary> |
| Distribution source of the WebAPK (browser, device policy, etc). |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Launch" enum="Boolean"> |
| <summary> |
| Recorded every time this WebAPK is launched. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="LaunchSource" enum="LaunchFromHomeScreenSource"> |
| <summary> |
| Launch source of the WebAPK. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="Webapp.AddToHomeScreen"> |
| <owner>eirage@chromium.org></owner> |
| <owner>hartmanng@chromium.org</owner> |
| <owner>mwi-team-core@google.com</owner> |
| <summary> |
| A2HS usage metrics recorded when users started the add to home screen flow |
| on Android. |
| </summary> |
| <metric name="DisplayMode" enum="WebAppDisplayMode"> |
| <summary> |
| Records the display mode of the added Webapp. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="SameAsManifestStartUrl" enum="Boolean"> |
| <summary> |
| Record whether `start_url` for the Shortcuts is the same as the current |
| page url. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ShortcutReason" enum="InstallableStatusCode"> |
| <summary> |
| Record an StatusCode for why this site is not WebAPK compatible. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="WebApp.DailyInteraction"> |
| <owner>dmurph@chromium.org</owner> |
| <owner>pwa-team@google.com</owner> |
| <summary> |
| Features of a web app recorded at most once per day if a user interacted |
| with the web app. Recorded for installed and/or promotable (installable) web |
| apps unless noted otherwise on the metric. Keyed by start_url of the app. |
| Note: Changed in Feb 2023 to only record when App sync is enabled. |
| </summary> |
| <metric name="BackgroundDuration"> |
| <summary> |
| Records the total duration (seconds, bucketed) that the app was open in |
| the background in the last calendar day. Summed during the day and emitted |
| if the date changes. Recorded only for installed web apps that are |
| currently open in a web app window, and all preinstalled web apps. In m128 |
| a bug is fixed where on resuming from sleep background time did not resume |
| counting. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="CapturesLinks" enum="Boolean"> |
| <summary> |
| Whether the user has enabled link capturing to open in-scope links in the |
| app window. Recorded only for installed web apps that are currently open |
| in a web app window, and all preinstalled web apps. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="DisplayMode" enum="WebAppDisplayMode"> |
| <summary> |
| Effective display mode of the web app (may be set by a manifest and |
| manifest may be overridden by the user). |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ForegroundDuration"> |
| <summary> |
| Records the total duration (seconds, bucketed) that the app was open in |
| the foreground in the last calendar day. Summed during the day and emitted |
| if the date changes. Recorded only for installed web apps that are |
| currently open in a web app window, and all preinstalled web apps. As of |
| m128, this time is cut short if Chrome determines that it is not active |
| anymore (see the DesktopSessionDurationTracker). This is to keep the |
| cumulative sum of this value comparable with Session.TotalDuration. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Installed" enum="Boolean"> |
| <summary> |
| Whether the web app is installed. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="InstallSource" enum="WebappInstallSource"> |
| <summary> |
| Install source of the web app (omnibox, menu item, policy, etc). |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="NumSessions"> |
| <summary> |
| Records the total number of times the app was focused in the foreground in |
| the last calendar day. Recorded only for installed web apps that are |
| currently open in a web app window, and all preinstalled web apps. |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Promotable" enum="Boolean"> |
| <summary> |
| Whether the web app is currently considered 'promotable' (passes Chrome |
| checks to be considered an installable web app). |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Used" enum="Boolean"> |
| <summary> |
| Records that the web app was used. Always true (or the event would not |
| have been emitted for this WebApp). |
| </summary> |
| <aggregation> |
| <history> |
| <index fields="profile.country"/> |
| <index fields="profile.form_factor"/> |
| <index fields="profile.system_ram"/> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="WebAuthn.RegisterCompletion"> |
| <owner>kenrb@chromium.org</owner> |
| <owner>chrome-webauthn@google.com</owner> |
| <summary> |
| Information about the completion of a request to register a new Web |
| Authentication credential. |
| </summary> |
| <metric name="RegisterCompletionResult" |
| enum="WebAuthenticationMakeCredentialOutcome"> |
| <summary> |
| The outcome of the request, indicating whether it was successful, and the |
| cause of failure if not successful. |
| </summary> |
| </metric> |
| <metric name="RequestMode" enum="WebAuthenticationRequestMode"> |
| <summary> |
| The mode of WebAuthn register request that has been completed. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="WebAuthn.SignCompletion"> |
| <owner>kenrb@chromium.org</owner> |
| <owner>chrome-webauthn@google.com</owner> |
| <summary> |
| Information about the completion of a request for a signed assertion by a |
| Web Authentication credential. |
| </summary> |
| <metric name="RequestMode" enum="WebAuthenticationRequestMode"> |
| <summary> |
| The mode of WebAuthn assertion request that has been completed. |
| </summary> |
| </metric> |
| <metric name="SignCompletionResult" |
| enum="WebAuthenticationGetAssertionOutcome"> |
| <summary> |
| The outcome of the request, indicating whether it was successful, and the |
| cause of failure if not successful. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="WebOTPImpact"> |
| <owner>yigu@chromium.org</owner> |
| <owner>goto@chromium.org</owner> |
| <owner>web-identity-eng@google.com</owner> |
| <summary> |
| Records in the browser process when a document is destroyed. |
| </summary> |
| <metric name="PhoneCollection" enum="PhoneCollectionState"> |
| <summary> |
| Records whether a document collected phone number, and/or used WebOTP, |
| and/or used OneTimeCode (OTC) during its lifecycle. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="WebRTC.AddressHarvesting"> |
| <owner>hta@chromium.org</owner> |
| <summary> |
| Collects usage patterns that may indicate attempts to gather users' IP |
| addresses. A heuristic in the webrtc library tries to detect usages that may |
| indicate attempts to gather users' IP addresses rather than setting up |
| communication via WebRTC, and reports possible attempts. |
| </summary> |
| <metric name="UsagePattern"> |
| <summary> |
| The usage pattern detected (an int encoding bit values). The bits are |
| defined in third_party/webrtc/pc/peerconnection.h, in the |
| "PeerConnection::UsageEvent" enum. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="WebRTC.ComplexSdp"> |
| <owner>hbos@chromium.org</owner> |
| <owner>guidou@chromium.org</owner> |
| <summary> |
| Logged when an application uses complex SDP in a WebRTC PeerConnection or |
| experiences an error attempting to parse SDP. Such cases will result in |
| errors if the application assumes the wrong default SDP format. This is an |
| important concern during the transition of the default SDP format from Plan |
| B to Unified Plan. |
| </summary> |
| <metric name="Category"> |
| <summary> |
| A value that represents how complex/unparsable SDP is used. The categories |
| are defined in blink::ComplexSdpCategory. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="WindowProxyUsage"> |
| <owner>arichiv@google.com</owner> |
| <owner>katabolism-finch@google.com</owner> |
| <summary> |
| This metric is recorded when WindowProxy usage occurs (e.g., a frame |
| accesses its opener, parent(s), child(ren), or a window it opened). |
| </summary> |
| <metric name="AccessType" enum="WindowProxyAccessType"> |
| <summary> |
| Records the method being used on the window proxy. |
| </summary> |
| </metric> |
| <metric name="IsSamePage" enum="Boolean"> |
| <summary> |
| Boolean value that indicates if the frame accessing the window proxy and |
| the frame referenced by the window proxy are in the same page. |
| </summary> |
| </metric> |
| <metric name="LocalFrameContext" enum="WindowProxyFrameContext"> |
| <summary> |
| Records the context of the frame tree accessing the window proxy. |
| </summary> |
| </metric> |
| <metric name="LocalPageContext" enum="WindowProxyPageContext"> |
| <summary> |
| Records the context of the page accessing the window proxy. |
| </summary> |
| </metric> |
| <metric name="LocalUserActivationState" enum="WindowProxyUserActivationState"> |
| <summary> |
| Records the user activation state of the frame accessing the window proxy. |
| </summary> |
| </metric> |
| <metric name="RemoteFrameContext" enum="WindowProxyFrameContext"> |
| <summary> |
| Records the context of the frame tree referenced by the window proxy. |
| </summary> |
| </metric> |
| <metric name="RemotePageContext" enum="WindowProxyPageContext"> |
| <summary> |
| Records the context of the page referenced by the window proxy. |
| </summary> |
| </metric> |
| <metric name="RemoteUserActivationState" |
| enum="WindowProxyUserActivationState"> |
| <summary> |
| Records the user activation state of the frame referenced by the window |
| proxy. |
| </summary> |
| </metric> |
| <metric name="StorageKeyComparison" enum="WindowProxyStorageKeyComparison"> |
| <summary> |
| Records the similarities and differences between the storage key of the |
| frame accessing the window proxy and the frame referenced by the window |
| proxy. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="Worker.ClientAdded"> |
| <owner>cfredric@google.com</owner> |
| <summary> |
| Recorded when a client connects to an existing SharedWorker or |
| ServiceWorker; records the source IDs of the client (which may be a document |
| or another worker), and the type of the worker being connected to. In the |
| case of a ServiceWorker, this is recorded for each worker-client pair that |
| could communicate (whether or not they actually do) and this is only |
| recorded once the client is execution ready. Note also that emission can be |
| caused by the creation of a new ServiceWorker or a new ServiceWorker client. |
| </summary> |
| <metric name="ClientSourceId"> |
| <summary> |
| The UKM source ID of the connecting client, as an integer. |
| </summary> |
| </metric> |
| <metric name="WorkerType" enum="WorkerType"> |
| <summary> |
| The type of the worker that was connected to. |
| </summary> |
| </metric> |
| </event> |
| |
| <event name="XR.WebXR" singular="True"> |
| <owner>billorr@chromium.org</owner> |
| <owner>xr-dev@chromium.org</owner> |
| <summary> |
| Records information about WebXR methods that were used in a single |
| navigation. The event will be recorded as the WebXR functions are called - |
| since the event is singular, the data that will eventualy be sent will |
| contain a union of metrics that were set in an event. |
| </summary> |
| <metric name="DidGetXRInputSources" enum="Boolean"> |
| <summary> |
| Boolean value that indicates that the WebXR input API was used. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="DidRequestAvailableDevices" enum="Boolean"> |
| <summary> |
| Boolean value that indicates that the API to enumerate devices was called. |
| This API is only exposed through WebVR. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="DidRequestPose" enum="Boolean"> |
| <summary> |
| Boolean value that indicates that poses were requested. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="DidRequestPresentation" enum="Boolean"> |
| <summary> |
| Boolean value that indicates that presentation was requested. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="DidUseNavigatorXR" enum="Boolean"> |
| <summary> |
| Boolean value that indicates that the WebXR Device API was used. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ReturnedDevice" enum="Boolean"> |
| <summary> |
| Boolean value that indicates that a device was returned by the API to |
| enumerate devices. This API is only exposed through WebVR. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="ReturnedPresentationCapableDevice" enum="Boolean"> |
| <summary> |
| Boolean value that indicates that a device was returned by the API to |
| enumerate devices, and that the device supports presentation. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="XR.WebXR.Session"> |
| <owner>billorr@chromium.org</owner> |
| <owner>bialpio@chromium.org</owner> |
| <owner>xr-dev@chromium.org</owner> |
| <owner>cassew@google.com</owner> |
| <summary> |
| When session ends, records data for a WebXR / WebVR session. |
| </summary> |
| <metric name="Duration"> |
| <summary> |
| The approximate amount of time (in seconds) that elapsed from session |
| creation to session end. Times are reported accurately when low, for |
| example, under a minute, and get rounded to minutes and then hours as they |
| get larger. This is done by SessionTracker::GetRoundedDurationInSeconds. |
| For inline sessions, this might get pretty large. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <quantiles type="std-percentiles"/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="FeatureRequest.BoundedFloor" enum="XRFeatureRequestStatus"> |
| <summary> |
| State of the 'bounded-floor' feature request. |
| </summary> |
| </metric> |
| <metric name="FeatureRequest.Local" enum="XRFeatureRequestStatus"> |
| <summary> |
| State of the 'local' feature request. |
| </summary> |
| </metric> |
| <metric name="FeatureRequest.LocalFloor" enum="XRFeatureRequestStatus"> |
| <summary> |
| State of the 'local-floor' feature request. |
| </summary> |
| </metric> |
| <metric name="FeatureRequest.Unbounded" enum="XRFeatureRequestStatus"> |
| <summary> |
| State of the 'unbounded' feature request. |
| </summary> |
| </metric> |
| <metric name="FeatureRequest.Viewer" enum="XRFeatureRequestStatus"> |
| <summary> |
| State of the 'viewer' feature request. |
| </summary> |
| </metric> |
| <metric name="FeatureUse.BoundedFloor" enum="Boolean"> |
| <summary> |
| Whether the 'bounded-floor' feature was used during this session, |
| regardless of whether it was used successfully. |
| </summary> |
| </metric> |
| <metric name="FeatureUse.Local" enum="Boolean"> |
| <summary> |
| Whether the 'local' feature was used during this session, regardless of |
| whether it was used successfully. |
| </summary> |
| </metric> |
| <metric name="FeatureUse.LocalFloor" enum="Boolean"> |
| <summary> |
| Whether the 'local-floor' feature was used during this session, regardless |
| of whether it was used successfully. |
| </summary> |
| </metric> |
| <metric name="FeatureUse.Unbounded" enum="Boolean"> |
| <summary> |
| Whether the 'unbounded' feature was used during this session, regardless |
| of whether it was used successfully. |
| </summary> |
| </metric> |
| <metric name="FeatureUse.Viewer" enum="Boolean"> |
| <summary> |
| Whether the 'viewer' feature was used during this session, regardless of |
| whether it was used successfully. |
| </summary> |
| </metric> |
| <metric name="Mode" enum="XRSessionMode"> |
| <summary> |
| An enum value specifying WebXR session's mode. See `device::SessionMode` |
| for enum type declaration. 0: Unknown, catch all. 1: Inline session. 2: |
| Immersive VR session. 3: Immersive AR session. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| <event name="XR.WebXR.SessionRequest"> |
| <owner>xr-dev@chromium.org</owner> |
| <owner>cassew@google.com</owner> |
| <summary> |
| Recorded when promise returned by `requestSession` gets resolved / rejected. |
| </summary> |
| <metric name="Feature.BoundedFloor" enum="XRFeatureRequestStatus"> |
| <summary> |
| State of the 'bounded-floor' feature request. |
| </summary> |
| </metric> |
| <metric name="Feature.Local" enum="XRFeatureRequestStatus"> |
| <summary> |
| State of the 'local' feature request. |
| </summary> |
| </metric> |
| <metric name="Feature.LocalFloor" enum="XRFeatureRequestStatus"> |
| <summary> |
| State of the 'local-floor' feature request. |
| </summary> |
| </metric> |
| <metric name="Feature.Unbounded" enum="XRFeatureRequestStatus"> |
| <summary> |
| State of the 'unbounded' feature request. |
| </summary> |
| </metric> |
| <metric name="Feature.Viewer" enum="XRFeatureRequestStatus"> |
| <summary> |
| State of the 'viewer' feature request. |
| </summary> |
| </metric> |
| <metric name="Mode" enum="XRSessionMode"> |
| <summary> |
| An enum value that indicates that the `requestSession` API was called to |
| request session with this mode. See `device::SessionMode` for enum type |
| declaration. 0: Unknown, catch all. 1: Inline session was requested. 2: |
| Immersive VR session was requested. 3: Immersive AR session was requested. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| <metric name="Status" enum="XRSessionRequestStatus"> |
| <summary> |
| An enum value that describes the result of the call to `requestSession` |
| method. See `` for enum type declaration. 0: Success. 1: Other failure. |
| </summary> |
| <aggregation> |
| <history> |
| <statistics> |
| <enumeration/> |
| </statistics> |
| </history> |
| </aggregation> |
| </metric> |
| </event> |
| |
| </ukm-configuration> |