blob: 3ae2a0fc6478054c73a8c2365ce660faf16b450e [file] [log] [blame]
<!--
Copyright 2017 The Chromium Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<!--
This file is used to generate a comprehensive list of Chrome UKM metrics
along with a detailed description for each metric.
See the following doc for details on how to add entries to this file:
https://chromium.googlesource.com/chromium/src.git/+/master/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="AbusiveExperienceHeuristic">
<owner>csharrison@chromium.org</owner>
<owner>yaoxia@chromium.org</owner>
<summary>
Obsolete. Various metrics recording experiences which are commonly used for
abusive purposes.
</summary>
<metric name="DidTabUnder">
<summary>
True if the page attempted a tab-under navigation.
</summary>
</metric>
<metric name="DidWindowOpenFromAdScript">
<summary>
True if the page called window.open with an ad script in the stack.
</summary>
</metric>
<metric name="DidWindowOpenFromAdSubframe">
<summary>
True if the page called window.open() from an ad subframe.
</summary>
</metric>
</event>
<event name="AdPageLoad">
<owner>johnidel@chromium.org</owner>
<owner>jkarlin@chromium.org</owner>
<summary>
Recorded when a page has loadded non-zero ad bytes, and the page is being
destroyed/navigated.
</summary>
<metric name="AdBytes">
<summary>
Amount of bytes used to load ad resource on the page. Includes resources
that did not finish, and top-level ads.
</summary>
</metric>
<metric name="AdBytesPerSecond">
<summary>
Amount of bytes used to load ad resources on the page, per second the page
was alive after commit.
</summary>
</metric>
<metric name="AdBytesPerSecondAfterInteractive">
<summary>
Amount of bytes used to load ad resources on the page per second after the
page was interactive.
</summary>
</metric>
<metric name="AdJavascriptBytes">
<summary>
Amount of bytes used to load ad resources with a supported javascript mime
type on the page.
</summary>
</metric>
<metric name="AdVideoBytes">
<summary>
Amount of bytes used to load ad resources with a video mime type on the
page.
</summary>
</metric>
<metric name="TotalBytes">
<summary>
Amount of bytes used to load resources on the page. Includes resources
that did not finish.
</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="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="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="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="AppType">
<summary>
The type of app. 1: CHROME, 2: PLAY, 3: PWA.
</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>
</event>
<event name="Autofill.DeveloperEngagement">
<owner>jiahuiguo@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. This is the hash identifier used to denote this
form for query and voting purposes. See
components/autofill/core/common/signatures_util.cc for more details.
</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. See
|FormStructure::IsCompleteCreditCardForm()|.
</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. This is the hash identifier used to denote
this field for query and voting purposes. See
components/autofill/core/common/signatures_util.cc for more details.
</summary>
</metric>
<metric name="FormSignature">
<summary>
The signature of the form. This is the hash identifier used to denote this
form for query and voting purposes. See
components/autofill/core/common/signatures_util.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">
<summary>
The observed type of the field. See: autofill::ServerFieldType
</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">
<summary>
The predicted type of the field. See: autofill::ServerFieldType
</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>
</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 |ServerFieldType|. See |AutofillField.GetStorableType()|.
</summary>
</metric>
<metric name="FieldSignature">
<summary>
The signature of the field. This is the hash identifier used to denote
this field for query and voting purposes. See
components/autofill/core/common/signatures_util.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. This is the hash identifier used to denote this
form for query and voting purposes. See
components/autofill/core/common/signatures_util.cc for more details.
</summary>
</metric>
<metric name="HeuristicType">
<summary>
Field's |ServerFieldType| 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 |ServerFieldType| returned by server. See
|AutofillField.server_type()|.
</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 |ServerFieldType| after rationalization. See
|AutofillField.GetStorableType()|.
</summary>
</metric>
<metric name="FieldOldOverallType">
<summary>
Field's overall |ServerFieldType| before rationalization. See
|AutofillField.GetStorableType()|.
</summary>
</metric>
<metric name="FieldSignature">
<summary>
The signature of the field. This is the hash identifier used to denote
this field for query and voting purposes. See
components/autofill/core/common/signatures_util.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. This is the hash identifier used to denote this
form for query and voting purposes. See
components/autofill/core/common/signatures_util.cc for more details.
</summary>
</metric>
<metric name="HeuristicType">
<summary>
Field's |ServerFieldType| 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 |ServerFieldType| returned by server. See
|AutofillField.server_type()|.
</summary>
</metric>
</event>
<event name="Autofill.FormSubmitted">
<owner>jiahuiguo@google.com</owner>
<summary>
Recorded when user submits a form.
</summary>
<metric name="AutofillFormSubmittedState">
<summary>
Whether form's fields were all autofilled, some fields were autofilled, or
none of the field were autofilled. See |AutofillFormSubmittedState|.
</summary>
</metric>
<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="HasUpiVpaField">
<summary>
True for forms containing a UPI/VPA field.
</summary>
</metric>
<metric name="IsForCreditCard">
<summary>
True for credit card forms, false for address/profile forms. See
|FormStructure::IsCompleteCreditCardForm()|.
</summary>
</metric>
<metric name="MillisecondsSinceFormParsed">
<summary>
Time since form parse.
</summary>
</metric>
</event>
<event name="Autofill.InteractedWithForm">
<owner>jiahuiguo@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.SelectedMaskedServerCard">
<owner>jiahuiguo@google.com</owner>
<metric name="MillisecondsSinceFormParsed">
<summary>
Time since form parse.
</summary>
</metric>
</event>
<event name="Autofill.SuggestionFilled">
<owner>jiahuiguo@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>jiahuiguo@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 |ServerFieldType| 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 |ServerFieldType| returned by server. See
|AutofillField.server_type()|.
</summary>
</metric>
</event>
<event name="Autofill.TextFieldDidChange">
<owner>jiahuiguo@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 |ServerFieldType| 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 |ServerFieldType| returned by server. See
|AutofillField.server_type()|.
</summary>
</metric>
</event>
<event name="Blink.UpdateTime">
<owner>schenney@chromium.org</owner>
<summary>
Metrics that measure various update times in Blink. This includes paint,
compositing, and layout update times. The metrics are recorded once per 30
seconds and at the destruction of the local frame root.
</summary>
<metric name="Compositing.Average">
<summary>
The average time taken by the compositing phase in microseconds in the
event period.
</summary>
<aggregation>
<history>
<index fields="profile.country"/>
<statistics>
<quantiles type="std-percentiles"/>
</statistics>
</history>
</aggregation>
</metric>
<metric name="Compositing.AverageRatio">
<summary>
The average over frames within the sample window of the ratio of time
taken in the compositing phase to the total time for the main frame. An
int in the range [0,100].
</summary>
</metric>
<metric name="Compositing.WorstCase">
<summary>
The longest single time taken by the compositing phase in microseconds in
the event period.
</summary>
</metric>
<metric name="Compositing.WorstCaseRatio">
<summary>
The highest proportion of a frame ever used by the compositing phase
within the sample window. An int in the range [0,100].
</summary>
</metric>
<metric name="CompositingCommit.Average">
<summary>
The average time taken by the compositing commit at the end of the blink
lifecycle, in microseconds in the event period.
</summary>
<aggregation>
<history>
<index fields="profile.country"/>
<statistics>
<quantiles type="std-percentiles"/>
</statistics>
</history>
</aggregation>
</metric>
<metric name="CompositingCommit.AverageRatio">
<summary>
The average over frames within the sample window of the ratio of time
taken by the compositing commit at the end of the blink lifecycle to the
total time for the main frame. An int in the range [0,100].
</summary>
</metric>
<metric name="CompositingCommit.WorstCase">
<summary>
The longest single time taken by the compositing commit at the end of the
blink lifecycle, in microseconds in the event period.
</summary>
</metric>
<metric name="CompositingCommit.WorstCaseRatio">
<summary>
The highest proportion of a frame ever taken by the compositing commit at
the end of the blink lifecycle to the total time for the main frame. An
int in the range [0,100].
</summary>
</metric>
<metric name="ForcedStyleAndLayout.Average">
<summary>
The average time taken by all forced style recalcs and layouts in
microseconds in the event period.
</summary>
<aggregation>
<history>
<index fields="profile.country"/>
<statistics>
<quantiles type="std-percentiles"/>
</statistics>
</history>
</aggregation>
</metric>
<metric name="ForcedStyleAndLayout.AverageRatio">
<summary>
The average over frames within the sample window of the ratio of time
taken by forced style recalc and layouts at the end of the blink lifecycle
to the total time for the main frame. An int in the range [0,100].
</summary>
</metric>
<metric name="ForcedStyleAndLayout.WorstCase">
<summary>
The longest single time taken by a forced style recalc and layout in
microseconds in the event period.
</summary>
</metric>
<metric name="ForcedStyleAndLayout.WorstCaseRatio">
<summary>
The highest proportion of a frame ever taken by forced style recalc and
layouts at the end of the blink lifecycle to the total time for the main
frame. An int in the range [0,100].
</summary>
</metric>
<metric name="IntersectionObservation.Average">
<summary>
The average time taken to compute IntersectionObserver observations in
microseconds in the event period.
</summary>
<aggregation>
<history>
<index fields="profile.country"/>
<statistics>
<quantiles type="std-percentiles"/>
</statistics>
</history>
</aggregation>
</metric>
<metric name="IntersectionObservation.AverageRatio">
<summary>
The average over frames within the sample window of the ratio of time
taken compute IntersectionObserver observations to the total time for the
main frame. An int in the range [0,100].
</summary>
</metric>
<metric name="IntersectionObservation.WorstCase">
<summary>
The longest single time taken to compute IntersectionObserver observations
in microseconds in the event period.
</summary>
</metric>
<metric name="IntersectionObservation.WorstCaseRatio">
<summary>
The highest proportion of a frame ever taken to compute
IntersectionObserver observations within the sample window. An int in the
range [0,100].
</summary>
</metric>
<metric name="MainFrame.Average">
<summary>
The average time between a BeginMainFrame and the commit of paint results,
in microseconds.
</summary>
<aggregation>
<history>
<index fields="profile.country"/>
<statistics>
<quantiles type="std-percentiles"/>
</statistics>
</history>
</aggregation>
</metric>
<metric name="MainFrame.WorstCase">
<summary>
The longest single time between a BeginMainFrame and the commit of paint
results, in microseconds.
</summary>
</metric>
<metric name="Paint.Average">
<summary>
The average time taken by the paint phase in microseconds in the event
period.
</summary>
<aggregation>
<history>
<index fields="profile.country"/>
<statistics>
<quantiles type="std-percentiles"/>
</statistics>
</history>
</aggregation>
</metric>
<metric name="Paint.AverageRatio">
<summary>
The average over frames within the sample window of the ratio of time
taken in the paint phase to the total time for the main frame. An int in
the range [0,100].
</summary>
</metric>
<metric name="Paint.WorstCase">
<summary>
The longest single time taken by the paint phase in microseconds in the
event period.
</summary>
</metric>
<metric name="Paint.WorstCaseRatio">
<summary>
The highest proportion of a frame ever used by the paint phase within the
sample window. An int in the range [0,100].
</summary>
</metric>
<metric name="PrePaint.Average">
<summary>
The average time taken by the pre-paint phase in microseconds in the event
period.
</summary>
<aggregation>
<history>
<index fields="profile.country"/>
<statistics>
<quantiles type="std-percentiles"/>
</statistics>
</history>
</aggregation>
</metric>
<metric name="PrePaint.AverageRatio">
<summary>
The average over frames within the sample window of the ratio of time
taken in the pre-paint phase to the total time for the main frame. An int
in the range [0,100].
</summary>
</metric>
<metric name="PrePaint.WorstCase">
<summary>
The longest single time taken by the pre-paint phase in microseconds in
the event period.
</summary>
</metric>
<metric name="PrePaint.WorstCaseRatio">
<summary>
The highest proportion of a frame ever used by the pre-paint phase within
the sample window. An int in the range [0,100].
</summary>
</metric>
<metric name="ScrollingCoordinator.Average">
<summary>
The average time taken by the style and layout phases in microseconds in
the event period.
</summary>
<aggregation>
<history>
<index fields="profile.country"/>
<statistics>
<quantiles type="std-percentiles"/>
</statistics>
</history>
</aggregation>
</metric>
<metric name="ScrollingCoordinator.AverageRatio">
<summary>
The average over frames within the event period of the ratio of time taken
to update the scrolling coordinator after painting to the total time for
the main frame, expressed as a percentage. An int in the range [0,100].
</summary>
</metric>
<metric name="ScrollingCoordinator.WorstCase">
<summary>
The longest single time within the event period that was used to update
the ScrollingCoordinator after painting (in microseconds).
</summary>
</metric>
<metric name="ScrollingCoordinator.WorstCaseRatio">
<summary>
The highest proportion of a frame within the event period that was used to
update the ScrollingCoordinator after painting, expressed as a percentage.
An int in the range [0,100].
</summary>
</metric>
<metric name="StyleAndLayout.Average">
<summary>
The average time taken by the style and layout phases in microseconds in
the event period.
</summary>
<aggregation>
<history>
<index fields="profile.country"/>
<statistics>
<quantiles type="std-percentiles"/>
</statistics>
</history>
</aggregation>
</metric>
<metric name="StyleAndLayout.AverageRatio">
<summary>
The average over frames within the sample window of the ratio of time
taken to update style and layout to the total time for the main frame. An
int in the range [0,100].
</summary>
</metric>
<metric name="StyleAndLayout.WorstCase">
<summary>
The longest single time taken by the style and layout phases in
microseconds in the event period.
</summary>
</metric>
<metric name="StyleAndLayout.WorstCaseRatio">
<summary>
The highest proportion of a frame ever used to compute style and layout
within the sample window. An int in the range [0,100].
</summary>
</metric>
</event>
<event name="Blink.UseCounter">
<owner>loonybear@chromium.org</owner>
<summary>
Collects data for a subset of UseCounter features. When 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.
</summary>
<metric name="Feature">
<summary>
Opt-in UseCounter feature.
</summary>
<aggregation>
<history>
<statistics>
<enumeration/>
</statistics>
</history>
</aggregation>
</metric>
<metric name="IsMainFrameFeature">
<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="BloatedRenderer">
<owner>ulan@chromium.org</owner>
<summary>
Metrics related to a bloated renderer that is close to out-of-memory. They
are recorded only if the renderer process has a single page.
</summary>
<metric name="V8.Heap">
<summary>
The total physical size of V8's heap in MB.
</summary>
</metric>
<metric name="V8.Heap.AllocatedObjects">
<summary>
The total size of allocated on V8's heap in MB.
</summary>
</metric>
<metric name="V8.Heap.Limit">
<summary>
The V8 heap limit in MB.
</summary>
</metric>
<metric name="V8.NearV8HeapLimitHandling">
<summary>
An enum that specifies how the near V8 heap limit event was handled. See
blink::NearV8HeapLimitHandling for the enum elements.
</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="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="ContextualSearch">
<owner>donnd@chromium.org</owner>
<summary>
Metrics related to a Contextual Search Tap event on a page, for use with
Ranker. These metrics are recorded each time the user triggers the
Contextual Search UI via a tap gesture (when enabled).
</summary>
<metric name="DidOptIn">
<summary>
Emits a 1 or 0 to indicate whether the user has Opted-in to the privacy
conditions for Contextual Search or not.
</summary>
</metric>
<metric name="DurationAfterScrollMs">
<summary>
Duration in MS between showing the UI and a subsequent scroll event, or
not recorded if there was no subsequent scroll.
</summary>
</metric>
<metric name="EntityImpressionsCount">
<summary>
Emits an integer in the range of 0 - N that represents the number of
impressions of an Entity that were shown in the Bar, aggregated in Android
device storage for this user, starting in M-69.
</summary>
</metric>
<metric name="EntityOpensCount">
<summary>
Emits an integer in the range of 0 - N that represents the number of times
an Entity was shown in the Bar and the panel was opened, aggregated in
Android device storage for this user, starting in M-69.
</summary>
</metric>
<metric name="FontSize">
<summary>
Emits a value from 0-10 representing the effective font size on the
screen. A value of 0 means the font size cannot be obtained. A value of 1
represents a very small font and a value of 10 represents a large font.
</summary>
</metric>
<metric name="IsEntity">
<summary>
Emits a 1 or 0 to indicate whether the word tapped appears to be part of
an entity, given simple English language rules that check capitalization
and punctuation.
</summary>
</metric>
<metric name="IsEntityEligible">
<summary>
Emits a 1 or 0 to indicate whether the IsEntity boolean ever had a chance
of being true or not. When we're dealing with languages other than ones
where our simple entity-detection can work this signal is false.
</summary>
</metric>
<metric name="IsHttp">
<summary>
Emits a 1 or 0 to indicate whether the base page is HTTP (insecure).
</summary>
</metric>
<metric name="IsLanguageMismatch">
<summary>
Emits a 1 or 0 to indicate whether the language of the base page is a
mismatch from the list of languages the user knows, so they might want
translation.
</summary>
</metric>
<metric name="IsLongWord">
<summary>
Emits a 1 or 0 to indicate whether the word tapped was considered long (at
least 10 chars in length).
</summary>
</metric>
<metric name="IsSecondTapOverride">
<summary>
Emits a 1 or 0 to indicate whether the tap was an override of normal tap
suppression because it was considered a second tap on a word after the
first tap was suppressed.
</summary>
</metric>
<metric name="IsShortWord">
<summary>
Emits a 1 or 0 to indicate whether the word tapped was considered short
(less than 4 characters in length).
</summary>
</metric>
<metric name="IsWordEdge">
<summary>
Emits a 1 or 0 to indicate whether the tap gesture was on the edge of a
word, rather than in the middle 50% of the word.
</summary>
</metric>
<metric name="OpenCount">
<summary>
Emits an integer in the range of 0 - N that represents the total number of
times the user opened the panel, aggregated in Android device storage for
this user since M-69.
</summary>
</metric>
<metric name="OutcomeRankerDidPredict">
<summary>
Emits a 1 or 0 to indicate whether Ranker was able to make a prediction.
</summary>
</metric>
<metric name="OutcomeRankerPrediction">
<summary>
Emits a 1 or 0 to indicate what Ranker's prediction was for this record.
Recorded only when OutcomeRankerDidPredict is true.
</summary>
</metric>
<metric name="OutcomeRankerPredictionScore">
<summary>
Emits a single-precision float to indicate the score for the Ranker
prediction for this record. Recorded only when OutcomeRankerDidPredict is
true.
</summary>
</metric>
<metric name="OutcomeWasCardsDataShown">
<summary>
Emits a 1 or 0 to indicate whether any Contextual Cards data was shown in
the Contextual Search Bar.
</summary>
</metric>
<metric name="OutcomeWasPanelOpened">
<summary>
Emits a 1 or 0 to indicate whether the user opened the overlay panel. This
is the primary outcome metric.
</summary>
</metric>
<metric name="OutcomeWasQuickActionClicked">
<summary>
Emits a 1 or 0 to indicate whether the user clicked within the overlay
panel when a Quick-Action was shown. This is a secondary outcome metric.
</summary>
</metric>
<metric name="OutcomeWasQuickAnswerSeen">
<summary>
Emits a 1 or 0 to indicate whether the user could see a Quick-Answer
caption within the overlay panel. This is a tertiary outcome metric.
</summary>
</metric>
<metric name="PortionOfElement">
<summary>
Emits an integer in the range 0-10 inclusive that expresses the portion of
the enclosing element that is the word tapped. A zero will be emitted if
the ratio cannot be calculated. A value of 10 means the word spans the
entire element, and a value of 1 means the word is 10% or less than the
entire element.
</summary>
</metric>
<metric name="Previous28DayCtrPercent">
<summary>
The CTR of the overlay panel for this user, aggregated in Android device
storage over a previous 28 day period, expressed as an integer between
0-99, since M-60.
</summary>
</metric>
<metric name="Previous28DayImpressionsCount">
<summary>
The count of views of the overlay panel for this user, aggregated in
Android device storage over a previous 28 day period, since M-60.
</summary>
</metric>
<metric name="PreviousWeekCtrPercent">
<summary>
The CTR of the overlay panel for this user, aggregated in Android device
storage over the previous week, expressed as an integer between 0-99,
since M-60.
</summary>
</metric>
<metric name="PreviousWeekImpressionsCount">
<summary>
The count of views of the overlay panel for this user, aggregated in
Android device storage over the previous week, since M-60.
</summary>
</metric>
<metric name="QuickActionImpressionsCount">
<summary>
Emits an integer in the range of 0 - N that represents the total number of
times the user saw a quick action in the caption of the Bar, e.g. a phone
number to dial. Aggregated in Android device storage since M-69 for this
user.
</summary>
</metric>
<metric name="QuickActionsIgnored">
<summary>
Emits an integer in the range of 0 - N that represents the total number of
times the user ignored a quick action but opened the Bar instead, e.g. a
phone number was available but not dialed. Aggregated in Android device
storage starting at M-69.
</summary>
</metric>
<metric name="QuickActionsTaken">
<summary>
Emits an integer in the range of 0 - N that represents the total number of
times the user activated a quick action by tapping on a quick action shown
in the Bar, e.g. dialed a phone number. Aggregated in Android device
storage since M-69 for this user.
</summary>
</metric>
<metric name="QuickAnswerCount">
<summary>
Emits an integer in the range of 0 - N that represents the total number of
times the user saw a quick answer in the caption of the Bar. Typically
these quick answers represent an automatic translation of the selection.
Aggregated in Android device storage for all time for this user, since
M-57.
</summary>
</metric>
<metric name="ScreenTopDps">
<summary>
The location of the tap relative to the top of the screen, expressed in
DPs.
</summary>
</metric>
<metric name="TapCount">
<summary>
Emits an integer in the range of 0 - N that represents the total number of
taps that triggered the Bar, aggregated in Android device storage for this
user, since M-43.
</summary>
</metric>
<metric name="TapDurationMs">
<summary>
The duration of the tap gesture expressed as an integer in milliseconds.
</summary>
</metric>
<metric name="WasScreenBottom">
<summary>
The location of the tap relative to the bottom of the screen, expressed as
an integer with 0 meaning not at the bottom and 1 meaning at the bottom.
</summary>
</metric>
</event>
<event name="ContextualSuggestions">
<owner>donnd@chromium.org</owner>
<owner>fgorski@chromium.org</owner>
<owner>twellington@chromium.org</owner>
<owner>zea@chromium.org</owner>
<summary>
Metrics related to Contextual Suggestions shown in the Chrome Assistive
Surface, aka EoC shown in CAS. These metrics are recorded each time the
Contextual Suggestions UI is dismissed. Each record always contains a value
for every metric known at the time of the implementation.
</summary>
<metric name="AnyDownloaded">
<summary>
Emits an integer in the range 0-1 to indicate whether the user downloaded
any suggestions.
</summary>
</metric>
<metric name="AnySuggestionTaken">
<summary>
Emits an integer in the range 0-1 to indicate whether any suggestion link
was taken.
</summary>
</metric>
<metric name="ClosedFromPeek">
<summary>
Emits an integer in the range 0-1 to indicate whether the peeking sheet
was closed by tapping on the close button.
</summary>
</metric>
<metric name="EverOpened">
<summary>
Emits an integer in the range 0-1 to indicate whether the sheet was ever
opened.
</summary>
</metric>
<metric name="FetchState">
<summary>
Emits an integer in the range 0-7 to indicate the ending state of the data
fetcher and results returned. A value of 0 indicates not-started, a 7
indicates fetch-completed with suggestions. See the code for details.
</summary>
</metric>
<metric name="ShowDurationBucketMin">
<summary>
Emits an integer in the range 0-N to indicate the duration that the sheet
was shown before a positive or negative action was taken. A value of 0
indicates that the UI was never shown. A value greater than 0 indicates
that some user interaction occurred taking at least the indicated number
of milliseconds, but less than twice that amount. This exponential
bucketing is done for privacy reasons, and uses the UKM
GetExponentialBucketMin method with a value of 2.0 for spacing.
</summary>
</metric>
<metric name="TriggerEvent">
<summary>
Emits an integer in the range 0-2 to indicate whether the contextual
suggestions UI was ever triggered and how it was triggered. A value of 0
indicates never-shown, a 1 indicates peeked in response to a
reverse-scroll (deprecated), and 2 indicates that the toolbar button was
shown (the only trigger currently supported).
</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="DocumentCreated">
<owner>beccahughes@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="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="Document.OutliveTimeAfterShutdown">
<owner>hajimehoshi@chromium.org</owner>
<owner>keishi@chromium.org</owner>
<summary>
Recorded when a Document object survives certain number of garbage
collections after detached. It is expected that regular Document objects are
destroyed soon after detached, and if a document outlives longer, probably
this can be leaked.
</summary>
<metric name="GCCount">
<summary>
Measures the numbers of garbarge collection after the document is
detached. This is recorded when the number reached certain numbers like 5
or 10.
</summary>
</metric>
</event>
<event name="Download.Started">
<owner>jming@chromium.org</owner>
<owner>xingliu@chromium.org</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="Download.Completed">
<owner>jming@chromium.org</owner>
<owner>xingliu@chromium.org</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 miliseconds.
</summary>
</metric>
</event>
<event name="Download.Interrupted">
<owner>jming@chromium.org</owner>
<owner>xingliu@chromium.org</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 miliseconds.
</summary>
</metric>
</event>
<event name="Download.Resumed">
<owner>jming@chromium.org</owner>
<owner>xingliu@chromium.org</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 miliseconds.
</summary>
</metric>
</event>
<event name="Event.ScrollUpdate.Touch">
<owner>nzolghadr@chromium.org</owner>
<summary>
Metrics related to a scroll action caused by the generated ScrollUpdate
gesture event.
</summary>
<metric name="IsMainThread">
<summary>
Whether the event is handled on the main thread or not.
</summary>
</metric>
<metric name="TimeToHandled">
<summary>
The time in microseconds between initial creation of a touch event and the
generated ScrollUpdate gesture event is handled on main/impl thread. If no
swap was induced by the ScrollUpdate gesture event, no recording is made.
</summary>
</metric>
<metric name="TimeToScrollUpdateSwapBegin">
<summary>
The time in microseconds between the initial creation of a touch event and
the start of the frame swap on the GPU service. If no swap was induced by
the event, no recording is made. The first GSU of every scrolling sequence
is excluded from this metric.
</summary>
<aggregation>
<history>
<index fields="profile.country"/>
<statistics>
<quantiles type="std-percentiles"/>
</statistics>
</history>
</aggregation>
</metric>
</event>
<event name="Event.ScrollBegin.Touch">
<owner>nzolghadr@chromium.org</owner>
<summary>
Metrics related to first scroll action caused by the generated ScrollUpdate
gesture event.
</summary>
<metric name="IsMainThread">
<summary>
Whether the event is handled on the main thread or not.
</summary>
</metric>
<metric name="TimeToHandled">
<summary>
The time in microseconds between initial creation of a touch event and the
first generated ScrollUpdate gesture event in a given scroll gesture event
sequence is handled on main/impl thread. If no swap was induced by the
ScrollUpdate gesture event, no recording is made.
</summary>
</metric>
<metric name="TimeToScrollUpdateSwapBegin">
<summary>
The time in microseconds between initial creation of a touch event and the
start of the frame swap on the GPU service caused by the generated
ScrollUpdate gesture event if that ScrollUpdate is the first such event in
a given scroll gesture event sequence. If no swap was induced by the
event, no recording is made.
</summary>
<aggregation>
<history>
<index fields="profile.country"/>
<statistics>
<quantiles type="std-percentiles"/>
</statistics>
</history>
</aggregation>
</metric>
</event>
<event name="Event.ScrollUpdate.Wheel">
<owner>nzolghadr@chromium.org</owner>
<owner>tdresser@chromium.org</owner>
<summary>
Metrics related to a scroll action caused by the generated ScrollUpdate
gesture event.
</summary>
<metric name="IsMainThread">
<summary>
Whether the event is handled on the main thread or not.
</summary>
</metric>
<metric name="TimeToHandled">
<summary>
The time in microseconds between initial creation of a wheel event and the
generated ScrollUpdate gesture event is handled on main/impl thread. If no
swap was induced by the ScrollUpdate gesture event, no recording is made.
The first GSU of every scrolling sequence is excluded from this metric.
</summary>
</metric>
<metric name="TimeToScrollUpdateSwapBegin">
<summary>
The time in microseconds between the initial creation of a wheel event and
the start of the frame swap on the GPU service. If no swap was induced by
the event, no recording is made. The first GSU of every scrolling sequence
is excluded from this metric.
</summary>
</metric>
</event>
<event name="Event.ScrollBegin.Wheel">
<owner>nzolghadr@chromium.org</owner>
<summary>
Metrics related to first scroll action caused by the generated ScrollUpdate
gesture event.
</summary>
<metric name="IsMainThread">
<summary>
Whether the event is handled on the main thread or not.
</summary>
</metric>
<metric name="TimeToHandled">
<summary>
The time in microseconds between initial creation of a wheel event and the
first generated ScrollUpdate gesture event in a given scroll gesture event
sequence is handled on main/impl thread. If no swap was induced by the
ScrollBegin gesture event, no recording is made.
</summary>
</metric>
<metric name="TimeToScrollUpdateSwapBegin">
<summary>
The time in microseconds between the initial creation of a wheel event and
the start of the frame swap on the GPU service caused by the generated
ScrollUpdate gesture event if that ScrollUpdate is the first such event in
a given scroll gesture event sequence. If no swap was induced by the
event, no recording is made.
</summary>
</metric>
</event>
<event name="Intervention.DocumentWrite.ScriptBlock" singular="True">
<owner>bmcquade@chromium.org</owner>
<summary>
Recorded for page loads where the document.write script block intervention
could apply.
</summary>
<metric name="Disabled.Reload">
<summary>
Records '1' if the document.write script block intervention could have
applied, but was disabled due to the page being reloaded.
</summary>
</metric>
<metric name="ParseTiming.ParseBlockedOnScriptExecutionFromDocumentWrite">
<summary>
Measures the time in milliseconds that the HTML parser spent blocked on
the execution of scripts inserted from document.write, for main frame
documents that finished parsing.
</summary>
</metric>
<metric name="ParseTiming.ParseBlockedOnScriptLoadFromDocumentWrite">
<summary>
Measures the time in milliseconds that the HTML parser spent blocked on
the load of scripts inserted from document.write, for main frame documents
that finished parsing.
</summary>
</metric>
</event>
<event name="Layout.DisplayCutout.StateChanged">
<owner>beccahughes@chromium.org</owner>
<owner>media-dev@chromium.org</owner>
<summary>
Recorded every time the ViewportFit that is supplied by a frame changes or
the fullscreen state of a frame or its parent WebContents changes.
</summary>
<metric name="IsMainFrame">
<summary>
Records '1' if the frame that triggered this event is the main frame.
</summary>
</metric>
<metric name="SafeAreasPresent">
<summary>
Records whether each safe area was present. It will contain the first flag
(1) if the top safe area is present. Likewise the second for the left, the
third for the bottom and the forth for the right. If the safe area is
updated whilst we are allowed to extend into the cutout then we will use
the newest safe area values.
</summary>
</metric>
<metric name="ViewportFit.Applied">
<summary>
Contains the ViewportFit value that was applied by the WebContents. The
frame that is fullscreen will always propagate it's ViewportFit value.
This is stored as a ViewportFit enum (see display_cutout.mojom).
</summary>
</metric>
<metric name="ViewportFit.IgnoredReason">
<summary>
Records the reason why the ViewportFit value of this frame was not the
applied value. It will be '0' if the value was allowed. It will be '1' if
the ViewportFit value from the frame was blocked because the WebContents
was not fullscreen. It will be '2' flag if the ViewportFit value from the
frame was blocked because another frame is fullscreen.
</summary>
</metric>
<metric name="ViewportFit.Supplied">
<summary>
Contains the ViewportFit value that was supplied by the frame that
triggered the event. This is stored as a ViewportFit enum (see
display_cutout.mojom). It can never be kAuto as we ignore events when the
page is not trying to use the viewport fit API.
</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 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 |LookalikeUrlNavigationObserver|.
</summary>
</metric>
</event>
<event name="MainFrameDownload">
<owner>yaoxia@chromium.org</owner>
<summary>
Measurement for top frame download. It is only recorded for downloads
originated from navigations or from HTML anchor download attributes.
</summary>
<metric name="HasGesture">
<summary>
A boolean denoting whether the download involves a transient user gesture.
</summary>
</metric>
<metric name="HasSandbox">
<summary>
A boolean denoting whether the download occurs in a sandboxed browsing
context.
</summary>
</metric>
</event>
<event name="Media.Autoplay.Attempt">
<owner>mlamouri@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 propogated 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>mlamouri@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>mlamouri@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 &quot;Source&quot; in &quot;Media.Autoplay.Attempt&quot; 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.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="KeySystem">
<summary>
The key system passed in requestMediaKeySystemAccess() call.
</summary>
</metric>
<metric name="VideoCapabilities">
<summary>
Whether there are any &quot;videoCapabilities&quot;.
</summary>
</metric>
<metric name="VideoCapabilities.HasEmptyRobustness">
<summary>
Whether there are any &quot;videoCapabilities&quot; with empty robustness.
</summary>
</metric>
<metric name="VideoCapabilities.HasHwSecureAllRobustness">
<summary>
Whether there are any &quot;videoCapabilities&quot; with robustness being
&quot;HW_SECURE_ALL&quot;.
</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 &quot;short&quot;.
</summary>
<metric name="Length"/>
</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 occured 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.IsHigh.Changed">
<summary>
Whether the IsHigh bit changed during the current session.
</summary>
</metric>
<metric name="Engagement.IsHigh.Changes">
<summary>
Counts of IsHigh changing (from 0 to 1 or 1 to 0).
</summary>
</metric>
<metric name="Engagement.IsPreloaded">
<summary>
Whether the origin was preloaded (from the chrome://component) as a high
engagement origin.
</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.AudioContextTotal">
<summary>
The total number of significant media playbacks on this origin that came
from WebAudio / AudioContext.
</summary>
</metric>
<metric name="Playbacks.Delta">
<summary>
The number of significant media playbacks on this origin during this
session (a visit to an origin on the same tab). A playback is determined
significant if it meets certain criteria such as a video size of at least
200x140px, is not muted, is playing, etc.
</summary>
</metric>
<metric name="Playbacks.MediaElementTotal">
<summary>
The total number of significant media playbacks on this origin that came
from media elements.
</summary>
</metric>
<metric name="Playbacks.SecondsSinceLast">
<summary>
The number of seconds between significant media playback on the last visit
and significant media playback on the current visit. If there was no
previous visit or significant media playback this visit it will be 0.
</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.Audible.Total">
<summary>
The delta from above but instead of a single visit, the total of all
deltas for all visits on this origin.
</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="Player.Significant.Total">
<summary>
The delta from above but instead of a single visit, the total of all
deltas for all visits on this origin.
</summary>
</metric>
<metric name="Visits.Total">
<summary>
The total number of visits to this origin.
</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.WatchTime">
<obsolete>
Deprecated 8/2017 in favor Media.BasicPlayback
</obsolete>
<owner>dalecurtis@chromium.org</owner>
<summary>
Watch time is defined as the amount of elapsed media time for audio+video
media aggregated per player instance. A minimum of 7 seconds of unmuted,
foreground media must be watched to start watch time monitoring. Watch time
is checked on a regular basis and reported upon one of the stop events
mentioned below or at player destruction if none occur prior.
Any one of paused, hidden, or muted is sufficient to stop watch time metric
reports. Each of these has a hysteresis where if the state change is undone
within some time, the watch time will be counted as uninterrupted.
Power events (on/off battery power) have a similar hysteresis, but unlike
the aforementioned properties, will not stop metric collection.
Native controls events have a similar behavior than power events.
Each seek event will result in a new watch time metric being started and the
old metric finalized as accurately as possible.
</summary>
<metric name="Audio.AC"/>
<metric name="Audio.All"/>
<metric name="Audio.Battery"/>
<metric name="Audio.EME"/>
<metric name="Audio.MSE"/>
<metric name="Audio.NativeControlsOff"/>
<metric name="Audio.NativeControlsOn"/>
<metric name="Audio.SRC"/>
<metric name="AudioVideo.AC"/>
<metric name="AudioVideo.All"/>
<metric name="AudioVideo.Background.AC"/>
<metric name="AudioVideo.Background.All"/>
<metric name="AudioVideo.Background.Battery"/>
<metric name="AudioVideo.Background.EME"/>
<metric name="AudioVideo.Background.MSE"/>
<metric name="AudioVideo.Background.SRC"/>
<metric name="AudioVideo.Battery"/>
<metric name="AudioVideo.DisplayFullscreen"/>
<metric name="AudioVideo.DisplayInline"/>
<metric name="AudioVideo.DisplayPictureInPicture"/>
<metric name="AudioVideo.EME"/>
<metric name="AudioVideo.MSE"/>
<metric name="AudioVideo.NativeControlsOff"/>
<metric name="AudioVideo.NativeControlsOn"/>
<metric name="AudioVideo.SRC"/>
</event>
<event name="Media.WebAudio.AudioContext.AudibleTime">
<owner>hongchan@chromium.org</owner>
<owner>rtoy@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="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">
<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="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="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="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="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>
</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">
<summary>
media::AudioCodec enum value. Can be kUnknownAudioCodec even with HasAudio
is true because we don't always know the codec.
</summary>
</metric>
<metric name="AudioDecoderName">
<summary>
Enumeration of audio decoder names, zero if none or unknown (Cast, HLS,
etc). See WatchTimeRecorder::AudioDecoderName enum for expected values.
</summary>
</metric>
<metric name="AudioEncryptionScheme">
<summary>
media::EncryptionMode enum value. Can be kUnencrypted if IsEME is false or
if the audio track is unencrypted.
</summary>
</metric>
<metric name="AutoplayInitiated">
<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="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">
<summary>
Boolean value indicating the presence of audio.
</summary>
</metric>
<metric name="HasVideo">
<summary>
Boolean value indicating the presence of video.
</summary>
</metric>
<metric name="IsBackground">
<summary>
Boolean value indicating if this event is for a background playback.
</summary>
</metric>
<metric name="IsEME">
<summary>
Boolean value indicating if this event is for an EME playback.
</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="IsMuted">
<summary>
Boolean value indicating if this event is for a muted 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="LastPipelineStatus">
<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="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="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">
<summary>
media::VideoCodec enum value. Can be kUnknownVideoCodec even with HasVideo
is true because we don't always know the codec.
</summary>
</metric>
<metric name="VideoDecoderName">
<summary>
Enumeration of video decoder names, zero if none or unknown (Cast, HLS,
etc). See WatchTimeRecorder::VideoDecoderName enum for expected values.
</summary>
</metric>
<metric name="VideoEncryptionScheme">
<summary>
media::EncryptionMode enum value. Can be kUnencrypted if IsEME is false or
if the video track is unencrypted.
</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.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 audio codec.
</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="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="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="Net">
<summary>
Measure of memory allocated by network sockets and caches.
</summary>
</metric>
<metric name="Net.UrlRequestContext">
<summary>
Measure of memory allocated by all network requests.
</summary>
</metric>
<metric name="NumberOfAdSubframes">
<summary>
The number of ad subframes 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="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>
</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>
</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>
</metric>
<metric name="V8.AllocatedObjects">
<summary>
Measure of memory consumed by live objects in V8.
</summary>
</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.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.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.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.XSLStylesheetResources">
<summary>
Measure of memory consumed by XSL Stylesheet resources in Blink Web Cache.
</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 responsiblities 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="Net.LegacyTLSVersion">
<owner>davidben@chromium.org</owner>
<summary>
Recorded when a page is loaded whose main frame load used TLS 1.0 or TLS
1.1.
</summary>
</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>