blob: 3c8d322725665a5005d661ec2a21f13ff70ee828 [file] [log] [blame]
<!--
Copyright 2020 The Chromium Authors
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<!--
This file is used to generate a comprehensive list of Ash histograms
along with a detailed description for each histogram.
For best practices on writing histogram descriptions, see
https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md
Please follow the instructions in the OWNERS file in this directory to find a
reviewer. If no OWNERS file exists, please consider signing up at
go/reviewing-metrics (Googlers only), as all subdirectories are expected to
have an OWNERS file. As a last resort you can send the CL to
chromium-metrics-reviews@google.com.
-->
<histogram-configuration>
<histograms>
<variants name="AmbientUiSettings">
<variant name="FeelTheBreeze" summary="Feel the breeze"/>
<variant name="FloatOnBy" summary="Float on by"/>
<variant name="SlideShow" summary="Slide show"/>
<variant name="Video.Clouds" summary="Clouds video"/>
<variant name="Video.NewMexico" summary="New Mexico video"/>
</variants>
<variants name="DeviceActiveClientState">
<variant name="CheckingIn"
summary="The device active reporting client is in Checking In State"/>
<variant name="CheckingMembershipOprf"
summary="The device active reporting client is in Oprf State"/>
<variant name="CheckingMembershipQuery"
summary="The device active reporting client is in Query State"/>
<variant name="HealthCheck"
summary="The device active reporting client is in Health Check State"/>
<variant name="Idle"
summary="The device active reporting client is in Idle State"/>
<variant name="Unknown"
summary="The device active reporting client is in Unknown State"/>
</variants>
<variants name="DisplayModes">
<variant name="ClamshellMode" summary="Clamshell mode"/>
<variant name="TabletMode" summary="Tablet mode"/>
</variants>
<variants name="GooglePhotosApi">
<variant name="GetAlbum" summary="returns a single album"/>
<variant name="GetAlbums" summary="returns all albums"/>
<variant name="GetEnabled" summary="returns enablement state"/>
<variant name="GetPhoto" summary="returns a single photo"/>
<variant name="GetPhotos" summary="returns all photos"/>
<variant name="GetSharedAlbums" summary="returns all shared albums"/>
</variants>
<variants name="HotseatTransitionType">
<variant name=".TransitionToExtendedHotseat"
summary="Transition to the extended hotseat"/>
<variant name=".TransitionToHiddenHotseat"
summary="Transition to the hidden hotseat"/>
<variant name=".TransitionToShownHotseat"
summary="Transition to the shown hotseat"/>
</variants>
<variants name="OverviewAnimationMode">
<variant name=".ClamshellMode"
summary="Normal clamshell mode with multiple windows animates"/>
<variant name=".MinimizedTabletMode"
summary="Animates in Tablet mode w/o split view and all windows are
minimized"/>
<variant name=".SingleClamshellMode"
summary="In Clamshell mode with only top maximized/fullscren window
animates"/>
<variant name=".SplitView" summary="Animates in SplitView enabled"/>
<variant name=".TabletMode" summary="Animates in Tablet mode w/o split view"/>
</variants>
<variants name="RecognizerLocation">
<variant name="OnDevice" summary="Speech recognition happened on device"/>
<variant name="ServerBased"
summary="Speech recognition happened on remote servers"/>
</variants>
<variants name="SplitViewResizeModes">
<variant name=".ClamshellMode.SingleWindow" summary=""/>
<variant name=".ClamshellMode.WithOverview" summary=""/>
<variant name=".TabletMode.MultiWindow" summary=""/>
<variant name=".TabletMode.SingleWindow" summary=""/>
<variant name=".TabletMode.WithOverview" summary=""/>
</variants>
<histogram name="Ash.Accelerators.Actions.{ActionName}" units="Shortcuts"
expires_after="2024-04-28">
<owner>dpad@google.com</owner>
<owner>jimmyxgong@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Record which shortcuts are being used for an action. Fires when the use
perform an action using a keyboard shortcut. A shortcut is encoded as an int
where the high 16 bits represent all the modifiers used, and the 0-15 bits
represent which key is used.
</summary>
<token key="ActionName">
<variant name="BrightnessDown"/>
<variant name="BrightnessUp"/>
<variant name="CycleBackwardMru"/>
<variant name="CycleForwardMru"/>
<variant name="CycleSameAppWindowsBackward"/>
<variant name="CycleSameAppWindowsForward"/>
<variant name="DebugKeyboardBacklightToggle"/>
<variant name="DebugMicrophoneMuteToggle"/>
<variant name="DebugPrintLayerHierarchy"/>
<variant name="DebugPrintViewHierarchy"/>
<variant name="DebugPrintWindowHierarchy"/>
<variant name="DebugShowToast"/>
<variant name="DebugSystemUiStyleViewer"/>
<variant name="DebugToggleDarkMode"/>
<variant name="DebugToggleDynamicColor"/>
<variant name="DebugToggleGlanceables"/>
<variant name="DebugToggleHudDisplay"/>
<variant name="DebugTogglePowerButtonMenu"/>
<variant name="DebugToggleShowDebugBorders"/>
<variant name="DebugToggleShowFpsCounter"/>
<variant name="DebugToggleShowPaintRects"/>
<variant name="DebugToggleTabletMode"/>
<variant name="DebugToggleTouchPad"/>
<variant name="DebugToggleTouchScreen"/>
<variant name="DebugToggleVideoConferenceCameraTrayIcon"/>
<variant name="DebugToggleWallpaperMode"/>
<variant name="DebugTriggerCrash"/>
<variant name="DebugTuckFloatedWindowLeft"/>
<variant name="DebugTuckFloatedWindowRight"/>
<variant name="DesksActivate0"/>
<variant name="DesksActivate1"/>
<variant name="DesksActivate2"/>
<variant name="DesksActivate3"/>
<variant name="DesksActivate4"/>
<variant name="DesksActivate5"/>
<variant name="DesksActivate6"/>
<variant name="DesksActivate7"/>
<variant name="DesksActivateDeskLeft"/>
<variant name="DesksActivateDeskRight"/>
<variant name="DesksMoveActiveItemLeft"/>
<variant name="DesksMoveActiveItemRight"/>
<variant name="DesksNewDesk"/>
<variant name="DesksRemoveCurrentDesk"/>
<variant name="DesksToggleAssignToAllDesks"/>
<variant name="DevAddRemoveDisplay"/>
<variant name="DevToggleAppList"/>
<variant name="DevToggleUnifiedDesktop"/>
<variant name="DisableCapsLock"/>
<variant name="Exit"/>
<variant name="FocusCameraPreview"/>
<variant name="FocusNextPane"/>
<variant name="FocusPip"/>
<variant name="FocusPreviousPane"/>
<variant name="FocusShelf"/>
<variant name="KeyboardBacklightToggle"/>
<variant name="KeyboardBrightnessDown"/>
<variant name="KeyboardBrightnessUp"/>
<variant name="LaunchApp0"/>
<variant name="LaunchApp1"/>
<variant name="LaunchApp2"/>
<variant name="LaunchApp3"/>
<variant name="LaunchApp4"/>
<variant name="LaunchApp5"/>
<variant name="LaunchApp6"/>
<variant name="LaunchApp7"/>
<variant name="LaunchLastApp"/>
<variant name="LockPressed"/>
<variant name="LockReleased"/>
<variant name="LockScreen"/>
<variant name="MagnifierZoomIn"/>
<variant name="MagnifierZoomOut"/>
<variant name="MediaFastForward"/>
<variant name="MediaNextTrack"/>
<variant name="MediaPause"/>
<variant name="MediaPlay"/>
<variant name="MediaPlayPause"/>
<variant name="MediaPrevTrack"/>
<variant name="MediaRewind"/>
<variant name="MediaStop"/>
<variant name="MicrophoneMuteToggle"/>
<variant name="MinimizeTopWindowOnBack"/>
<variant name="MoveActiveWindowBetweenDisplays"/>
<variant name="NewIncognitoWindow"/>
<variant name="NewTab"/>
<variant name="NewWindow"/>
<variant name="OpenCalculator"/>
<variant name="OpenCrosh"/>
<variant name="OpenDiagnostics"/>
<variant name="OpenFeedbackPage"/>
<variant name="OpenFileManager"/>
<variant name="OpenGetHelp"/>
<variant name="PasteClipboardHistoryPlainText"/>
<variant name="PowerPressed"/>
<variant name="PowerReleased"/>
<variant name="PrintUiHierarchies"/>
<variant name="PrivacyScreenToggle"/>
<variant name="RestoreTab"/>
<variant name="RotateScreen"/>
<variant name="RotateWindow"/>
<variant name="ScaleUiDown"/>
<variant name="ScaleUiReset"/>
<variant name="ScaleUiUp"/>
<variant name="ShowEmojiPicker"/>
<variant name="ShowShortcutViewer"/>
<variant name="ShowStylusTools"/>
<variant name="ShowTaskManager"/>
<variant name="StartAssistant"/>
<variant name="Suspend"/>
<variant name="SwapPrimaryDisplay"/>
<variant name="SwitchIme"/>
<variant name="SwitchToLastUsedIme"/>
<variant name="SwitchToNextIme"/>
<variant name="SwitchToNextUser"/>
<variant name="SwitchToPreviousUser"/>
<variant name="TakePartialScreenshot"/>
<variant name="TakeScreenshot"/>
<variant name="TakeWindowScreenshot"/>
<variant name="ToggleAppList"/>
<variant name="ToggleCalendar"/>
<variant name="ToggleCapsLock"/>
<variant name="ToggleClipboardHistory"/>
<variant name="ToggleDictation"/>
<variant name="ToggleDockedMagnifier"/>
<variant name="ToggleFloating"/>
<variant name="ToggleFullscreen"/>
<variant name="ToggleFullscreenMagnifier"/>
<variant name="ToggleGameDashboard"/>
<variant name="ToggleHighContrast"/>
<variant name="ToggleImeMenuBubble"/>
<variant name="ToggleMaximized"/>
<variant name="ToggleMessageCenterBubble"/>
<variant name="ToggleMirrorMode"/>
<variant name="ToggleMultitaskMenu"/>
<variant name="ToggleOverview"/>
<variant name="ToggleProjectorMarker"/>
<variant name="ToggleResizeLockMenu"/>
<variant name="ToggleSnapGroupWindowsMinimizeAndRestore"/>
<variant name="ToggleSpokenFeedback"/>
<variant name="ToggleSystemTrayBubble"/>
<variant name="ToggleWifi"/>
<variant name="TouchHudClear"/>
<variant name="TouchHudModeChange"/>
<variant name="Unpin"/>
<variant name="VolumeDown"/>
<variant name="VolumeMute"/>
<variant name="VolumeUp"/>
<variant name="WindowCycleSnapLeft"/>
<variant name="WindowCycleSnapRight"/>
<variant name="WindowMinimize"/>
</token>
</histogram>
<histogram name="Ash.Accelerators.ActivateDeskByIndex"
enum="ActivateDeskByIndex" expires_after="2023-12-21">
<owner>jimmyxgong@chromium.org</owner>
<owner>longbowei@google.com</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Record which desk the user switches to. Fires when the user switches desk to
a specific index using a keyboard shortcut.
</summary>
</histogram>
<histogram name="Ash.Accelerators.Deprecated.ShowTaskManager"
enum="DeprecatedAcceleratorUsage" expires_after="2022-01-23">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@chromium.org</owner>
<summary>
Opening the task manager has two accelerators: - Shift+Esc which is
deprecated. - Search+Esc which is new. This histogram shows the number of
times each accelerator (deprecated and new) is used.
</summary>
</histogram>
<histogram name="Ash.Accelerators.Deprecated.ToggleHighContrast"
enum="DeprecatedAcceleratorUsage" expires_after="M77">
<owner>afakhry@chromium.org</owner>
<summary>
Toggling the high contrast display mode has two accelerators: -
Search+Shift+H which is deprecated. - Ctrl+Search+H which is new. This
histogram shows the number of times each accelerator (deprecated and new) is
used.
</summary>
</histogram>
<histogram name="Ash.Accelerators.Rotation.Usage"
enum="ScreenRotationAcceleratorAction" expires_after="2023-10-08">
<owner>zentaro@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
Captures the result of a user using the rotation accelerator -
Ctrl+Shift+Refresh. This histogram shows how frequently users accidentally
hit the key combination.
</summary>
</histogram>
<histogram name="Ash.Accelerators.WindowSnap"
enum="WindowSnapAcceleratorAction" expires_after="2023-11-20">
<owner>xdai@chromium.org</owner>
<owner>chromeos-wmp@google.com</owner>
<summary>Captures usage of Alt+[ and Alt+].</summary>
</histogram>
<histogram name="Ash.AmbientMode.Activation.{TabletOrClamshell}"
enum="AmbientUiMode" expires_after="2023-12-01">
<owner>cowmoo@google.com</owner>
<owner>xiaohuic@chromium.org</owner>
<summary>
Recorded whenever Ambient mode is entered from {TabletOrClamshell}.
AmbientUiMode indicates whether the user entered Ambient mode from the lock
screen or from screen idle.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram name="Ash.AmbientMode.AnimationSmoothness.PhotoTransition" units="%"
expires_after="2023-12-01">
<owner>wutao@chromium.org</owner>
<owner>xiaohuic@chromium.org</owner>
<summary>
Emitted when the ambient mode photo transition animation completes to report
the smoothness of this animation. 100% represents ideally smooth 60 frames
per second.
</summary>
</histogram>
<histogram name="Ash.AmbientMode.Enabled" enum="BooleanEnabled"
expires_after="2023-12-01">
<owner>cowmoo@google.com</owner>
<owner>xiaohuic@chromium.org</owner>
<summary>
Among eligible users, whether the user has Ambient mode enabled. Recorded
once for every UMA upload. The set of eligible users includes all users with
profiles that can allow Ambient mode to be enabled. This is limited by
profile type, whether the user is primary, if the user has a supported
email, etc.
</summary>
</histogram>
<histogram name="Ash.AmbientMode.EngagementTime.{Settings}" units="ms"
expires_after="2023-12-01">
<owner>cowmoo@google.com</owner>
<owner>esum@google.com</owner>
<summary>
Among eligible users with ambient mode enabled, records the length of each
session for {Settings}. The metric is emitted when ambient mode is ended.
</summary>
<token key="Settings" variants="AmbientUiSettings"/>
</histogram>
<histogram name="Ash.AmbientMode.EngagementTime.{Settings}.{Orientation}"
units="ms" expires_after="2023-12-01">
<owner>esum@google.com</owner>
<owner>xiaohuic@chromium.org</owner>
<summary>
Among eligible users with ambient mode enabled, records the accumulated
duration spent in {Orientation} mode during a single ambient mode session
rendering the {Settings} UI. For example, say ambient mode starts in
landscape for A ms, switches to portrait for B ms, then back to landscape
for C ms before ambient mode ends. A + C will be emitted for landscape mode,
and B will be emitted for portrait mode. Emitted once per observed
orientation each time the user exits ambient mode.
</summary>
<token key="Orientation">
<variant name="Landscape" summary="landscape"/>
<variant name="Portrait" summary="portrait"/>
</token>
<token key="Settings" variants="AmbientUiSettings"/>
</histogram>
<histogram name="Ash.AmbientMode.EngagementTime.{TabletOrClamshell}" units="ms"
expires_after="2023-12-01">
<owner>cowmoo@google.com</owner>
<owner>xiaohuic@chromium.org</owner>
<summary>
Among eligible users with ambient mode enabled, records the length of each
session. The metric is emitted when ambient mode is ended. 2 new animated
ambient mode themes have been added started in M104.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram name="Ash.AmbientMode.LottieAnimationSmoothness.{Settings}"
units="%" expires_after="2023-12-01">
<owner>esum@google.com</owner>
<owner>xiaohuic@chromium.org</owner>
<summary>
Emitted periodically while {Settings} is rendering in ambient mode. 100%
represents ideal smoothness.
</summary>
<token key="Settings" variants="AmbientUiSettings"/>
</histogram>
<histogram name="Ash.AmbientMode.MultiScreenOffset.{Settings}" units="ms"
expires_after="2023-12-01">
<owner>esum@google.com</owner>
<owner>xiaohuic@chromium.org</owner>
<summary>
Only applies to multi-screen use cases in ambient mode. Records the offset
observed between {Settings} animations' timestamps when rendering on
multiple screens. Ideally, this would be 0, but small imperceptible offsets
are acceptable (under .1 seconds). The offset recorded here is the absolute
difference in milliseconds between the animation with the smallest and
largest timestamp. The metric is emitted after every single animation frame
in ambient mode (there is a high volume). For single-screen use cases, this
metric is inactive.
</summary>
<token key="Settings" variants="AmbientUiSettings"/>
</histogram>
<histogram name="Ash.AmbientMode.PhotoOrientationMatch.{Settings}" units="%"
expires_after="2023-12-01">
<owner>esum@google.com</owner>
<owner>xiaohuic@chromium.org</owner>
<summary>
Applies to ambient mode animations with image assets embedded in them (spots
in the animation where the user's photos should be plugged in). Captures the
percentage of time that the orientation (landscape vs portrait) of the image
asset matches that of the actual photo being assigned to it. Ideally this is
100%. Does not apply to the slideshow ambient theme. Emitted each time the
photos in the animation are refreshed (after each animation cycle is
complete).
</summary>
<token key="Settings" variants="AmbientUiSettings"/>
</histogram>
<histogram name="Ash.AmbientMode.PhotoSource" enum="AmbientModePhotoSource"
expires_after="2023-12-01">
<owner>cowmoo@google.com</owner>
<owner>xiaohuic@chromium.org</owner>
<summary>
Among eligible users with ambient mode enabled, records the source of
ambient mode photos. Recorded once for every UMA upload.
</summary>
</histogram>
<histogram name="Ash.AmbientMode.ScreenCount.{Settings}" units="int"
expires_after="2023-12-01">
<owner>esum@google.com</owner>
<owner>xiaohuic@chromium.org</owner>
<summary>
Among eligible users with ambient mode enabled, records the number of
screens present during a {Settings} ambient mode session. Emitted each time
ambient mode exits.
</summary>
<token key="Settings" variants="AmbientUiSettings"/>
</histogram>
<histogram name="Ash.AmbientMode.SelectedNumberOfAlbums" units="int"
expires_after="2023-12-01">
<owner>cowmoo@google.com</owner>
<owner>xiaohuic@chromium.org</owner>
<summary>
Among eligible users with ambient mode enabled, records the selected number
of personal photo albums. Recorded once only when users make a selection on
the personal photo albums on Settings page.
</summary>
</histogram>
<histogram name="Ash.AmbientMode.StartupTime.{Settings}" units="ms"
expires_after="2023-12-01">
<owner>esum@google.com</owner>
<owner>xiaohuic@google.com</owner>
<summary>
Records the amount of time it takes for {Settings} in ambient mode to start.
This includes tasks such as downloading an initial set of photos from IMAX
server, decoding them, loading the animation from resource pak, etc. Note
this measurement does not include the lock screen inactivity timeout
(currently 7 seconds). So ideally, this should be 0. Also note that ambient
mode should start after a 10 second timeout if at least 1 photo has been
downloaded from IMAX. Hitting the 10 second timeout is considered non-ideal,
but acceptable behavior. However, anything over that is very bad. Thus, this
histogram has a 15 second maximum (added a 5 second buffer to the timeout
just to be safe). Anything over the 15 second maximum goes in the overflow
bucket and is considered a total failure to start ambient mode. This should
be extremely rare. Emitted each time the {Settings} UI starts rendering, or
when ambient mode exits in the event that the UI never started rendering.
</summary>
<token key="Settings" variants="AmbientUiSettings"/>
</histogram>
<histogram name="Ash.AmbientMode.TotalNumberOfAlbums" units="int"
expires_after="2023-12-01">
<owner>cowmoo@google.com</owner>
<owner>xiaohuic@chromium.org</owner>
<summary>
Among eligible users with ambient mode enabled, records the total number of
personal photo albums. Recorded once only when users make a selection on the
personal photo albums on Settings page.
</summary>
</histogram>
<histogram name="Ash.AppNotificationBadgingPref" enum="Boolean"
expires_after="2022-04-10">
<owner>mmourgos@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
For each user, records whether they have the app notification badging user
preference enabled or disabled. This metric is only logged when an active
user session has been started. This metric is logged periodically every 30
minutes.
</summary>
</histogram>
<histogram name="Ash.ArcAppInitialAppsInstallDuration" units="ms"
expires_after="2023-12-01">
<owner>alemate@chromium.org</owner>
<owner>khmel@chromium.org</owner>
<owner>arc-performance@google.com</owner>
<owner>chromeos-perfmetrics-eng@google.com</owner>
<summary>
For each user after they opted-in into ARC++, records the duration of
initial apps installation. Duration is measured as an interval between the
opt-in and the moment when all default apps become either &quot;ready&quot;
or &quot;update error&quot;. This is only reported within the same opt-in
session, and is not reported if default apps were not installed within the
session.
</summary>
</histogram>
<histogram
name="Ash.Assistant.AnimationSmoothness{AshAssistantAnimationSmoothness}"
units="%" expires_after="2021-11-21">
<owner>cowmoo@chromium.org</owner>
<owner>xiaohuic@chromium.org</owner>
<summary>
Relative smoothness of assistant related animations. 100% represents ideally
smooth 60 frames per second. {AshAssistantAnimationSmoothness}
</summary>
<token key="AshAssistantAnimationSmoothness">
<variant name=".CardElement"
summary="Animation for showing and hiding card responses"/>
<variant name=".ResizeAssistantPageView"
summary="Expand assistant from launcher"/>
<variant name=".SuggestionChip"
summary="Animation for showing and hiding suggestion chips"/>
<variant name=".TextElement"
summary="Animation for showing and hiding text response"/>
</token>
</histogram>
<histogram name="Ash.BackGesture.EndScenarioType"
enum="BackGestureEndScenarioType" expires_after="2023-10-22">
<owner>minch@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
End scenario type while swiping back from the left side of the window in
tablet mode.
</summary>
</histogram>
<histogram name="Ash.BackGesture.StartScenarioType"
enum="BackGestureStartScenarioType" expires_after="2023-10-22">
<owner>minch@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
Start scenario type while swiping back from the left side of the window in
tablet mode.
</summary>
</histogram>
<histogram name="Ash.BackGesture.UnderneathWindowType"
enum="BackGestureUnderneathWindowType" expires_after="2023-10-22">
<owner>minch@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
Underneath window type while swiping back from the left side of the window
in tablet mode.
</summary>
</histogram>
<histogram name="Ash.BrowserContext.UnexpectedGetPrimaryUserProfile"
enum="Boolean" expires_after="M122">
<owner>hidehiko@chromium.org</owner>
<owner>oshima@chromium.org</owner>
<summary>
Making sure nobody in the production calls the
ProfileManager::GetPrimaryUserProfile() in unexpected timing. This entry
will not have &quot;false&quot; status.
</summary>
</histogram>
<histogram name="Ash.BrowserContext.UnexpectedGetUserByProfile" enum="Boolean"
expires_after="M122">
<owner>hidehiko@chromium.org</owner>
<owner>oshima@chromium.org</owner>
<summary>
Making sure nobody in the production calls ProfileHelper::GetUserByProfile()
for the Profile instance, which does not have corresponding User. This entry
will not have &quot;false&quot; status.
</summary>
</histogram>
<histogram name="Ash.BrowserDataBackMigrator.ElapsedTimeBetweenDataMigrations"
units="ms" expires_after="2023-12-01">
<owner>janagrill@google.com</owner>
<owner>artyomchen@google.com</owner>
<summary>
The time elapsed from the completion of a successful forward migration to
the start of a backward migration, with a maximum of 24 days. Recorded every
time backward migration is started, if forward migration was performed prior
to it.
</summary>
</histogram>
<histogram name="Ash.BrowserDataBackMigrator.ElapsedTimeDeleteAshItems"
units="ms" expires_after="2023-12-01">
<owner>janagrill@google.com</owner>
<owner>artyomchen@google.com</owner>
<summary>
The time in ms that elapsed while DeleteAshItems() was run. Recorded once
when browser data backward migration happens if the step succeeds.
</summary>
</histogram>
<histogram name="Ash.BrowserDataBackMigrator.ElapsedTimeDeleteLacrosDir"
units="ms" expires_after="2023-12-01">
<owner>janagrill@google.com</owner>
<owner>artyomchen@google.com</owner>
<summary>
The time in ms that elapsed while DeleteLacrosDir() was run. Recorded once
when browser data backward migration happens if the step succeeds.
</summary>
</histogram>
<histogram name="Ash.BrowserDataBackMigrator.ElapsedTimeDeleteTmpDir"
units="ms" expires_after="2023-12-01">
<owner>janagrill@google.com</owner>
<owner>artyomchen@google.com</owner>
<summary>
The time in ms that elapsed while DeleteTmpDir() was run. Recorded once when
browser data backward migration happens if the step succeeds.
</summary>
</histogram>
<histogram name="Ash.BrowserDataBackMigrator.ElapsedTimeMergeSplitItems"
units="ms" expires_after="2023-12-01">
<owner>janagrill@google.com</owner>
<owner>artyomchen@google.com</owner>
<summary>
The time in ms that elapsed while MergeSplitItems() was run. Recorded once
when browser data backward migration happens if the step succeeds.
</summary>
</histogram>
<histogram
name="Ash.BrowserDataBackMigrator.ElapsedTimeMoveLacrosItemsToAshDir"
units="ms" expires_after="2023-12-01">
<owner>janagrill@google.com</owner>
<owner>artyomchen@google.com</owner>
<summary>
The time in ms that elapsed while MoveLacrosItemsToAshDir() was run.
Recorded once when browser data backward migration happens if the step
succeeds.
</summary>
</histogram>
<histogram
name="Ash.BrowserDataBackMigrator.ElapsedTimeMoveMergedItemsBackToAsh"
units="ms" expires_after="2023-12-01">
<owner>janagrill@google.com</owner>
<owner>artyomchen@google.com</owner>
<summary>
The time in ms that elapsed while MoveMergedItemsBackToAsh() was run.
Recorded once when browser data backward migration happens if the step
succeeds.
</summary>
</histogram>
<histogram name="Ash.BrowserDataBackMigrator.ElapsedTimePreMigrationCleanUp"
units="ms" expires_after="2023-12-01">
<owner>janagrill@google.com</owner>
<owner>artyomchen@google.com</owner>
<summary>
The time in ms that elapsed while PreMigrationCleanUp() was run. Recorded
once when browser data backward migration happens if the step succeeds.
</summary>
</histogram>
<histogram name="Ash.BrowserDataBackMigrator.FinalStatus"
enum="BrowserDataBackMigratorFinalStatus" expires_after="2023-12-01">
<owner>janagrill@google.com</owner>
<owner>artyomchen@google.com</owner>
<summary>
The final status of browser data backward migration. Recorded once at the
end of the migration process. It is collected to monitor whether backward
migration is working, and if it is not to determine which step is failing.
</summary>
</histogram>
<histogram name="Ash.BrowserDataBackMigrator.NumberOfLacrosSecondaryProfiles"
units="profiles" expires_after="2023-12-01">
<owner>janagrill@google.com</owner>
<owner>artyomchen@google.com</owner>
<summary>
The number of Lacros secondary profiles at the time of starting the backward
migration process. Recorded every time migration is started.
</summary>
</histogram>
<histogram name="Ash.BrowserDataBackMigrator.PosixErrno.{TaskStatus}"
enum="PopularOSErrno" expires_after="2023-12-01">
<owner>janagrill@google.com</owner>
<owner>artyomchen@google.com</owner>
<summary>
Recorded when browser data backward migration fails. Records the errno set
by the operation that caused the migration to fail. `TaskStatus` is used to
determine the step in which the error occurred.
</summary>
<token key="TaskStatus">
<variant name="DeleteAshItemsDeleteExtensionsFailed"/>
<variant name="DeleteAshItemsDeleteLacrosItemFailed"/>
<variant name="DeleteLacrosDirDeleteFailed"/>
<variant name="DeleteTmpDirDeleteFailed"/>
<variant name="MergeSplitItemsCopyExtensionsFailed"/>
<variant name="MergeSplitItemsCopyExtensionStorageFailed"/>
<variant name="MergeSplitItemsCreateDirFailed"/>
<variant name="MergeSplitItemsCreateTmpDirFailed"/>
<variant name="MergeSplitItemsMergeIndexedDBFailed"/>
<variant name="MergeSplitItemsMergeLocalStorageLevelDBFailed"/>
<variant name="MergeSplitItemsMergePrefsFailed"/>
<variant name="MergeSplitItemsMergeStateStoreLevelDBFailed"/>
<variant name="MergeSplitItemsMergeSyncDataFailed"/>
<variant name="MoveLacrosItemsToAshDirFailed"/>
<variant name="MoveMergedItemsBackToAshCopyDirectoryFailed"/>
<variant name="MoveMergedItemsBackToAshMoveFileFailed"/>
<variant name="PreMigrationCleanUpDeleteTmpDirFailed"/>
</token>
</histogram>
<histogram name="Ash.BrowserDataBackMigrator.SuccessfulMigrationTime"
units="ms" expires_after="2023-12-01">
<owner>janagrill@google.com</owner>
<owner>artyomchen@google.com</owner>
<summary>
How long the backward migration took to complete in ms. Only recorded if
migration succeeds.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.AshDataSizeMB" units="MB"
expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The size of profile data that is identified to belong to ash-chrome i.e. the
total size of files that are under profile data directory of ash-chrome that
should remain in the same directory.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.CommonDataSizeMB" units="MB"
expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The size of profile data that is duplicated in both ash and lacros data
directory.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.CommonDataTimeTakenMS" units="ms"
expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The time taken for copying common data shared with lacros and ash.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.CopiedDataSizeMB" units="MB"
expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The size of data copied due to the migration i.e. extra space taken up
because of the migration. Only recorded if migration succeeded.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.CreateDirectoryFailure"
enum="PlatformFileError" expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
Records error if CreateDirectory failed to create a directory used to copy
files into as an intermediate destination during migration.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.DryRunAshDataSizeMB" units="MB"
expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The size of profile data that is identified to belong to ash-chrome i.e. the
total size of files that are under profile data directory of ash-chrome that
should remain in the same directory.
The same as Ash.BrowserDataMigrator.AshDataSizeMB but collected without
actually running the migrator. It is called on every ash launch.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.DryRunCommonDataSizeMB" units="MB"
expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The size of profile data that is duplicated in both ash and lacros data
directory.
The same as Ash.BrowserDataMigrator.CommonDataSizeMB but collected without
actually running the migrator. It is called on every ash launch.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.DryRunExtraSizeRequiredMB.Move"
units="MB" expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
Extra disk space that has to be freed up to carry out move migration.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.DryRunExtraSizeReservedMB.Move"
units="MB" expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>Free disk space after move migration.</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.DryRunHasEnoughDiskSpace.{Mode}"
enum="Boolean" expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
Checks if there is enough disk space for profile migration in each modes.
These modes are Copy, Move, DeleteAndCopy and DeleteAndMove.
Checked upon launch of ash-chrome.
</summary>
<token key="Mode">
<variant name="Copy"/>
<variant name="DeleteAndCopy"/>
<variant name="DeleteAndMove"/>
<variant name="Move"/>
</token>
</histogram>
<histogram name="Ash.BrowserDataMigrator.DryRunLacrosDataSizeMB" units="MB"
expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The size of profile data that is identified to belong to lacros-chrome i.e.
the total size of files that are under profile data directory of ash-chrome
that should move to lacros data directory.
The same as Ash.BrowserDataMigrator.LacrosDataSizeMB but collected without
actually running the migrator. It is called on every ash launch.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.DryRunNoCopyDataSizeMB" units="MB"
expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The size of profile data that is identified to be deletable such as cache.
The same as Ash.BrowserDataMigrator.NoCopyDataSizeMB but collected without
actually running the migrator. It is called on every ash launch.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.DryRunTotalCopySizeMB.Copy" units="MB"
expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The total size of data that has to be copied for copy migration.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.DryRunTotalCopySizeMB.Move" units="MB"
expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The total size of data that has to be copied for move migration.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.FinalStatus"
enum="BrowserDataMigratorFinalStatus" expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The final status of browser data migration. It is collected to monitor if
migration is working and if not used to determine which step is failing.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.LacrosDataSizeMB" units="MB"
expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The size of profile data that is identified to belong to lacros-chrome i.e.
the total size of files that are under profile data directory of ash-chrome
that should move to lacros data directory.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.LacrosDataTimeTakenMS" units="ms"
expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>The time taken for copying lacros data.</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.MoveMigrator.CancelledMigrationTime"
units="ms" expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The time taken for profile migration before it is cancelled by the user
during move migration. Profile move migration happens once after Lacros and
move migration is enabled. This only gets recorded if the user clicks
&quot;Skip&quot; from the migration UI displayed during the migration.
Profile move migration is a feature to migrate profile data from Ash to
Lacros once after Lacros is enabled.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.MoveMigrator.ExtraSpaceRequiredMB"
units="MB" expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
This is recorded if move profile migration is aborted due to the lack of
extra space required on disk. The amount of space required to be freed is
recorded.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.MoveMigrator.PosixErrno.{TaskStatus}"
units="errno" expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
Recorded when profile move migration fails. Profile move migration happens
once after Lacros and move migration is enabled. Records the errno set by
the operation that caused the migration to fail. `TaskStatus` is used to
determine which step the error occurred. Profile move migration is a feature
to migrate profile data from Ash to Lacros once after Lacros is enabled.
</summary>
<token key="TaskStatus">
<variant name="Cancelled"/>
<variant name="MoveLacrosItemsCreateDirFailed"/>
<variant name="MoveLacrosItemsToNewDirMoveFailed"/>
<variant name="MoveLacrosItemsToNewDirNoWritePerm"/>
<variant name="MoveSplitItemsToOriginalDirCreateDirFailed"/>
<variant name="MoveSplitItemsToOriginalDirMoveExtensionsFailed"/>
<variant name="MoveSplitItemsToOriginalDirMoveIndexedDBFailed"/>
<variant name="MoveSplitItemsToOriginalDirMoveSplitItemsFailed"/>
<variant name="MoveSplitItemsToOriginalDirMoveStorageFailed"/>
<variant name="MoveTmpDirToLacrosDirMoveFailed"/>
<variant name="PreMigrationCleanUpDeleteLacrosDirFailed"/>
<variant name="PreMigrationCleanUpDeleteTmpDirFailed"/>
<variant name="PreMigrationCleanUpDeleteTmpSplitDirFailed"/>
<variant name="PreMigrationCleanUpNotEnoughSpace"/>
<variant name="SetupAshDirCopyExtensionsFailed"/>
<variant name="SetupAshDirCopyIndexedDBFailed"/>
<variant name="SetupAshDirCopyStorageFailed"/>
<variant name="SetupAshDirCreateDirFailed"/>
<variant name="SetupAshDirCreateSplitDirFailed"/>
<variant name="SetupAshDirMigrateLevelDBForLocalStateFailed"/>
<variant name="SetupAshDirMigrateLevelDBForStateFailed"/>
<variant name="SetupAshDirMigrateLevelDBForSyncDataFailed"/>
<variant name="SetupAshDirMigratePreferencesFailed"/>
<variant name="SetupLacrosDirCopyTargetItemsFailed"/>
<variant name="SetupLacrosDirCreateTmpDirFailed"/>
<variant name="SetupLacrosDirCreateTmpProfileDirFailed"/>
<variant name="SetupLacrosDirWriteFirstRunSentinelFileFailed"/>
<variant name="Succeeded"/>
</token>
</histogram>
<histogram name="Ash.BrowserDataMigrator.MoveMigrator.PreMigrationCleanUpTime"
units="ms" expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The time taken for move migration to run PreMigrationCleanUp() and recorded
once when profile move migration happens. Profile move migration migrates
profile data from Ash to Lacros after Lacros is enabled.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.MoveMigrator.ResumeStep"
enum="MoveMigratorResumeStep" expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The step from which move migration is resumed from. Recorded once at the
beginning of profile move migration. Profile move migration gets resumed
from where it left off if the previous attempt were did not finish
completely. Profile move migration migrates profile data from Ash to Lacros
after Lacros is enabled.
</summary>
</histogram>
<histogram
name="Ash.BrowserDataMigrator.MoveMigrator.SetupLacrosDirCopyTargetItemsTime"
units="ms" expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The time taken for move migration to copy target items inside
SetupLacrosDir(). Recorded once during profile move migration. Profile move
migration is a feature to migrate profile data from Ash to Lacros once after
Lacros is enabled.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.MoveMigrator.SetupLacrosDirTime"
units="ms" expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The time taken for move migration to run SetupLacrosDir(). Recorded once
during the migration. Profile move migration is a feature to migrate profile
data from Ash to Lacros once after Lacros is enabled.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.MoveMigrator.SuccessfulMigrationTime"
units="ms" expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The time taken for profile move migration to complete in ms. Recorded once
at the end of the migration if it is successful. Profile move migration is a
feature to migrate profile data from Ash to Lacros once after Lacros is
enabled.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.MoveMigrator.TaskStatus"
enum="MoveMigratorTaskStatus" expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The final status of profile move migration. Recorded once at the end of the
migration process. Profile move migration is a feature to migrate profile
data from Ash to Lacros once after Lacros is enabled.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.NoCopyDataSizeMB" units="MB"
expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The size of profile data that is identified to be deletable such as cache.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.TotalCopySizeWhenNotEnoughSpace"
units="MB" expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The total size of data that has to be copied. Collected for cases when the
migration fails due to lack of disk space.
</summary>
</histogram>
<histogram name="Ash.BrowserDataMigrator.TotalTimeTakenMS" units="ms"
expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
The time taken for migration to complete in ms. Only recorded if migration
succeeded.
</summary>
</histogram>
<histogram name="Ash.BrowserSupport.UnexpectedBrowserSupportInitialize"
enum="Boolean" expires_after="M122">
<owner>andreaorru@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
Making sure nobody in the production calls
ash::standalone_browser::BrowserSupport::Initialize() in unexpected timing.
This entry will not have &quot;false&quot; status.
</summary>
</histogram>
<histogram name="Ash.Calendar.CalendarKeyboardNavigationSource"
enum="CalendarKeyboardNavigationSource" expires_after="2023-09-18">
<owner>kradtke@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Records which keys are used when the user navigates the Monthly Calendar
View accessible from Quick Settings and system tray with the keyboard.
Triggered when user shifts focus from a Calendar element to another by
pressing tab, or when navigating Calendar Date Cells with the arrow keys.
</summary>
</histogram>
<histogram name="Ash.Calendar.EventListView.EventDisplayedCount" units="int"
expires_after="2024-03-28">
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Records the number of currently visible events shown to the user when the
Calendar Event List view displays in one day. i.e. the user opens the sys
tray calendar, clicks on a date cell and sees 2 events, this metric will
track a count of 2.
</summary>
</histogram>
<histogram name="Ash.Calendar.EventListView.JoinMeetingButton.Pressed"
enum="CalendarEventSource" expires_after="2024-02-10">
<owner>newcomer@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when the &quot;Join&quot; meeting button is pressed from the
Calendar &quot;EventListView&quot; i.e. the user opens the sys tray
calendar, taps todays date cell, then scrolls to the event and taps the
&quot;Join&quot; meeting button.
</summary>
</histogram>
<histogram name="Ash.Calendar.EventsDisplayedToUser" enum="Boolean"
expires_after="2024-03-23">
<owner>samcackett@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded whenever a user sees any calendar event in the CalendarView.
Recorded once per lifetime of the calendar view.
</summary>
</histogram>
<histogram name="Ash.Calendar.FetchEvents.FetchDuration" units="ms"
expires_after="2023-09-18">
<owner>rtinkoff@google.com</owner>
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when a calendar fetch returns. The duration of the fetch request.
</summary>
</histogram>
<histogram name="Ash.Calendar.FetchEvents.MaxDistanceBrowsed" units="months"
expires_after="2023-04-10">
<obsolete>
This metric was originally recording something slightly different from what
the name suggests. Replaced with Ash.Calendar.MaxDistanceBrowsed.
</obsolete>
<owner>rtinkoff@google.com</owner>
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when the calendar is closed. The furthest 'distance' (in months)
from today's date to which a users fetch request succeeded.
</summary>
</histogram>
<histogram name="Ash.Calendar.FetchEvents.NoCalendarClient" units="instances"
expires_after="2022-11-10">
<obsolete>
Deprecated Mar 2022, now that it's no longer needed.
</obsolete>
<owner>rtinkoff@google.com</owner>
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded whenever calendar events are requested, and we can't do the fetch
because a a resource we need doesn't exist or is not available.
</summary>
</histogram>
<histogram name="Ash.Calendar.FetchEvents.PreFetched" units="fetches"
expires_after="2023-09-18">
<owner>rtinkoff@google.com</owner>
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded whenever calendar events are requested, and no fetch is required
because the fetch has already returned.
</summary>
</histogram>
<histogram name="Ash.Calendar.FetchEvents.Result"
enum="CalendarEventFetchApiError" expires_after="2023-09-18">
<owner>rtinkoff@google.com</owner>
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded whenever calendar events are fetched. The recorded enum value
indicates the return code of the fetch request.
</summary>
</histogram>
<histogram name="Ash.Calendar.FetchEvents.SingleMonthSize" units="bytes"
expires_after="2023-09-18">
<owner>rtinkoff@google.com</owner>
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when a calendar fetch returns. The total size of the month's
events.
</summary>
</histogram>
<histogram name="Ash.Calendar.FetchEvents.Timeout" enum="Boolean"
expires_after="2023-09-18">
<owner>rtinkoff@google.com</owner>
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded whenever calendar events are requested, and the request went too
long without a response.
</summary>
</histogram>
<histogram name="Ash.Calendar.FetchEvents.TotalCacheSizeMonths" units="months"
expires_after="2023-09-18">
<owner>rtinkoff@google.com</owner>
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when the calendar is closed. The total number of months cached for
calendar events while it was open.
</summary>
</histogram>
<histogram name="Ash.Calendar.MaxDistanceBrowsed" units="months"
expires_after="2023-09-18">
<owner>newcomer@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Records the maximum absolute distance from today that a user has browsed in
the calendar. Recorded when the calendar is closed.
</summary>
</histogram>
<histogram name="Ash.Calendar.MonthDwellTime" units="ms"
expires_after="2023-09-18">
<owner>kradtke@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Records the time a user spends in a calendar month. Records the time when
the user either scrolls to another month or closes the CalendarView.
</summary>
</histogram>
<histogram name="Ash.Calendar.ScrollSource" enum="CalendarViewScrollSource"
expires_after="2023-09-18">
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
The source of scrolling in calendar view. Recorded when the calendar is
scrolled and changed to another month (note that scrolls resulting in no
month change are not recorded).
</summary>
</histogram>
<histogram name="Ash.Calendar.ShowSource.{ViewShowSource}"
enum="CalendarEventSource" expires_after="2023-09-18">
<owner>newcomer@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when the calendar view is shown from the {ViewShowSource}.
</summary>
<token key="ViewShowSource">
<variant name="Accelerator" summary="accelerator"/>
<variant name="DateView" summary="date view in quick settings"/>
<variant name="TimeView" summary="time view in the status area"/>
</token>
</histogram>
<histogram name="Ash.Calendar.TimeToSeeTodaysEventDots" units="ms"
expires_after="2023-09-18">
<owner>newcomer@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Measures the time from open of CalendarView, to CalendarDateCellView
representing today receives events. Recorded once per lifetime of
CalendarViewController (once per show), when todays CalendarDateCellView
receives event data.
</summary>
</histogram>
<histogram name="Ash.Calendar.UpNextView.EventDisplayedCount" units="int"
expires_after="2024-01-24">
<owner>newcomer@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Records the number of currently visible upcoming events shown to the user
when the Calendar &quot;Up next&quot; view displays. i.e. the user opens the
sys tray calendar, &quot;Up next&quot; displays 2 upcoming events, this
metric will track a count of 2.
</summary>
</histogram>
<histogram name="Ash.Calendar.UpNextView.EventListItem.Pressed"
enum="CalendarEventSource" expires_after="2024-01-24">
<owner>newcomer@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when an upcoming event is pressed from the Calendar &quot;Up
next&quot; view and launched in Google Calendar. i.e. the user opens the sys
tray calendar, &quot;Up next&quot; displays an event in the next 10 mins and
the user taps the event.
</summary>
</histogram>
<histogram name="Ash.Calendar.UpNextView.JoinMeetingButton.Pressed"
enum="CalendarEventSource" expires_after="2024-02-10">
<owner>newcomer@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when the &quot;Join&quot; meeting button is pressed from the
Calendar &quot;Up next&quot; view i.e. the user opens the sys tray calendar,
&quot;Up next&quot; displays an event in the next 10 mins and the user taps
&quot;Join&quot; meeting button on the event.
</summary>
</histogram>
<histogram name="Ash.Calendar.UserJourneyTime.{EventLaunchState}" units="ms"
expires_after="2023-09-18">
<owner>newcomer@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when the calendar view is destroyed, records the lifetime of the
CalendarView object, which corresponds with the user journey time of the
calendar.
</summary>
<token key="EventLaunchState">
<variant name="EventLaunched" summary="event launched"/>
<variant name="EventNotLaunched" summary="event not launched"/>
</token>
</histogram>
<histogram name="Ash.Calendar.{CalendarChildView}.Activated"
enum="CalendarEventSource" expires_after="2023-09-18">
<owner>newcomer@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>Recorded when the {CalendarChildView} is activated.</summary>
<token key="CalendarChildView">
<variant name="DateCell" summary="date cell"/>
<variant name="EventListItem" summary="event list item"/>
<variant name="MonthDownArrowButton" summary="month down arrow"/>
<variant name="MonthUpArrowButton" summary="month up arrow"/>
</token>
</histogram>
<histogram
name="Ash.CalendarView.CloseEventList.{CalendarChildView}.AnimationSmoothness"
units="%" expires_after="2023-09-18">
<owner>newcomer@google.com</owner>
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>Recorded when the close event list animation is finished.</summary>
<token key="CalendarChildView">
<variant name="CalendarSlidingSurface"
summary="calendar sliding surface container for event list and up
next"/>
<variant name="EventListItem" summary="event list item"/>
<variant name="UpNextView"
summary="if up next view is showing, track animating from the event
list view closing to the up next view showing"/>
</token>
</histogram>
<histogram name="Ash.CalendarView.ConstructionTime" units="ms"
expires_after="2023-09-18">
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
The time to build the CalendarView, recorded when CalendarView is
constructed, which happens every time the calendar is shown from the status
area.
</summary>
</histogram>
<histogram name="Ash.CalendarView.OnMonthChanged.AnimationSmoothness" units="%"
expires_after="2023-09-18">
<owner>newcomer@google.com</owner>
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>Recorded when the on month changed animation is finished.</summary>
</histogram>
<histogram
name="Ash.CalendarView.OpenEventList.{CalendarChildView}.AnimationSmoothness"
units="%" expires_after="2024-02-18">
<owner>newcomer@google.com</owner>
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when the open event list animation is finished on the
{CalendarChildView}. The metric is expired from 2023-02-18 to 2023-03-15, so
it's possible some data is dropped during that time.
</summary>
<token key="CalendarChildView">
<variant name="CalendarSlidingSurface"
summary="calendar sliding surface container for event list and up
next"/>
<variant name="EventListView" summary="event list view"/>
<variant name="LabelView" summary="label view"/>
<variant name="MonthView" summary="month view"/>
<variant name="UpNextView"
summary="if up next view is showing, track animating from it to the
event list view opening"/>
</token>
</histogram>
<histogram
name="Ash.CalendarView.ScrollOneMonth.{CalendarChildView}.AnimationSmoothness"
units="%" expires_after="2023-09-18">
<owner>newcomer@google.com</owner>
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when the scroll one month animation is finished on the
{CalendarChildView}.
</summary>
<token key="CalendarChildView">
<variant name="HeaderView" summary="header view"/>
<variant name="LabelView" summary="label view"/>
<variant name="MonthView" summary="month view"/>
</token>
</histogram>
<histogram name="Ash.CalendarView.ShowUpNextView.AnimationSmoothness" units="%"
expires_after="2023-09-18">
<owner>newcomer@google.com</owner>
<owner>samcackett@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Animation smoothness recorded when the up next view is shown. 60 fps is 100%
smoothness and so ideally we should see smoothness &gt; 80%.
</summary>
</histogram>
<histogram
name="Ash.CalendarView.{Animation}.{CalendarChildView}.AnimationSmoothness"
units="%" expires_after="2023-09-18">
<owner>newcomer@google.com</owner>
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when the {Animation} animation is finished on the
{CalendarChildView}.
</summary>
<token key="Animation">
<variant name="FadeInCurrentMonth" summary="event list item"/>
<variant name="ResetToToday" summary="reset to today"/>
</token>
<token key="CalendarChildView">
<variant name="ContentView" summary="content view"/>
<variant name="HeaderView" summary="header view"/>
</token>
</histogram>
<histogram name="Ash.CaptureModeController.BarButtons.{TabletOrClamshell}"
enum="CaptureModeBarButtonType" expires_after="2023-08-15">
<owner>afakhry@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Recorded whenever a button from the bar widget displayed in Capture mode is
pressed in {TabletOrClamshell}. The recorded enum value indicates the type
of the button pressed.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram
name="Ash.CaptureModeController.CameraDisconnectionsDuringRecordings.{TabletOrClamshell}"
units="camera disconnections" expires_after="2023-08-15">
<owner>michelefan@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Records the number of camera disconnections in {TabletOrClamshell} during
recording.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram
name="Ash.CaptureModeController.CameraReconnectDuration.{TabletOrClamshell}"
units="seconds" expires_after="2023-08-15">
<owner>michelefan@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Records how many seconds it takes a camera that got disconnected to get
reconnected again within the grace period in {TabletOrClamshell}.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram
name="Ash.CaptureModeController.CaptureAudioOnMetric.{TabletOrClamshell}"
enum="BooleanEnabled" expires_after="2023-08-01">
<owner>michelefan@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Recorded whenever a user is in a capture mode screen recording entered from
{TabletOrClamshell}. Emits true when audio is enabled, false otherwise.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram
name="Ash.CaptureModeController.CaptureConfiguration.{TabletOrClamshell}"
enum="CaptureModeConfiguration" expires_after="2023-08-15">
<owner>afakhry@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Recorded whenever a user performs a screen capture in {TabletOrClamshell}.
The recorded enum indicates the configuration used for the capture. I.e. the
capture source and the capture type.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram
name="Ash.CaptureModeController.CaptureRegionAdjusted.{TabletOrClamshell}"
units="adjustments" expires_after="2023-08-15">
<owner>afakhry@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Recorded whenever a user is in a region capture session in
{TabletOrClamshell} and performs a capture or they switch the capture
source. The recorded count indicates the number of times the user adjusts
the region. This counts each time they move the region or resize it. It is
reset whenever a user creates a new region or the count is recorded.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram name="Ash.CaptureModeController.ConsecutiveScreenshots"
units="consecutive screenshots" expires_after="2023-10-08">
<owner>afakhry@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Records the number of consecutive screenshots the user takes within 5s of
each other, regardless of capture options.
</summary>
</histogram>
<histogram
name="Ash.CaptureModeController.EndRecordingReason.{TabletOrClamshell}"
enum="EndRecordingReason" expires_after="2023-08-01">
<owner>afakhry@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Recorded whenever capture mode screen recording is ended in
{TabletOrClamshell}. The recorded enum value indicates the reason that lead
to ending the screen recording.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram name="Ash.CaptureModeController.EntryPoint.{TabletOrClamshell}"
enum="CaptureModeEntryType" expires_after="2023-08-01">
<owner>afakhry@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Recorded whenever Capture mode is entered from {TabletOrClamshell}. The
recorded enum value indicates the method used to enter Capture mode.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram
name="Ash.CaptureModeController.GIFRecordingFileSize.{TabletOrClamshell}"
units="KB" expires_after="2024-03-01">
<owner>afakhry@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Records the size of the successfully recorded GIF file by capture mode in
{TabletOrClamshell}. This metric will not be recorded if a file was not
successfully saved.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram
name="Ash.CaptureModeController.GIFRecordingLength.{TabletOrClamshell}"
units="seconds" expires_after="2024-03-01">
<owner>afakhry@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Records the time of a successful GIF recording in capture mode in
{TabletOrClamshell}. This metric will not be recorded if a file was not
successfully saved. The upper limit of this histogram is 3 hours.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram
name="Ash.CaptureModeController.GIFRecordingRegionToScreenRatio.{TabletOrClamshell}"
units="% of fullscreen area" expires_after="2024-03-20">
<owner>afakhry@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Records the percent ratio between the area of the user selected region for
GIF recording to the area of the full screen in {TabletOrClamshell}. Emitted
only when GIF recording is about to start.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram name="Ash.CaptureModeController.NumberOfConnectedCameras"
units="connected cameras" expires_after="2023-09-24">
<owner>conniekxu@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Records the number of connected cameras to the device whenever it changes.
</summary>
</histogram>
<histogram
name="Ash.CaptureModeController.Projector.CaptureConfiguration.{TabletOrClamshell}"
enum="CaptureModeConfiguration" expires_after="2023-10-17">
<owner>michelefan@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Within a {TabletOrClamshell} capture session entered from the projector app,
the histogram records the number of times a user adjusts a capture region,
which includes the moving and resizing. The count is recorded and reset when
a user performs a capture.The count is only reset when a user creates a new
region or switches capture sources.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram
name="Ash.CaptureModeController.Projector.CaptureRegionAdjusted.{TabletOrClamshell}"
units="adjustments" expires_after="2023-10-17">
<owner>michelefan@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Recorded whenever a user is in a region capture session in
{TabletOrClamshell} entered from the projector app and performs a capture or
they switch the capture source. The recorded count indicates the number of
times the user adjusts the region. This counts each time they move the
region or resize it. It is reset whenever a user creates a new region or the
count is recorded.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram
name="Ash.CaptureModeController.Projector.RecordingStartsWithCamera.{TabletOrClamshell}"
enum="BooleanEnabled" expires_after="2023-10-17">
<owner>michelefan@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Records whether a Projector-initiated recording starts with camera on or not
in {TabletOrClamshell}.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram
name="Ash.CaptureModeController.Projector.RecordingStartsWithDemoTools.{TabletOrClamshell}"
enum="BooleanEnabled" expires_after="2024-01-12">
<owner>michelefan@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Records whether a Projector-initiated recording starts with demo tools
feature enabled or not in {TabletOrClamshell}.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram
name="Ash.CaptureModeController.Projector.ScreenRecordingLength.{TabletOrClamshell}"
units="seconds" expires_after="2023-10-17">
<owner>afakhry@chromium.org</owner>
<owner>michelefan@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Records the time of a successful video recording in capture mode entered
from the projector app in {TabletOrClamshell}. This metric will not be
recorded if a file was not successfully saved. The upper limit of this
histogram is 3 hours.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram name="Ash.CaptureModeController.QuickAction"
enum="CaptureQuickAction" expires_after="2023-08-08">
<owner>shidi@chromium.org</owner>
<summary>
Track all quick actions on screenshot notification. Including: Edit in
backlight, Go to Files, Delete File.
</summary>
</histogram>
<histogram
name="Ash.CaptureModeController.RecordingCameraPositionOnStart.{TabletOrClamshell}"
enum="CameraPreviewSnapPosition" expires_after="2023-08-01">
<owner>michelefan@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Records the camera preview position when the recording is started in
{TabletOrClamshell}.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram
name="Ash.CaptureModeController.RecordingCameraSizeOnStart.{TabletOrClamshell}"
enum="CaptureModeCameraSize" expires_after="2023-08-01">
<owner>michelefan@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Records the camera size when the recording is started in
{TabletOrClamshell}.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram
name="Ash.CaptureModeController.RecordingStartsWithCamera.{TabletOrClamshell}"
enum="BooleanEnabled" expires_after="2023-08-01">
<owner>michelefan@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Records whether a capture mode video recording starts with camera or not in
{TabletOrClamshell}.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram
name="Ash.CaptureModeController.RecordingStartsWithDemoTools.{TabletOrClamshell}"
enum="BooleanEnabled" expires_after="2024-01-12">
<owner>michelefan@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Records whether a capture mode video recording starts with demo tools
feature enabled or not in {TabletOrClamshell}.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram name="Ash.CaptureModeController.SaveLocation.{TabletOrClamshell}"
enum="CaptureModeSaveToLocation" expires_after="2023-08-01">
<owner>michelefan@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Recorded whenever screen capture is saved in {TabletOrClamshell}. The
recorded enum value indicates the location that the screen capture is saved.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram
name="Ash.CaptureModeController.ScreenRecordingFileSize.{TabletOrClamshell}"
units="KB" expires_after="2024-03-01">
<owner>afakhry@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Records the size of the successfully recorded WebM file by capture mode in
{TabletOrClamshell}. This metric will not be recorded if a file was not
successfully saved, or if it was recorded for Projector.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram name="Ash.CaptureModeController.ScreenRecordingLength"
units="seconds" expires_after="2022-09-09">
<obsolete>
Replaced with
Ash.CaptureModeController.ScreenRecordingLength.{TabletOrClamshell} in M99.
</obsolete>
<owner>afakhry@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Records the time of a successful video recording in capture mode. This
metric will not be recorded if a file was not successfully saved. The upper
limit of this histogram is 3 hours.
</summary>
</histogram>
<histogram
name="Ash.CaptureModeController.ScreenRecordingLength.{TabletOrClamshell}"
units="seconds" expires_after="2023-08-01">
<owner>afakhry@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Records the time of a successful video recording in capture mode in
{TabletOrClamshell}. This metric will not be recorded if a file was not
successfully saved. The upper limit of this histogram is 3 hours.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram name="Ash.CaptureModeController.ScreenshotsPerDay" units="int"
expires_after="2023-10-08">
<owner>afakhry@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Records the number of screenshots that have been taken via the
CaptureModeController every 24 hours. Note that counts are not persisted
across crashes, restarts, or sessions so this is only intended to give a
rough approximation.
</summary>
</histogram>
<histogram name="Ash.CaptureModeController.ScreenshotsPerWeek" units="int"
expires_after="2023-10-22">
<owner>afakhry@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Records the number of screenshots that have been taken via the
CaptureModeController every 7 days. Note that counts are not persisted
across crashes, restarts, or sessions so this is only intended to give a
rough approximation. This means that this metric will only be recorded in
sessions spanning at least 7 days.
</summary>
</histogram>
<histogram name="Ash.CaptureModeController.SwitchesFromInitialCaptureMode"
enum="Boolean" expires_after="2024-02-12">
<owner>afakhry@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Emits true if a user has switched capture modes (fullscreen, region, window)
while in a capture mode session, false otherwise.
</summary>
</histogram>
<histogram
name="Ash.CaptureModeController.SwitchToDefaultReason.{TabletOrClamshell}"
enum="CaptureModeSwitchToDefaultReason" expires_after="2023-08-01">
<owner>michelefan@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Recorded whenever the capture folder is switched to default downloads folder
in {TabletOrClamshell}. The recorded enum value indicates the reason that
leads to the switching.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram name="Ash.DarkTheme.Settings.IsDarkModeEnabled" enum="Boolean"
expires_after="2023-03-01">
<obsolete>
Deprecated May 2022, now that it's no longer needed.
</obsolete>
<owner>minch@chromium.org</owner>
<owner>changmar@chromium.org</owner>
<summary>
Emitted true when the user switched to dark mode through (Dark theme) page
inside settings. Emitted false if the user switched to light mode in this
case. ChromeOS only.
</summary>
</histogram>
<histogram name="Ash.DarkTheme.Settings.IsThemed" enum="Boolean"
expires_after="2023-03-01">
<obsolete>
Deprecated May 2022, now that it's no longer needed.
</obsolete>
<owner>minch@chromium.org</owner>
<owner>changmar@chromium.org</owner>
<summary>
Emitted true if the user checked (Based on your wallpaper) radio button
inside (Dark theme) page of the settings. Emitted false if the user checked
(Neutral) radio button inside the page. ChromeOS only.
</summary>
</histogram>
<histogram name="Ash.DarkTheme.SystemTray.IsDarkModeEnabled" enum="Boolean"
expires_after="2023-09-03">
<owner>minch@chromium.org</owner>
<owner>changmar@chromium.org</owner>
<summary>
Emitted true when the user switched to dark mode through toggling the (Dark
theme) feature pod button inside system tray menu. Emitted false if the user
switched to light mode through toggling this button. ChromeOS only.
</summary>
</histogram>
<histogram name="Ash.DeskApi.{Method}.Result" units="BooleanSuccess"
expires_after="2023-10-07">
<owner>aprilzhou@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Recorded when a desk API {Method} method succeeded or failed.
</summary>
<token key="Method">
<variant name="AllDesk" summary="set to all desks"/>
<variant name="LaunchDesk" summary="launch desk"/>
<variant name="RemoveDesk" summary="remove desk"/>
<variant name="SwitchDesk" summary="switch desk"/>
</token>
</histogram>
<histogram name="Ash.Desks.AnimationLatency.DeskActivation" units="ms"
expires_after="2023-08-27">
<owner>afakhry@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<owner>chromeos-perfmetrics-eng@google.com</owner>
<summary>
Emitted when the virtual desks activation animation begins, to report the
latency of starting this animation. In a continuous desk animation, this
metric is recorded only for the first desk switch.
</summary>
</histogram>
<histogram name="Ash.Desks.AnimationLatency.DeskRemoval" units="ms"
expires_after="2023-08-27">
<owner>afakhry@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<owner>chromeos-perfmetrics-eng@google.com</owner>
<summary>
Emitted when the virtual desks removal animation begins, to report the
latency of starting this animation. In a continuous desk animation, this
metric is recorded only for the first desk switch.
</summary>
</histogram>
<histogram name="Ash.Desks.AnimationSmoothness.DeskActivation" units="%"
expires_after="2023-08-27">
<owner>afakhry@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
Emitted when the virtual desks activation animation completes to report the
smoothness of this animation when running on the display on which the active
window resides (if any) or the display of the primary root window. 100%
represents ideally smooth 60 frames per second.
</summary>
</histogram>
<histogram name="Ash.Desks.AnimationSmoothness.DeskEndGesture" units="%"
expires_after="2023-07-30">
<owner>afakhry@chromium.org</owner>
<owner>sammiequon@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
When a four finger touchpad swipe has ended, an animation to the nearest
desk will occur. This histogram is emitted when that animation finishes.
100% represents ideally smooth 60 frames per second.
</summary>
</histogram>
<histogram name="Ash.Desks.AnimationSmoothness.DeskRemoval" units="%"
expires_after="2023-08-27">
<owner>afakhry@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
Emitted when the virtual desks removal animation completes to report the
smoothness of this animation when running on the display on which the active
window resides (if any) or the display of the primary root window. 100%
represents ideally smooth 60 frames per second.
</summary>
</histogram>
<histogram name="Ash.Desks.AssignToAllDesksSource"
enum="DesksAssignToAllDesksSource" expires_after="2023-09-03">
<owner>zxdan@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Emitted when a window is assigned to all desks. E.g. `Move to Desks menu`
which can be accessed from a window's context menu or keyboard shortcuts.
This is not emitted when a window is unassigned from all desks. As of M99,
this should be used as the source of truth for the usage of the assign to
all desks feature.
</summary>
</histogram>
<histogram name="Ash.Desks.BentoBarEnabled" enum="Boolean"
expires_after="2023-10-01">
<obsolete>
Deprecated April 2023, the Bento Bar feature has been deleted.
</obsolete>
<owner>minch@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Emits true if a user clicked `Show deskbar` inside the context menu of bento
bar or desks bar in overview mode, false if `Hide deskbar` inside the same
context menu being clicked.
</summary>
</histogram>
<histogram name="Ash.Desks.BentoBarIsVisible" enum="Boolean"
expires_after="2023-09-24">
<obsolete>
Deprecated April 2023, the Bento Bar feature has been deleted.
</obsolete>
<owner>minch@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Emits true when the bento bar is created for the user. Will not emit false
if the bento bar has never been created for the user. This will be used to
count the number of users who saw the bento bar.
</summary>
</histogram>
<histogram name="Ash.Desks.CloseAllTotal" enum="BooleanHit"
expires_after="2023-09-10">
<owner>aprilzhou@google.com</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Emitted after a virtual desk being removed with close all option and undo
toast being shown. This metric describes the total number of times the user
chooses to close a desk with its windows, regardless of whether that action
is undone.
</summary>
</histogram>
<histogram name="Ash.Desks.CloseAllUndo" enum="BooleanHit"
expires_after="2023-09-10">
<owner>aprilzhou@google.com</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Emitted after a virtual desk being removed with close all option and undo
toast being clicked.
</summary>
</histogram>
<histogram name="Ash.Desks.CloseAllUndoAndExpired" enum="BooleanHit"
expires_after="2023-05-09">
<obsolete>
Made obsolete 2022-07-13 because the name and summary did not effectively
describe what it was recording. Replaced by Ash.Desks.CloseAllTotal.
</obsolete>
<owner>aprilzhou@google.com</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Emitted after a virtual desk being removed with close all option and undo
toast being showed. This metrics is a sum of user undo remove and ignore
undo.
</summary>
</histogram>
<histogram name="Ash.Desks.CloseAllZombieWindowsFound" units="windows"
expires_after="2024-02-21">
<owner>benbecker@google.com</owner>
<owner>chromeos-wms@google.com</owner>
<summary>
Emitted one minute after the DesksController synchronously closes all
windows with widgets remaining in a desk. Reports the number of windows with
null widgets that are still open after that time.
</summary>
</histogram>
<histogram name="Ash.Desks.ConsecutiveDailyVisits" units="days"
expires_after="2023-09-03">
<owner>afakhry@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Emitted when a desk is destroyed or a user activates a desk they haven't
visited the prior day. In the former case, reports the number of consecutive
days a user visited the newly-closed desk. In the latter case, reports the
number of consecutive days a user visited the desk during the previous
visit. This metric is persisted across multiple sessions and restarts. I.e.
if a user logs out and logs back in their desk's consecutive daily visits
will be restored. This metric uses the user's local timezone so if they move
back in time via timezone change, this metric will be reset.
</summary>
</histogram>
<histogram name="Ash.Desks.CustomNameCount" units="desks"
expires_after="2023-11-01">
<owner>benbecker@google.com</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Emitted when a user with more than one desk changes the name of a desk to
specify how many of the user's desks have custom names.
</summary>
</histogram>
<histogram name="Ash.Desks.CustomNameCreated" enum="BooleanHit"
expires_after="2023-11-08">
<owner>benbecker@google.com</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Emitted when a user with more than one desk confirms the name of a desk to
specify how often users create custom names.
</summary>
</histogram>
<histogram name="Ash.Desks.CustomNamePercentage" units="%"
expires_after="2023-11-01">
<owner>benbecker@google.com</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Emitted when a user with more than one desk changes the name of a desk to
specify the percentage of the user's desks that have custom names.
</summary>
</histogram>
<histogram name="Ash.Desks.DeskLifetime_{DeskIndex}" units="hr"
expires_after="2024-01-13">
<owner>afakhry@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
The lifetime of the desk at index {DeskIndex} (1-indexed). Emitted when a
desk is removed. This metric is persisted across multiple sessions and
restarts. I.e. if a user logs out and logs back in their desk's lifetime
will be restored.
</summary>
<token key="DeskIndex">
<variant name="1" summary="1"/>
<variant name="2" summary="2"/>
<variant name="3" summary="3"/>
<variant name="4" summary="4"/>
<variant name="5" summary="5"/>
<variant name="6" summary="6"/>
<variant name="7" summary="7"/>
<variant name="8" summary="8"/>
</token>
</histogram>
<histogram name="Ash.Desks.DesksCount3" units="units"
expires_after="2023-10-22">
<owner>afakhry@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
Emitted when there's a change in the virtual desks count whether due to desk
creation or removal in Bento. Specifies the number of available desks. It is
not emitted for the first-ever created default desk.
</summary>
</histogram>
<histogram name="Ash.Desks.DesksSwitch" enum="DesksSwitchSource"
expires_after="2023-08-27">
<owner>afakhry@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
Emitted when the active desk is changed to specify the source of this
action, i.e. whether due to new-desk shortcut, desk removed, window
activated, switch-desk shortcut, or a press on the desk mini_view.
</summary>
</histogram>
<histogram name="Ash.Desks.MoveWindowFromActiveDesk"
enum="DesksMoveWindowFromActiveDeskSource" expires_after="2023-10-22">
<owner>afakhry@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
Emitted when a window is moved from the current active desk to another desk.
Specifies the source of this action, i.e. whether to window drag-and-drop,
or keyboard shortcut. As of M90, the &quot;Assign to desk menu&quot; bucket
is emitted when a user assigns a window to all desks through its context
menu. Prior to this, the &quot;Assign to desk menu&quot; bucket was emitted
when a user switched desks and their All Desks windows were moved from the
old active desk to the new active desk. As of M99, the &quot;Assign to desk
menu&quot; no longer tracks the assign to all desks source. The replacement
is &quot;Ash.Desks.AssignToAllDesksSource&quot;.
</summary>
</histogram>
<histogram name="Ash.Desks.NewDesk2" enum="DesksCreationRemovalSource"
expires_after="2023-10-22">
<owner>afakhry@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
Emitted when a virtual desk is created to specify the source of this action,
i.e. whether from the new-desk button, keyboard shortcut, or due to desks
restore. It is not emitted for the first-ever created default desk.
</summary>
</histogram>
<histogram name="Ash.Desks.NumberOfDeskTraversals" units="units"
expires_after="2023-09-03">
<owner>afakhry@chromium.org</owner>
<owner>sammiequon@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
Tracks the number of times a desk (virtual workspace) has visibly changed in
a time span of five seconds. This counts the number of total traversals; for
example if the user has moved from desk 1 to 2 to 1 to 2 to 3, the number
recorded is 4. This only gets recorded if a traversal starts. A traversal
means that the desk has changed onscreen.
</summary>
</histogram>
<histogram name="Ash.Desks.NumberOfWindowsClosed" units="units"
expires_after="2023-05-09">
<obsolete>
This metric was originally recording for metrics for both combineDesk and
closeAll. Replaced with Ash.Desks.NumberOfWindowsClosed2.
</obsolete>
<owner>aprilzhou@google.com</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Emitted when a virtual desk is removed and all windows on the desk being
closed to record the total number of windows being closed by this operation.
</summary>
</histogram>
<histogram name="Ash.Desks.NumberOfWindowsClosed.{RemovalSource}"
units="windows" expires_after="2023-10-03">
<obsolete>
This metric was originally recording for metrics for both combineDesk and
closeAll. Replaced with Ash.Desks.NumberOfWindowsClosed2.{RemovalSource}.
</obsolete>
<owner>aprilzhou@google.com</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Emitted when a virtual desk is removed and all windows on the desk being
closed by {RemovalSource} to record the total number of windows being closed
by this operation.
</summary>
<token key="RemovalSource">
<variant name="Api" summary="api"/>
<variant name="Button" summary="button"/>
<variant name="Keyboard" summary="keyboard"/>
<variant name="SaveRecall" summary="save and recall"/>
</token>
</histogram>
<histogram name="Ash.Desks.NumberOfWindowsClosed2" units="units"
expires_after="2023-09-24">
<owner>aprilzhou@google.com</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Emitted when a virtual desk is removed and all windows on the desk being
closed to record the total number of windows being closed by this operation.
Emitted only for close-all.
</summary>
</histogram>
<histogram name="Ash.Desks.NumberOfWindowsClosed2.{RemovalSource}"
units="windows" expires_after="2023-10-03">
<owner>aprilzhou@google.com</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Emitted when a virtual desk is removed and all windows on the desk being
closed by {RemovalSource} to record the total number of windows being closed
by this operation. Emitted only for close-all.
</summary>
<token key="RemovalSource">
<variant name="Api" summary="api"/>
<variant name="Button" summary="close-all button"/>
<variant name="Keyboard" summary="keyboard"/>
</token>
</histogram>
<histogram name="Ash.Desks.NumberOfWindowsOnDesk_1" units="units"
expires_after="2023-08-27">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
The number of windows on the first desk. Emitted when a desk is removed, or
a window is moved to another desk.
</summary>
</histogram>
<histogram name="Ash.Desks.NumberOfWindowsOnDesk_10" units="units"
expires_after="2023-08-27">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
The number of windows on the tenth desk. Emitted when a desk is removed, or
a window is moved to another desk.
</summary>
</histogram>
<histogram name="Ash.Desks.NumberOfWindowsOnDesk_11" units="units"
expires_after="2023-08-27">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
The number of windows on the eleventh desk. Emitted when a desk is removed,
or a window is moved to another desk.
</summary>
</histogram>
<histogram name="Ash.Desks.NumberOfWindowsOnDesk_12" units="units"
expires_after="2023-08-27">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
The number of windows on the twelfth desk. Emitted when a desk is removed,
or a window is moved to another desk.
</summary>
</histogram>
<histogram name="Ash.Desks.NumberOfWindowsOnDesk_13" units="units"
expires_after="2023-08-27">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
The number of windows on the thirteenth desk. Emitted when a desk is
removed, or a window is moved to another desk.
</summary>
</histogram>
<histogram name="Ash.Desks.NumberOfWindowsOnDesk_14" units="units"
expires_after="2023-08-27">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
The number of windows on the fourteenth desk. Emitted when a desk is
removed, or a window is moved to another desk.
</summary>
</histogram>
<histogram name="Ash.Desks.NumberOfWindowsOnDesk_15" units="units"
expires_after="2023-08-27">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
The number of windows on the fifteenth desk. Emitted when a desk is removed,
or a window is moved to another desk.
</summary>
</histogram>
<histogram name="Ash.Desks.NumberOfWindowsOnDesk_16" units="units"
expires_after="2023-08-27">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
The number of windows on the sixteenth desk. Emitted when a desk is removed,
or a window is moved to another desk.
</summary>
</histogram>
<histogram name="Ash.Desks.NumberOfWindowsOnDesk_2" units="units"
expires_after="2023-08-27">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
The number of windows on the second desk. Emitted when a desk is removed, or
a window is moved to another desk.
</summary>
</histogram>
<histogram name="Ash.Desks.NumberOfWindowsOnDesk_3" units="units"
expires_after="2023-08-27">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
The number of windows on the third desk. Emitted when a desk is removed, or
a window is moved to another desk.
</summary>
</histogram>
<histogram name="Ash.Desks.NumberOfWindowsOnDesk_4" units="units"
expires_after="2023-08-27">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
The number of windows on the fourth desk. Emitted when a desk is removed, or
a window is moved to another desk.
</summary>
</histogram>
<histogram name="Ash.Desks.NumberOfWindowsOnDesk_5" units="units"
expires_after="2023-08-27">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
The number of windows on the fifth desk. Emitted when a desk is removed, or
a window is moved to another desk.
</summary>
</histogram>
<histogram name="Ash.Desks.NumberOfWindowsOnDesk_6" units="units"
expires_after="2023-08-27">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
The number of windows on the sixth desk. Emitted when a desk is removed, or
a window is moved to another desk.
</summary>
</histogram>
<histogram name="Ash.Desks.NumberOfWindowsOnDesk_7" units="units"
expires_after="2023-08-27">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
The number of windows on the seventh desk. Emitted when a desk is removed,
or a window is moved to another desk.
</summary>
</histogram>
<histogram name="Ash.Desks.NumberOfWindowsOnDesk_8" units="units"
expires_after="2023-08-27">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
The number of windows on the eighth desk. Emitted when a desk is removed, or
a window is moved to another desk.
</summary>
</histogram>
<histogram name="Ash.Desks.NumberOfWindowsOnDesk_9" units="units"
expires_after="2023-08-27">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
The number of windows on the ninth desk. Emitted when a desk is removed, or
a window is moved to another desk.
</summary>
</histogram>
<histogram name="Ash.Desks.PresentationTime.UpdateGesture" units="ms"
expires_after="2024-01-10">
<owner>afakhry@chromium.org</owner>
<owner>sammiequon@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
Presentation time in ms when a four finger swipe is being used to change
desks. One full swipe results in multiple emissions of this metric; once
everytime the fingers change location on the trackpad. Presentation time is
the time it takes from when the software recognizes the touchpad swipe to
when the next frame is displayed on the screen.
</summary>
</histogram>
<histogram name="Ash.Desks.PresentationTime.UpdateGesture.MaxLatency"
units="ms" expires_after="2024-01-10">
<owner>afakhry@chromium.org</owner>
<owner>sammiequon@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
The largest presentation time value in ms for a single four finger swipe to
change desks. One full swipe results in one emission of this metric; its the
largest value of Ash.Desks.PresentationTime.UpdateGesture which is emitted
multiple times during a single full swipe. Presentation time is the time it
takes from when the software recognizes the touchpad swipe to when the next
frame is displayed on the frame.
</summary>
</histogram>
<histogram name="Ash.Desks.RemoveDesk" enum="DesksCreationRemovalSource"
expires_after="2023-08-27">
<owner>afakhry@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Emitted when a virtual desk is removed to specify the source of this remove
operation, i.e. whether from the close-desk button, or keyboard shortcut.
</summary>
</histogram>
<histogram name="Ash.Desks.RemoveDeskType" enum="DeskCloseType"
expires_after="2023-09-10">
<owner>aprilzhou@google.com</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Emitted when a virtual desk is removed to specify the category of this
remove operation among close all, combine desk, and close all and wait.
</summary>
</histogram>
<histogram name="Ash.Desks.UserHasUsedDesksRecently" enum="Boolean"
expires_after="2023-10-01">
<obsolete>
Deprecated April 2023, the Bento Bar feature has been deleted.
</obsolete>
<owner>minch@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Emitted true when first session started and detected user pref
`kUserHasUsedDesksRecently` has been set to true for the user. Will not emit
false otherwise. This will be used to count the number of users that
`kUserHasUsedDesksRecently` has been set to true.
</summary>
</histogram>
<histogram name="Ash.Desks.WeeklyActiveDesks" units="active desks"
expires_after="2023-10-22">
<owner>afakhry@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
The number of unique weekly active desks a user has interacted with in a
week. A desk is considered interacted with if a window is moved to it, it is
created, its name is changed, or it is activated and stayed on for at least
3s. This metric is persisted across multiple sessions and restarts. I.e. if
a user logs out and logs back in. This metric is reported a week after it
begins counting. If a session is restored and more than a week has elapsed
since counting has begun, the restored data will be emitted as an entry and
this metric will be reset.
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.AddOrUpdateTemplateStatus"
enum="DeskModelAddOrUpdateEntryStatus" expires_after="2023-10-15">
<owner>yzd@google.com</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Emitted when a desk template is added or updated to indicate result of this
operation. i.e. whether this operation is successful or failed with any
particular reason.
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.DeleteSaveAndRecall" units="BooleanHit"
expires_after="2023-10-03">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Recorded when a Save and Recall saved desk is manually deleted.
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.DeleteTemplate" enum="BooleanHit"
expires_after="2023-10-03">
<owner>avynn@google.com</owner>
<owner>janetmac@chromium.org</owner>
<summary>Recorded when desk templates are deleted, is never false.</summary>
</histogram>
<histogram name="Ash.DeskTemplate.FloatingWorkspaceTabCount" units="tabs"
expires_after="2024-02-02">
<owner>ligeng@google.com</owner>
<owner>marcuskoehler@google.com</owner>
<summary>
Records the number of tabs in a Floating Workspace desk when it is saved.
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.FloatingWorkspaceWindowAndTabCount"
units="windows and tabs" expires_after="2024-02-02">
<owner>ligeng@google.com</owner>
<owner>marcuskoehler@google.com</owner>
<summary>
Records the number of windows and tabs in a Floating Workspace desk when it
is saved.
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.FloatingWorkspaceWindowCount" units="windows"
expires_after="2024-02-02">
<owner>ligeng@google.com</owner>
<owner>marcuskoehler@google.com</owner>
<summary>
Records the number of windows in a Floating Workspace desk when it is saved.
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.LaunchFloatingWorkspace" enum="BooleanHit"
expires_after="2024-02-02">
<owner>ligeng@google.com</owner>
<owner>marcuskoehler@google.com</owner>
<summary>Emitted when a Floating Workspace desk is launched.</summary>
</histogram>
<histogram name="Ash.DeskTemplate.LaunchFromTemplate" enum="BooleanHit"
expires_after="2023-10-03">
<owner>richui@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Emitted when a template is launched and a desk is created, is never false.
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.LaunchSaveAndRecall" enum="BooleanHit"
expires_after="2023-10-03">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>Emitted when a Save and Recall desk is launched.</summary>
</histogram>
<histogram name="Ash.DeskTemplate.LoadTemplateGrid" enum="BooleanHit"
expires_after="2023-10-03">
<owner>avynn@google.com</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Recorded when a user opens the template grid, is never false.
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.NewSaveAndRecall" units="BooleanHit"
expires_after="2023-10-03">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>Recorded when a new Save and Recall desk is created.</summary>
</histogram>
<histogram name="Ash.DeskTemplate.NewTemplate" enum="BooleanHit"
expires_after="2023-10-03">
<owner>avynn@google.com</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Recorded when a user creates a desk template, is never false.
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.ReplaceSaveAndRecall" enum="BooleanHit"
expires_after="2023-10-03">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>Recorded when the user replaces a Save and Recall desk.</summary>
</histogram>
<histogram name="Ash.DeskTemplate.ReplaceTemplate" enum="BooleanHit"
expires_after="2023-10-03">
<owner>aprilzhou@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Recorded when replace dialog opens and user accepted it, is never false.
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.SaveAndRecallTabCount" units="count"
expires_after="2023-10-03">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Records the number of tabs in a Save and Recall desk when it is saved.
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.SaveAndRecallTemplateSize" units="B"
expires_after="2023-11-08">
<owner>zhumatthew@google.com</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Records the save and recall template file size that is saved to local
storage.
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.SaveAndRecallUnsupportedAppDialogShow"
units="count" expires_after="2023-10-03">
<owner>dandersson@google.com</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Records the number of times the unsupported Apps dialog shows. This event is
triggered when a user attempts to save a Save and Recall desk that contains
an unsupported app type. Currently the saved desk feature only supports
PWAs, Extensions, and browser instances.
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.SaveAndRecallWindowAndTabCount" units="count"
expires_after="2023-10-03">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Records the number of windows and tabs in a Save and Recall desk when it is
saved.
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.SaveAndRecallWindowCount" units="count"
expires_after="2023-10-03">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Records the number of windows in a Save and Recall desk when it is saved.
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.TabCount" units="count"
expires_after="2023-10-03">
<owner>richui@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>Records the number of tabs in a template when it is saved.</summary>
</histogram>
<histogram name="Ash.DeskTemplate.TemplateSize" units="B"
expires_after="2023-11-08">
<owner>zhumatthew@google.com</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Records the file size of the desk template that is saved to local storage.
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.TimeBetweenSaveAndRecall" units="seconds"
expires_after="2023-10-03">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
The number of seconds between the creation of a new Save and Recall desk and
its launch (and automatic deletion).
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.TimeToLoadTemplate" units="ms"
expires_after="2023-10-03">
<owner>avynn@google.com</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Measures the amount of time it takes to launch a template from the time that
the launch is invoked to the time that the last window is opened.
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.UnsupportedAppDialogShow" units="count"
expires_after="2023-10-03">
<owner>avynn@google.com</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Records the number of times the unsupported Apps dialog shows. This event is
triggered when a user attempts to save a template that contains an
unsupported app type. Currently the desks templates feature only supports
PWAs, Extensions, and browser instances.
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.UserSaveAndRecallCount" units="count"
expires_after="2023-10-03">
<owner>dandersson@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Records the number of Save and Recall desks a user has saved when a desk is
saved or deleted.
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.UserTemplateCount" units="count"
expires_after="2023-10-03">
<owner>richui@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Records the number of templates a user has saved when a template is saved or
deleted.
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.WindowAndTabCount" units="count"
expires_after="2023-10-03">
<owner>richui@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Records the number of windows and tabs in a template when it is saved.
</summary>
</histogram>
<histogram name="Ash.DeskTemplate.WindowCount" units="count"
expires_after="2023-10-03">
<owner>richui@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Records the number of windows in a template when it is saved.
</summary>
</histogram>
<histogram name="Ash.DeviceActiveClient.CheckMembershipCases"
enum="DeviceActiveCheckMembershipResponseCases" expires_after="2023-10-08">
<owner>qianwan@google.com</owner>
<owner>chromeos-data-team@google.com</owner>
<summary>
Record the number of different failed/success cases for check membership
process. Refer to ash::device_activity::DeviceActivityClient for details.
</summary>
</histogram>
<histogram name="Ash.DeviceActiveClient.Duration.{DeviceActiveClientState}"
units="ms" expires_after="2023-09-01">
<owner>hirthanan@google.com</owner>
<owner>chromeos-data-team@google.com</owner>
<summary>
Record the total duration to transition between DeviceActivityClient states.
States are defined in //chromeos/ash/components/device_activity_client.h.
ChromeOS only. {DeviceActiveClientState}
</summary>
<token key="DeviceActiveClientState" variants="DeviceActiveClientState"/>
</histogram>
<histogram name="Ash.DeviceActiveClient.IsPsmOprfResponseBodySet"
enum="BooleanSuccess" expires_after="2023-10-01">
<owner>hirthanan@google.com</owner>
<owner>chromeos-data-team@google.com</owner>
<summary>
Record success if the PSM OPRF response contains a value. This network
request is called after browser start if the last ping timestamp of the
Chromebook is not known. ChromeOS only.
</summary>
</histogram>
<histogram name="Ash.DeviceActiveClient.IsPsmOprfResponseParsedCorrectly"
enum="BooleanSuccess" expires_after="2023-10-01">
<owner>hirthanan@google.com</owner>
<owner>chromeos-data-team@google.com</owner>
<summary>
Record success if the PSM OPRF response is able to be parsed correctly. This
network request is called after browser start if the last ping timestamp of
the Chromebook is not known. ChromeOS only.
</summary>
</histogram>
<histogram name="Ash.DeviceActiveClient.IsPsmQueryResponseBodySet"
enum="BooleanSuccess" expires_after="2023-10-01">
<owner>hirthanan@google.com</owner>
<owner>chromeos-data-team@google.com</owner>
<summary>
Record success if the PSM Query response contains a value. This network
request is called after browser start if the last ping timestamp of the
Chromebook is not known. ChromeOS only.
</summary>
</histogram>
<histogram name="Ash.DeviceActiveClient.IsPsmQueryResponseParsedCorrectly"
enum="BooleanSuccess" expires_after="2023-10-01">
<owner>hirthanan@google.com</owner>
<owner>chromeos-data-team@google.com</owner>
<summary>
Record success if the PSM Query response is able to be parsed correctly.
This network request is called after browser start if the last ping
timestamp of the Chromebook is not known. ChromeOS only.
</summary>
</histogram>
<histogram name="Ash.DeviceActiveClient.PreservedFileState"
enum="DeviceActiveClientPreservedFileState" expires_after="2023-09-01">
<owner>hirthanan@google.com</owner>
<owner>chromeos-data-team@google.com</owner>
<summary>
Record the states after reading preserved file over DBus for last active utc
dates. PreservedFileState is defined in
//chromeos/ash/components/device_activity_client.h. ChromeOS only.
</summary>
</histogram>
<histogram name="Ash.DeviceActiveClient.PsmOprfResponseNetErrorCode"
enum="NetErrorCodes" expires_after="2023-10-01">
<owner>hirthanan@google.com</owner>
<owner>chromeos-data-team@google.com</owner>
<summary>
Emit the NetError code associated with the PSM OPRF response. This network
request is called after browser start if the last ping timestamp of the
Chromebook is not known. ChromeOS only. Enum for histogram will contain 0 -
899. Ranges are defined //net/base/net_error_list.h;l=14-23.
</summary>
</histogram>
<histogram name="Ash.DeviceActiveClient.PsmQueryResponseNetErrorCode"
enum="NetErrorCodes" expires_after="2023-10-01">
<owner>hirthanan@google.com</owner>
<owner>chromeos-data-team@google.com</owner>
<summary>
Emit the NetError code associated with the PSM Query response. This network
request is called after browser start if the last ping timestamp of the
Chromebook is not known. ChromeOS only. Enum for histogram will contain 0 -
899. Ranges are defined //net/base/net_error_list.h;l=14-23.
</summary>
</histogram>
<histogram name="Ash.DeviceActiveClient.QueryMembershipResult"
enum="BooleanSuccess" expires_after="2023-09-01">
<owner>hirthanan@google.com</owner>
<owner>chromeos-data-team@google.com</owner>
<summary>
Whether the private set membership query response is true or false.
</summary>
</histogram>
<histogram
name="Ash.DeviceActiveClient.Recorded{DeviceActivityClientTransitionMethod}Minute"
units="int" expires_after="2023-09-01">
<owner>hirthanan@google.com</owner>
<owner>chromeos-data-team@google.com</owner>
<summary>
Emitted in the minute during the hour that DeviceActivityClient
{DeviceActivityClientTransitionMethod} is called. ChromeOS only.
</summary>
<token key="DeviceActivityClientTransitionMethod">
<variant name="TransitionOutOfIdle" summary="transition-out-of-idle"/>
<variant name="TransitionToCheckIn" summary="transition-to-check-in"/>
</token>
</histogram>
<histogram name="Ash.DeviceActiveClient.Response.{DeviceActiveClientState}"
enum="DeviceActiveClientPsmResponse" expires_after="2023-09-01">
<owner>hirthanan@google.com</owner>
<owner>chromeos-data-team@google.com</owner>
<summary>
Record the PsmResponse whenever a response is received from the server.
PsmResponse is defined in
//chromeos/ash/components/device_activity_client.h. ChromeOS only.
{DeviceActiveClientState}
</summary>
<token key="DeviceActiveClientState" variants="DeviceActiveClientState"/>
</histogram>
<histogram name="Ash.DeviceActiveClient.SavePreservedFileSuccess"
enum="BooleanSuccess" expires_after="2023-11-05">
<owner>hirthanan@google.com</owner>
<owner>chromeos-data-team@google.com</owner>
<summary>
Record success boolean after attempting to write last active utc dates for
all use case to the preserved file, over DBus.
</summary>
</histogram>
<histogram name="Ash.DeviceActiveClient.StateCount"
enum="DeviceActiveClientState" expires_after="2023-11-05">
<owner>hirthanan@google.com</owner>
<owner>chromeos-data-team@google.com</owner>
<summary>
Recorded every time the DeviceActivityClient enters a new state in its FSM.
States are defined in //chromeos/ash/components/device_activity_client.h.
ChromeOS only.
</summary>
</histogram>
<histogram name="Ash.DeviceActiveController.IsTestImageDevice"
enum="BooleanSuccess" expires_after="2023-09-01">
<owner>hirthanan@google.com</owner>
<owner>chromeos-data-team@google.com</owner>
<summary>
Record success boolean to indicate whether a branded ChromeOS device is a
testimage/unknown channel type or a legitimate device. Frequency of
recording the histogram is on every device browser startup.
</summary>
</histogram>
<histogram name="Ash.DeviceActiveController.PsmDeviceActiveSecretIsSet"
enum="BooleanSuccess" expires_after="2023-09-01">
<owner>hirthanan@google.com</owner>
<owner>chromeos-data-team@google.com</owner>
<summary>Whether the PSM derived active secret is set (non empty).</summary>
</histogram>
<histogram name="Ash.DeviceActivity.MethodCalled" enum="DeviceActivityMethod"
expires_after="2023-09-01">
<owner>hirthanan@google.com</owner>
<owner>chromeos-data-team@google.com</owner>
<summary>
Record the number of times various methods are called in
//chromeos/ash/components/device_activity/. ChromeOS only.
</summary>
</histogram>
<histogram name="Ash.Display.InternalDisplay.ActiveEffectiveResolution"
enum="EffectiveResolution" expires_after="2023-10-08">
<owner>malaykeshav@chromium.org</owner>
<owner>oshima@chromium.org</owner>
<summary>
The effective resolution of the internal display after device scale factor
and display zoom level has been applied. This is the exact value matching
the display's effective resolution. This is emitted at regular intervals.
</summary>
</histogram>
<histogram name="Ash.Dock.Action" enum="DockedAction" expires_after="M85">
<owner>kuscher@google.com</owner>
<owner>wutao@chromium.org</owner>
<summary>
User-initiated action taken that affects docked windows such as docking,
undocking, minimizing, restoring, closing or just dragging a docked window.
</summary>
</histogram>
<histogram name="Ash.Dock.ActionSource" enum="DockedActionSource"
expires_after="M85">
<owner>kuscher@google.com</owner>
<owner>wutao@chromium.org</owner>
<summary>
Source (mouse, touch, keyboard or unknown) of the user-initiated action for
docked windows.
</summary>
</histogram>
<histogram name="Ash.Dock.ItemsAll" units="units" expires_after="M85">
<owner>kuscher@google.com</owner>
<owner>wutao@chromium.org</owner>
<summary>
Number of all docked windows or panels including hidden or minimized.
Recorded on every user action that interacts with docked windows.
</summary>
</histogram>
<histogram name="Ash.Dock.ItemsLarge" units="units" expires_after="M85">
<owner>kuscher@google.com</owner>
<owner>wutao@chromium.org</owner>
<summary>
Number of large (wider than dock maximum width) windows that had to be
shrunk to get docked among the visible docked windows. Recorded on every
user action that interacts with docked windows.
</summary>
</histogram>
<histogram name="Ash.Dock.ItemsPanels" units="units" expires_after="M85">
<owner>kuscher@google.com</owner>
<owner>wutao@chromium.org</owner>
<summary>
Number of docked visible panels. Recorded on every user action that
interacts with docked windows.
</summary>
</histogram>
<histogram name="Ash.Dock.ItemsVisible" units="units" expires_after="M85">
<owner>kuscher@google.com</owner>
<owner>wutao@chromium.org</owner>
<summary>
Number of visible docked windows or panels. Recorded on every user action
that interacts with docked windows.
</summary>
</histogram>
<histogram name="Ash.Dock.TimeBetweenUse" units="seconds" expires_after="M85">
<owner>kuscher@google.com</owner>
<owner>wutao@chromium.org</owner>
<summary>
Time elapsed between instances of docking, undocking or any other action
affecting docked state of a window.
</summary>
</histogram>
<histogram name="Ash.Dock.Width" units="pixels" expires_after="M85">
<owner>kuscher@google.com</owner>
<owner>wutao@chromium.org</owner>
<summary>
Width of the docked area in pixels. Recorded every time it changes after a
user window resize operation is completed.
</summary>
</histogram>
<histogram name="Ash.DragWindowFromShelf.PresentationTime" units="ms"
expires_after="2024-02-22">
<owner>tbarzic@chromium.org</owner>
<owner>xdai@chromium.org</owner>
<summary>
Presentation time in ms when a window is dragged from the bottom of the
shelf. Recorded when the drag action is in progress.
Warning: this histogram was expired from 2022-10-04 to 2023-02-22; data may
be missing.
</summary>
</histogram>
<histogram name="Ash.DragWindowFromShelf.PresentationTime.MaxLatency"
units="ms" expires_after="2023-05-30">
<owner>tbarzic@chromium.org</owner>
<owner>xdai@chromium.org</owner>
<summary>
Maximum latency of the presentation time in ms when a window is dragged from
the bottom of the shelf. Recorded when the drag action is finished.
</summary>
</histogram>
<histogram name="Ash.EndOfLife.IncentiveButtonClicked"
enum="EolIncentiveButtonType" expires_after="2023-09-21">
<owner>mmourgos@chromium.org</owner>
<owner>tbarzic@chromium.org</owner>
<summary>
Tracks the number of times that each end of life incentive button has been
clicked. Recorded when the button is clicked to open the incentive url.
</summary>
</histogram>
<histogram name="Ash.EndOfLife.IncentiveShowSource"
enum="EolIncentiveShowSource" expires_after="2023-09-21">
<owner>mmourgos@chromium.org</owner>
<owner>tbarzic@chromium.org</owner>
<summary>
Tracks the number of times that each end of life incentive type is shown.
Recorded as soon as the end of life incentive is shown on the screen.
</summary>
</histogram>
<histogram name="Ash.EventLatency.Core.TotalLatency" units="ms"
expires_after="2023-10-27">
<owner>xiyuan@chromium.org</owner>
<owner>yichenz@chromium.org</owner>
<owner>chromeos-perfmetrics-eng@google.com</owner>
<summary>
Similar to &quot;Ash.EventLatency.TotalLatency&quot; but tracks total
latency of 5 core events
(MouseDragged/MousePressed/MouseReleased/KeyPressed/KeyReleased) for ash UI,
from when the user input causing the event is generated until the frame
caused by the event is submitted by the GPU service and presented
successfully on the screen.
This histogram only records metrics on machines with high-resolution clocks.
</summary>
</histogram>
<histogram name="Ash.EventLatency.TotalLatency" units="ms"
expires_after="2023-10-27">
<owner>xiyuan@chromium.org</owner>
<owner>yichenz@chromium.org</owner>
<owner>chromeos-perfmetrics-eng@google.com</owner>
<summary>
Tracks total latency of all types of event for ash UI, from when the user
input causing the event is generated until the frame caused by the event is
submitted by the GPU service and presented successfully on the screen.
This histogram only records metrics on machines with high-resolution clocks.
</summary>
</histogram>
<histogram name="Ash.EventLatency.{EventType}.TotalLatency"
units="microseconds" expires_after="2023-10-06">
<owner>xiyuan@chromium.org</owner>
<owner>yichenz@chromium.org</owner>
<owner>chromeos-perfmetrics-eng@google.com</owner>
<summary>
Tracks total latency of {EventType} for ash UI, from when the user input
causing the event is generated until the frame caused by the event is
submitted by the GPU service and presented successfully on the screen.
This histogram only records metrics on machines with high-resolution clocks.
</summary>
<token key="EventType">
<variant name="FirstGestureScrollUpdate"/>
<variant name="GestureDoubleTap"/>
<variant name="GestureLongPress"/>
<variant name="GestureLongTap"/>
<variant name="GesturePinchBegin"/>
<variant name="GesturePinchEnd"/>
<variant name="GesturePinchUpdate"/>
<variant name="GestureScrollBegin"/>
<variant name="GestureScrollEnd"/>
<variant name="GestureScrollUpdate"/>
<variant name="GestureShowPress"/>
<variant name="GestureTap"/>
<variant name="GestureTapCancel"/>
<variant name="GestureTapDown"/>
<variant name="GestureTapUnconfirmed"/>
<variant name="GestureTwoFingerTap"/>
<variant name="InertialGestureScrollUpdate"/>
<variant name="KeyPressed"/>
<variant name="KeyReleased"/>
<variant name="MouseDragged"/>
<variant name="MousePressed"/>
<variant name="MouseReleased"/>
<variant name="MouseWheel"/>
<variant name="TouchMoved"/>
<variant name="TouchPressed"/>
<variant name="TouchReleased"/>
</token>
</histogram>
<histogram name="Ash.Float.FloatWindowCountsPerSession" units="windows"
expires_after="2023-11-20">
<owner>nupurjain@google.com</owner>
<owner>shidi@chromium.org</owner>
<owner>sammiequon@chromium.org</owner>
<summary>
The number of floating windows per session, which is from the time a user
logs in to the time they log off. This counts how many times any window
enters float state. If the same window is floated twice in the same session,
it will get recorded twice.
</summary>
</histogram>
<histogram name="Ash.Float.FloatWindowDuration" units="minutes"
expires_after="2023-11-20">
<owner>nupurjain@google.com</owner>
<owner>sammiequon@chromium.org</owner>
<owner>shidi@chromium.org</owner>
<summary>
The amount of time a user keeps a floating window open and visible. Open and
visible means the window is in float state and is on the active desk. If a
window is floated and moved to an inactive desk we stop recording. The timer
starts when we float a window and we record the histogram when the window is
unfloated. The recording can also happen if a floated window is moved to an
inactive desk, or the desk changes; we treat this as unfloated.
</summary>
</histogram>
<histogram name="Ash.Float.FloatWindowMoveToAnotherDeskCounts" units="windows"
expires_after="2023-12-11">
<owner>nupurjain@google.com</owner>
<owner>shidi@chromium.org</owner>
<owner>sammiequon@chromium.org</owner>
<summary>
The counts of how many times floated windows moved to another desk per
session, which is from the time a user logs in to the time they log off.
</summary>
</histogram>
<histogram name="Ash.Float.MultitaskMenuActionType.{TabletOrClamshell}"
enum="MultitaskMenuActionType" expires_after="2023-11-11">
<owner>nupurjain@google.com</owner>
<owner>shidi@chromium.org</owner>
<owner>sophiewen@chromium.org</owner>
<summary>
Recorded whatever action is taken on the {TabletOrClamshell} multitask menu.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram name="Ash.Float.MultitaskMenuEntryType.{TabletOrClamshell}"
enum="MultitaskMenuEntryType" expires_after="2023-11-11">
<owner>nupurjain@google.com</owner>
<owner>shidi@chromium.org</owner>
<owner>sophiewen@chromium.org</owner>
<summary>
Recorded whenever the multitask menu is opened from {TabletOrClamshell}. The
recorded enum value indicates the method used to open the menu.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram name="Ash.FloatingWorkspace.FloatingWorkspaceV1Initialized"
enum="BooleanHit" expires_after="2024-01-28">
<owner>ligeng@google.com</owner>
<owner>marcuskoehler@google.com</owner>
<summary>
Recorded when floating workspace service is launched. The false bucket is
unused here.
</summary>
</histogram>
<histogram name="Ash.FloatingWorkspace.FloatingWorkspaceV1RestoredSessionType"
enum="FloatingWorkspaceV1RestoredSessionType" expires_after="2024-01-28">
<owner>ligeng@google.com</owner>
<owner>marcuskoehler@google.com</owner>
<summary>
Recorded the browser session type (local or remote) restored by floating
workspace service on current device.
</summary>
</histogram>
<histogram name="Ash.FloatingWorkspace.TemplateLaunchFailureStatus"
enum="FloatingWorkspaceV2LaunchTemplateFailureType"
expires_after="2024-02-08">
<owner>ligeng@google.com</owner>
<owner>marcuskoehler@google.com</owner>
<summary>Recorded the reason for template launch failures.</summary>
</histogram>
<histogram name="Ash.FloatingWorkspace.TemplateLaunchTimeOut"
enum="FloatingWorkspaceV2LaunchTemplateTimeoutType"
expires_after="2024-02-08">
<owner>ligeng@google.com</owner>
<owner>marcuskoehler@google.com</owner>
<summary>
Recorded the reason for template launch timeouts either when we pass the
threshold for waiting for a floating workspace to be downloaded or when
there's no floating workspace template to be downloaded after waiting for
the set timeout.
</summary>
</histogram>
<histogram name="Ash.FloatingWorkspace.TemplateLoadTime" units="seconds"
expires_after="2024-02-08">
<owner>ligeng@google.com</owner>
<owner>marcuskoehler@google.com</owner>
<summary>
Indicate the time to download a floating workspace template. If after set
timeout is reached and there is no floating workspace template downloaded, a
record of the timeout will be recorded in
&quot;Ash.FloatingWorkspace.TemplateLaunchTimeOut&quot;.
</summary>
</histogram>
<histogram name="Ash.FloatingWorkspace.TemplateSize" units="B"
expires_after="2024-02-08">
<owner>ligeng@google.com</owner>
<owner>marcuskoehler@google.com</owner>
<summary>Record the size of an uploaded floating workspace template.</summary>
</histogram>
<histogram name="Ash.FloatingWorkspace.TemplateUploadStatus"
enum="FloatingWorkspaceV2UploadTemplateStatusType"
expires_after="2024-02-08">
<owner>ligeng@google.com</owner>
<owner>marcuskoehler@google.com</owner>
<summary>Record the floating workspace template upload status.</summary>
</histogram>
<histogram name="Ash.Homescreen.AnimationSmoothness" units="%"
expires_after="2024-01-10">
<owner>sammiequon@chromium.org</owner>
<owner>tbarzic@chromium.org</owner>
<summary>
Relative smoothness of animations when performing tablet mode homescreen
animations, recorded when the animation completes. 100% represents ideally
smooth 60 frames per second.
</summary>
</histogram>
<histogram name="Ash.HotseatGesture" enum="HotseatInAppGesture"
expires_after="2023-06-04">
<owner>andrewxu@chromium.org</owner>
<owner>tbarzic@chromium.org</owner>
<summary>Gestures supported by the in-app hotseat.</summary>
</histogram>
<histogram
name="Ash.HotseatTransition.AnimationSmoothness{HotseatTransitionType}"
units="%" expires_after="2023-09-06">
<owner>anasalazar@chromium.org</owner>
<owner>newcomer@chromium.org</owner>
<summary>
Tracks the animation smoothness for the ShelfWidget's animating background
during transitions of the hotseat to shown, extended, and hidden hotseat
states. Check Ash.HotseatWidgetAnimation.AnimationSmoothness for smoothness
of the HotseatWidget. {HotseatTransitionType}
</summary>
<token key="HotseatTransitionType" variants="HotseatTransitionType"/>
</histogram>
<histogram name="Ash.HotseatTransition.Drag.PresentationTime" units="ms"
expires_after="2023-07-02">
<owner>anasalazar@chromium.org</owner>
<owner>newcomer@chromium.org</owner>
<summary>
Presentation time in ms of the hotseat when it changes between the hidden
and the extended state as a result of a drag action. Recorded when the drag
action is in progress.
</summary>
</histogram>
<histogram name="Ash.HotseatTransition.Drag.PresentationTime.MaxLatency"
units="ms" expires_after="2023-10-25">
<owner>anasalazar@chromium.org</owner>
<owner>newcomer@chromium.org</owner>
<summary>
Maximum latency of the presentation time in ms of the hotseat when it
changes between the hidden and the extended state as a result of a drag
action. Recorded when the drag action is finished.
</summary>
</histogram>
<histogram
name="Ash.HotseatWidgetAnimation.AnimationSmoothness{HotseatTransitionType}"
units="%" expires_after="2023-05-31">
<owner>anasalazar@chromium.org</owner>
<owner>newcomer@chromium.org</owner>
<summary>
Tracks the animation smoothness for the bounds animation of the hotseat
widget's elements during transitions of the hotseat to shown, extended, and
hidden hotseat states. Check Ash.HotseatTransition.AnimationSmoothness for
smoothness of the shelf's animating background. {HotseatTransitionType}
</summary>
<token key="HotseatTransitionType" variants="HotseatTransitionType"/>
</histogram>
<histogram
name="Ash.HotseatWidgetAnimation.{HotseatWidgetElement}AnimationSmoothness"
units="%" expires_after="2023-05-31">
<owner>anasalazar@chromium.org</owner>
<owner>newcomer@chromium.org</owner>
<summary>
Tracks the animation smoothness for the bounds animation of the hotseat
widget's elements during transitions of the hotseat to shown, extended, and
hidden hotseat states. Check Ash.HotseatTransition.AnimationSmoothness for
smoothness of the shelf's animating background. {HotseatWidgetElement}
</summary>
<token key="HotseatWidgetElement">
<variant name="TranslucentBackground."
summary="Hotseat widget's translucent background"/>
<variant name="Widget." summary="Hotseat widget"/>
</token>
</histogram>
<histogram name="Ash.InteractiveWindowResize.Lacros.TimeToPresent" units="ms"
expires_after="2024-01-29">
<owner>xiyuan@chromium.org</owner>
<owner>oshima@chromium.org</owner>
<summary>
Similar to Ash.InteractiveWindowResize.TimeToPresent but tracks the resize
latency for lacros windows by measuring configure -&gt; ack -&gt; present
time.
</summary>
</histogram>
<histogram name="Ash.InteractiveWindowResize.Lacros.TimeToPresent.MaxLatency"
units="ms" expires_after="2024-01-29">
<owner>xiyuan@chromium.org</owner>
<owner>oshima@chromium.org</owner>
<summary>
Maximum time of Ash.InteractiveWindowResize.Lacros.TimeToPresent during an
interactive resize.
</summary>
</histogram>
<histogram name="Ash.InteractiveWindowResize.TimeToPresent" units="ms"
expires_after="2024-04-16">
<owner>xiyuan@chromium.org</owner>
<owner>oshima@chromium.org</owner>
<summary>
Time between when the size of a window changes during an interactive window
resize and the results are drawn (presented) on screen. This is recorded for
each movement of the mouse/pointer that results in a resize.
</summary>
</histogram>
<histogram name="Ash.InteractiveWindowResize.TimeToPresent.MaxLatency"
units="ms" expires_after="2024-04-16">
<owner>xiyuan@chromium.org</owner>
<owner>oshima@chromium.org</owner>
<summary>
Maximum time between when the size of a window changes during an interactive
window resize and the results are drawn (presented) on screen. This is
recorded for each movement of the mouse/pointer that results in a resize.
</summary>
</histogram>
<histogram name="Ash.Lacros.Launch.Mode" enum="LacrosLaunchMode"
expires_after="2023-10-08">
<owner>skuhne@chromium.org</owner>
<owner>lacros-team@google.com</owner>
<summary>
The Lacros operation mode. This will record if Ash is the only browser, both
browsers are running side by side or if Lacros is the only browser. It will
be emitted once when the system (Ash) starts.
</summary>
</histogram>
<histogram name="Ash.Lacros.Launch.Mode.Daily" enum="LacrosLaunchMode"
expires_after="2023-09-17">
<owner>skuhne@chromium.org</owner>
<owner>lacros-team@google.com</owner>
<summary>
The Lacros operation mode. This will record if Ash is the only browser, both
browsers are running side by side or if Lacros is the only browser. It will
be emitted at least once a day.
</summary>
</histogram>
<histogram name="Ash.Lacros.Launch.ModeAndSource"
enum="LacrosLaunchModeAndSource" expires_after="2023-10-22">
<owner>skuhne@chromium.org</owner>
<owner>lacros-team@google.com</owner>
<summary>
The Lacros operation mode and the origin of the setting. This will record if
Ash is the only browser, both browsers are running side by side or if Lacros
is the only browser as well as if the setting was set by the user, enforced
by a policy or enforced by the user (overriding any given policy). It will
be emitted shortly before Lacros gets started the first time from the system
(Ash).
</summary>
</histogram>
<histogram name="Ash.Lacros.Launch.ModeAndSource.Daily"
enum="LacrosLaunchModeAndSource" expires_after="2023-07-12">
<owner>skuhne@chromium.org</owner>
<owner>lacros-team@google.com</owner>
<summary>
The Lacros operation mode and the origin of the setting. This will record if
Ash is the only browser, both browsers are running side by side or if Lacros
is the only browser as well as if the setting was set by the user, enforced
by a policy or enforced by the user (overriding any given policy). It will
be emitted at least once a day.
</summary>
</histogram>
<histogram name="Ash.Login.Lock.AuthMethod.Switched"
enum="AuthMethodSwitchType" expires_after="2023-10-22">
<owner>emaamari@google.com</owner>
<owner>cros-lurs@google.com</owner>
<summary>
The count of auth method switching actions on ChromeOS lock screen.
</summary>
</histogram>
<histogram name="Ash.Login.Lock.AuthMethod.Used.ClamShellMode"
enum="AuthMethod" expires_after="2023-10-22">
<owner>emaamari@google.com</owner>
<owner>cros-lurs@google.com</owner>
<summary>
The usage of different auth methods (PIN / Password / Smartlock /
Fingerprint / Challenge response) on Chromebooks in clamshell mode and on
other form-factors.
</summary>
</histogram>
<histogram name="Ash.Login.Lock.AuthMethod.Used.TabletMode" enum="AuthMethod"
expires_after="2023-10-22">
<owner>emaamari@google.com</owner>
<owner>cros-lurs@google.com</owner>
<summary>
The usage of different auth methods (PIN / Password / Smartlock /
Fingerprint / Challenge response) on Chromebooks in tablet mode.
</summary>
</histogram>
<histogram name="Ash.Login.Lock.NbPasswordAttempts.UntilFailure"
units="attempts" expires_after="2023-06-18">
<obsolete>
Deprecated in M111 and replaced with
&quot;Ash.OSAuth.Login/Lock.NbPasswordAttempts.UntilFailure&quot;.
</obsolete>
<owner>emaamari@google.com</owner>
<owner>cros-lurs@google.com</owner>
<summary>
The number of incorrect passwords entered in Chrome OS login/lock screen
until the user gives up (user signs out the current session or shuts down
the device).
</summary>
</histogram>
<histogram name="Ash.Login.Lock.NbPasswordAttempts.UntilSuccess"
units="attempts" expires_after="2023-06-18">
<obsolete>
Deprecated in M111 and replaced with
&quot;Ash.OSAuth.Login/Lock.NbPasswordAttempts.UntilSuccess&quot;.
</obsolete>
<owner>emaamari@google.com</owner>
<owner>cros-lurs@google.com</owner>
<summary>
The number of incorrect passwords entered in Chrome OS login/lock screen
until a successful attempt.
</summary>
</histogram>
<histogram name="Ash.Login.Lock.UserClicks" enum="LockScreenUserClickTarget"
expires_after="2023-10-22">
<owner>emaamari@google.com</owner>
<owner>cros-lurs@google.com</owner>
<summary>
The numbers of times that users click on the shelf buttons, trays and lock
screen note on the ChromeOS lock screen.
</summary>
</histogram>
<histogram name="Ash.Login.Login.AuthMethod.Switched"
enum="AuthMethodSwitchType" expires_after="2023-09-03">
<owner>emaamari@google.com</owner>
<owner>cros-lurs@google.com</owner>
<summary>
The count of auth method switching actions on ChromeOS login screen.
</summary>
</histogram>
<histogram name="Ash.Login.Login.AuthMethod.Used.ClamShellMode"
enum="AuthMethod" expires_after="2023-10-22">
<owner>emaamari@google.com</owner>
<owner>cros-lurs@google.com</owner>
<summary>
The usage of different auth methods (PIN / Password / Smartlock /
Fingerprint / Challenge response) on Chromebooks in clamshell mode and on
other form-factors.
</summary>
</histogram>
<histogram name="Ash.Login.Login.AuthMethod.Used.TabletMode" enum="AuthMethod"
expires_after="2023-09-03">
<owner>emaamari@google.com</owner>
<owner>cros-lurs@google.com</owner>
<summary>
The usage of different auth methods (PIN / Password / Smartlock /
Fingerprint / Challenge response) on Chromebooks in tablet mode.
</summary>
</histogram>
<histogram name="Ash.Login.Login.MigrationBanner" enum="BooleanShown"
expires_after="2023-10-01">
<owner>emaamari@google.com</owner>
<owner>cros-lurs@google.com</owner>
<summary>
Whether the cryptohome migration banner was shown on the Chrome OS login
screen.
</summary>
</histogram>
<histogram name="Ash.Login.Login.UserClicks" enum="LoginScreenUserClickTarget"
expires_after="2023-10-22">
<owner>emaamari@google.com</owner>
<owner>cros-lurs@google.com</owner>
<summary>
The numbers of times that users click on the shelf buttons and trays on the
ChromeOS login screen.
</summary>
</histogram>
<histogram name="Ash.Login.OOBE.UserClicks" enum="OobeUserClickTarget"
expires_after="2023-10-22">
<owner>emaamari@google.com</owner>
<owner>raleksandrov@google.com</owner>
<owner>cros-lurs@google.com</owner>
<summary>What shelf buttons or trays are clicked in the OOBE.</summary>
</histogram>
<histogram name="Ash.Login.PinAutosubmit.Backfill"
enum="PinAutosubmitBackfillEvent" expires_after="2023-09-24">
<owner>emaamari@google.com</owner>
<owner>rrsilva@google.com</owner>
<owner>cros-lurs@google.com</owner>
<summary>
The result of the PIN auto submit 'Backfill' operation. Users updating to
M86 with an existing PIN will have their preference regarding auto submit
'backfilled' to either enabled or disabled.
</summary>
</histogram>
<histogram name="Ash.Login.ShowGaiaSignin.PermanentlyUntrusted" enum="Boolean"
expires_after="2023-01-20">
<owner>agawronska@chromium.org</owner>
<owner>galenemco@google.com</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records instances of a &quot;PERMANENTLY_UNTRUSTED&quot; result during the
check for trusted values before showing gaia signin. This is a fatal result
which will result in signin not being shown.
</summary>
</histogram>
<histogram name="Ash.Login.ShowGaiaSignin.WaitTime" units="ms"
expires_after="2024-03-01">
<owner>agawronska@chromium.org</owner>
<owner>galenemco@google.com</owner>
<owner>cros-families-eng@google.com</owner>
<summary>
Records the amount of time spent waiting for trusted values before showing
gaia signin. Waiting for trusted values ensures that the device owner id is
present before showing the signin, which is necessary for checking signin
permissions for child users. This check may introduce a delay for all users.
This metric allows monitoring that delay.
</summary>
</histogram>
<histogram name="Ash.Login.TimeUntilGoodADF" units="microseconds"
expires_after="2023-08-07">
<owner>xiyuan@chromium.org</owner>
<owner>chromeos-perfmetrics-eng@google.com</owner>
<summary>
Time between user logged in (i.e. a successful cryptohome mount) and when
good ADF (&lt;= 20%) is observed for more than 5 seconds.
This histogram only records metrics on machines with high-resolution clocks.
</summary>
</histogram>
<histogram base="true" name="Ash.LoginAnimation.Duration" units="ms"
expires_after="2023-10-08">
<owner>oshima@chromium.org</owner>
<owner>chromeos-wmp@google.com</owner>
<!-- Name completed by histogram_suffixes
name="TabletOrClamshellMode" -->
<summary>
The duration of how long it took to finish all animations applied during the
login process, from the time the first animation is added, to the time the
last animation is finished.
</summary>
</histogram>
<histogram base="true" name="Ash.LoginAnimation.Jank" units="%"
expires_after="2024-03-30">
<owner>oshima@chromium.org</owner>
<owner>chromeos-wmp@google.com</owner>
<!-- Name completed by histogram_suffixes
name="TabletOrClamshellMode" -->
<summary>
Jank metrics of all animations applied during the login process. This
represents how often the frame update rate changed during animation.
</summary>
</histogram>
<histogram base="true" name="Ash.LoginAnimation.Smoothness" units="%"
expires_after="2023-09-03">
<owner>oshima@chromium.org</owner>
<owner>chromeos-wmp@google.com</owner>
<!-- Name completed by histogram_suffixes
name="TabletOrClamshellMode" -->
<summary>
Relative smoothness of all animations applied during the login process. 100%
represents the ideal smoothness for 60 frames per second.
</summary>
</histogram>
<histogram name="Ash.Media.CameraPrivacySwitch.Event"
enum="CameraPrivacySwitchEvent" expires_after="2023-09-03">
<owner>tbarzic@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Reports events related to camera privacy switch state. The camera privacy
switch is a hardware toggle supported by some Chrome OS devices that
disables the built in camera video feed. The histogram is reported (1) when
a camera privacy switch state change is detected (which generally causes a
system toast to get shown), and (2) when a notification informing the user
that the camera privacy switch is on (the notification is shown if the user
tries to use their camera with the privacy switch tuned on). The camera
privacy switch state is only recorded if the state change is a result of a
user action - it will not be recorded for state changes that are a result of
camera privacy switch state initialization.
</summary>
</histogram>
<histogram name="Ash.Media.CameraPrivacySwitch.TimeFromNotificationToOff"
units="5 seconds" expires_after="2023-09-10">
<owner>tbarzic@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
Time from showing a notification informing the user about the camera privacy
switch to the user turning the privacy switch off. The camera privacy switch
is a hardware switch supported by some Chrome OS devices that cuts the video
camera feed off. The Chrome OS UI shows a notification if the user tries to
use the camera with the privacy switch on. The intention is to track the
time it takes for the user to flip the privacy switch after they're notified
the camera is disabled. The histogram is recorded if the user toggles the
camera privacy switch after seeing the notification about the privacy switch
being on (if the switch is toggled more than once after the notification
gets shown, only the first toggle action will be reported). The time is
reported in seconds with 5 second granularity.
</summary>
</histogram>
<histogram name="Ash.MessageCenter.Scroll.PresentationTime" units="ms"
expires_after="2023-10-01">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Presentation time while scrolling through the list of notifications in
Notification Center. Emitted when Notification Center is scrolled.
</summary>
</histogram>
<histogram name="Ash.MessageCenter.Scroll.PresentationTime.MaxLatency"
units="ms" expires_after="2024-04-16">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Presentation time while scrolling through the list of notifications in
Notification Center. Emitted when Notification Center is scrolled.
</summary>
</histogram>
<histogram name="Ash.MojoServiceManager.BootstrapRetryTimes" units="count"
expires_after="2023-10-01">
<owner>chungsheng@google.com</owner>
<owner>chromeos-mojo-service-manager@google.com</owner>
<summary>
The retry times when try to bootstrap to mojo service manager.
</summary>
</histogram>
<histogram name="Ash.MojoServiceManager.IsConnectionLost" enum="BooleanShown"
expires_after="2023-10-01">
<owner>chungsheng@google.com</owner>
<owner>chromeos-mojo-service-manager@google.com</owner>
<summary>
Whether the connection to mojo service manager is lost before during ash
running.
</summary>
</histogram>
<histogram name="Ash.MultiDisplay.WindowsMovedAfterRemap.DisplayRotated"
units="Boolean" expires_after="2024-01-20">
<owner>sammiequon@chromium.org</owner>
<owner>yunchengs@google.com</owner>
<owner>chromeos-wm-corexp@google.com</owner>
<summary>
After a display rotation, the existing app windows will get remapped. A one
minute timer then runs. If any of the app windows are moved or resized by
the user, then this histogram records true. If the timer ends without an app
window being moved or resized, then this histogram records false. Used to
determine if the user is satisfied with the window manager auto remap.
</summary>
</histogram>
<histogram
name="Ash.MultiDisplay.WindowsMovedAfterRemap.DisplayWorkAreaChanged"
units="Boolean" expires_after="2024-01-20">
<owner>sammiequon@chromium.org</owner>
<owner>yunchengs@google.com</owner>
<owner>chromeos-wm-corexp@google.com</owner>
<summary>
After a display work area change, the existing app windows will get
remapped. A one minute timer then runs. If any of the app windows are moved
or resized by the user, then this histogram records true. If the timer ends
without an app window being moved or resized, then this histogram records
false. Used to determine if the user is satisfied with the window manager
auto remap.
</summary>
</histogram>
<histogram
name="Ash.NavigationWidget.AnimationSmoothness{HotseatTransitionType}"
units="%" expires_after="2024-03-27">
<owner>anasalazar@chromium.org</owner>
<owner>newcomer@chromium.org</owner>
<summary>
Relative smoothness of animations of the navigation widget's elements, which
are the widget itself and its child views. 100% represents ideally smooth 60
frames per second. 50% represents only 30 frames per second is achieved
during the animations. Recorded every time an animation is triggered in the
Navigation Widget. We record this metric for each element separately.
{HotseatTransitionType}
</summary>
<token key="HotseatTransitionType" variants="HotseatTransitionType"/>
</histogram>
<histogram
name="Ash.NavigationWidget.{NavigationWidgetElement}AnimationSmoothness"
units="%" expires_after="2024-03-27">
<owner>anasalazar@chromium.org</owner>
<owner>newcomer@chromium.org</owner>
<summary>
Relative smoothness of animations of the navigation widget's elements, which
are the widget itself and its child views. 100% represents ideally smooth 60
frames per second. 50% represents only 30 frames per second is achieved
during the animations. Recorded every time an animation is triggered in the
Navigation Widget. We record this metric for each element separately.
{NavigationWidgetElement}
</summary>
<token key="NavigationWidgetElement">
<variant name="BackButton." summary="Navigation widget's back button"/>
<variant name="HomeButton." summary="Navigation widget's home button"/>
<variant name="Widget." summary="Navigation widget"/>
</token>
</histogram>
<histogram name="Ash.NightLight.AutoNightLightNotificationShown"
enum="BooleanShown" expires_after="2022-01-30">
<owner>afakhry@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>Emitted when the Auto Night Light notification is shown.</summary>
</histogram>
<histogram name="Ash.NightLight.AutoNightLightNotificationState"
enum="AshAutoNightLightNotificationState" expires_after="2023-07-02">
<owner>afakhry@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
Emitted when the user interacts with the Auto Night Light notification to
report the state of the notification as a result of this interaction.
</summary>
</histogram>
<histogram name="Ash.NightLight.DisplayCrtcCtmSupport"
enum="AshNightLightDisplayCrtcCtmSupportType" expires_after="2022-02-01">
<owner>afakhry@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
The type of CRTC color transorm matrix support for the currently connected
displays. Emitted when cursor compositing status is refreshed, but only when
Night Light is on. The cursor compositing status is refreshed whenever there
is a change in Night Light status or color temperature.
</summary>
</histogram>
<histogram name="Ash.NightLight.ScheduleType" enum="AshNightLightScheduleType"
expires_after="2023-09-03">
<owner>afakhry@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
The selected Night Light schedule type. Emitted when the user changes the
Night Light schedule type from the Display System Settings.
</summary>
</histogram>
<histogram name="Ash.NightLight.Temperature"
enum="AshNightLightTemperatureRanges" expires_after="2022-02-01">
<owner>afakhry@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
The ranges in which the selected values of the Night Light color temperature
reside. Emitted when the user drags the Night Light color temperature slider
to change its value from the Display System Settings.
</summary>
</histogram>
<histogram name="Ash.Notification.ClearAllStacked.AnimationSmoothness"
units="%" expires_after="2023-10-08">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Animation smoothness of the &quot;clear all&quot; animation in the CrOS
message center. This occurs when the clear all button is pressed with
notifications that are not visible on screen. Measured via a throughtput
tracker.
</summary>
</histogram>
<histogram name="Ash.Notification.ClearAllVisible.AnimationSmoothness"
units="%" expires_after="2023-10-01">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Animation smoothness of the &quot;clear all&quot; animation in the CrOS
message center. This occurs when the clear all button is pressed and all
notifications are visible. Measured via a throughtput tracker.
</summary>
</histogram>
<histogram name="Ash.Notification.CountOfNotificationsInOneGroup"
units="Notifications" expires_after="2023-09-03">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
The number of notification contained in one group. Emitted when a
notification is added or removed from a group.
</summary>
</histogram>
<histogram name="Ash.Notification.ExpandOrCollapse.AnimationSmoothness"
units="%" expires_after="2023-10-01">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Animation smoothness of the &quot;Expand or Collapse&quot; animation in the
CrOS message center. This occurs when the notification requests a size
change due to being expanded or collapsed. Usually involves other layer
animations which are named (get name from leandre@).
</summary>
</histogram>
<histogram
name="Ash.Notification.GroupNotification.SlideOut.AnimationSmoothness"
units="%" expires_after="2023-09-19">
<owner>amehfooz@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Animation smoothness of the slide out part of the animation when a grouped
notification is removed. Emmitted when a grouped notification is removed by
clicking on it's close button.
</summary>
</histogram>
<histogram name="Ash.Notification.GroupNotificationAdded"
enum="GroupNotificationType" expires_after="2023-09-10">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Record the types of group notification added to the system. The types are
group parent and group child. Emitted when a group notification is created.
</summary>
</histogram>
<histogram name="Ash.Notification.MoveDown.AnimationSmoothness" units="%"
expires_after="2023-10-01">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Animation smoothness of the &quot;move down&quot; animation in the CrOS
message center. This occurs when a notification is removed and notifications
above the deleted one animate downwards to fill in the space. Measured via a
throughtput tracker.
</summary>
</histogram>
<histogram name="Ash.Notification.SwipeControl.FadeIn.AnimationSmoothness"
units="%" expires_after="2024-01-28">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Relative smoothness of the fade in animation of the settings button inside a
swipe control notification view. 100% represents ideally smooth 60 frames
per second. Emitted when the fade in animation is completed.
</summary>
</histogram>
<histogram name="Ash.NotificationPopup.AnimationSmoothness" units="%"
expires_after="2023-09-10">
<owner>leandre@chromium.org</owner>
<owner>amehfooz@chromium.org</owner>
<owner>tbarzic@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Relative smoothness of animations of notification pop-up. 100% represents
ideally smooth 60 frames per second. Emitted when pop-up animations are
completed, including pop-up fade-in, fade-out, move-up, move-down.
</summary>
</histogram>
<histogram
name="Ash.NotificationView.ConvertSingleToGroup.{Animation}.AnimationSmoothness"
units="%" expires_after="2024-05-14">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Relative smoothness of the {Animation} in notification view when converting
from single to group notification. 100% represents ideally smooth 60 frames
per second. Emitted when the animation is completed.
</summary>
<token key="Animation">
<variant name="FadeIn"/>
<variant name="FadeOut"/>
</token>
</histogram>
<histogram
name="Ash.NotificationView.ExpandButton.BoundsChange.AnimationSmoothness"
units="%" expires_after="2024-01-28">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Relative smoothness of the bounds change animation of the expand button
inside a notification view. 100% represents ideally smooth 60 frames per
second. Emitted when the animation is completed.
</summary>
</histogram>
<histogram name="Ash.NotificationView.ExpandButton.ClickAction"
enum="ExpandButtonClickAction" expires_after="2024-04-30">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
The count of actions that is performed after an expand button is clicked.
The actions are expanding or collapsing individual or group notification.
Emitted when an expand button is clicked.
</summary>
</histogram>
<histogram
name="Ash.NotificationView.ExpandButton.ConvertSingleToGroup.{Animation}.AnimationSmoothness"
units="%" expires_after="2024-05-14">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Relative smoothness of the {Animation} inside the expand button of the
notification view when converting from single to group notification. 100%
represents ideally smooth 60 frames per second. Emitted when the animation
is completed.
</summary>
<token key="Animation">
<variant name="BoundsChange"/>
<variant name="FadeIn"/>
</token>
</histogram>
<histogram
name="Ash.NotificationView.ImageContainerView.ScaleDown.AnimationSmoothness"
units="%" expires_after="2024-01-28">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Relative smoothness of the scale down animation of image container view
inside a notification view. 100% represents ideally smooth 60 frames per
second. Emitted when the scale down animation is completed.
</summary>
</histogram>
<histogram name="Ash.NotificationView.ImageDrag.EndState"
enum="NotificationImageDragEndState" expires_after="M121">
<owner>andrewxu@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Records the notification drag end state when the notification image drag
ends.
</summary>
</histogram>
<histogram name="Ash.NotificationView.ImageDrag.Start"
enum="NotificationCatalogName" expires_after="M121">
<owner>andrewxu@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Records the notification catalog name when the notification image drag
starts.
</summary>
</histogram>
<histogram name="Ash.NotificationView.NotificationAdded.Type"
enum="NotificationViewType" expires_after="2023-06-18">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Records the types of notification view added to the system. Emitted when
each notification is added and the notification is visible.
</summary>
</histogram>
<histogram name="Ash.NotificationView.{ChildView}.FadeIn.AnimationSmoothness"
units="%" expires_after="2024-01-28">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Relative smoothness of the fade in animation of {ChildView} inside a
notification view. 100% represents ideally smooth 60 frames per second.
Emitted when the fade in animation is completed.
</summary>
<token key="ChildView">
<variant name="ActionsRow"/>
<variant name="CollapsedSummaryView"/>
<variant name="ExpandButtonLabel"/>
<variant name="ExpandedMessageLabel"/>
<variant name="HeaderRow"/>
<variant name="ImageContainerView"/>
<variant name="InlineReply"/>
<variant name="MainRightView"/>
<variant name="MainView"/>
<variant name="MessageLabel"/>
<variant name="TimestampInTitle"/>
<variant name="TitleRowDivider"/>
</token>
</histogram>
<histogram name="Ash.NotificationView.{ChildView}.FadeOut.AnimationSmoothness"
units="%" expires_after="2024-01-28">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Relative smoothness of the fade out animation of {ChildView} inside a
notification view. 100% represents ideally smooth 60 frames per second.
Emitted when the fade out animation is completed.
</summary>
<token key="ChildView">
<variant name="ActionButtonsRow"/>
<variant name="CollapsedSummaryView"/>
<variant name="ExpandButton"/>
<variant name="ExpandButtonLabel"/>
<variant name="IconView"/>
<variant name="ImageContainerView"/>
<variant name="InlineReply"/>
<variant name="InlineSettingsRow"/>
<variant name="LeftContent"/>
<variant name="MainView"/>
</token>
</histogram>
<histogram
name="Ash.NotificationView.{ChildView}.ScaleAndTranslate.AnimationSmoothness"
units="%" expires_after="2024-01-28">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Relative smoothness of the scale and translate animation of {ChildView}
inside a notification view. 100% represents ideally smooth 60 frames per
second. Emitted when the animation is completed.
</summary>
<token key="ChildView">
<variant name="IconView"/>
<variant name="ImageContainerView"/>
</token>
</histogram>
<histogram name="Ash.NotifierFramework.Nudge.ShownCount"
enum="NudgeCatalogName" expires_after="2024-01-15">
<owner>kradtke@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Tracks the number of times a specific nudge is shown to users. This metric
is recorded every time a nudge is shown.
</summary>
</histogram>
<histogram name="Ash.NotifierFramework.Nudge.TimeToAction.{TimeRange}"
enum="NudgeCatalogName" expires_after="2024-01-15">
<owner>kradtke@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Tracks the time from when a specific educational nudge is shown to when it's
interacted with. Starts measuring time when the nudge is shown and records
the Nudge catalog name in one of the time buckets available if the user
performs the nudge's suggested action.
</summary>
<token key="TimeRange">
<variant name="Within1h"/>
<variant name="Within1m"/>
<variant name="WithinSession"/>
</token>
</histogram>
<histogram name="Ash.NotifierFramework.Toast.Dismissed.{TimeRange}"
enum="ToastCatalogName" expires_after="2024-01-15">
<owner>kradtke@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Tracks the time a specific toast spends on screen before being dismissed by
the user or system. Records the toast catalog name in one of the time
buckets available when toast is dismissed either manually or by time out.
</summary>
<token key="TimeRange">
<variant name="After7s"/>
<variant name="Within2s"/>
<variant name="Within7s"/>
</token>
</histogram>
<histogram name="Ash.NotifierFramework.Toast.ShownCount"
enum="ToastCatalogName" expires_after="2024-01-15">
<owner>kradtke@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Tracks the number of times a specific toast is shown to users. This metric
is recorded every time a toast is shown.
</summary>
</histogram>
<histogram name="Ash.NotifierFramework.Toast.TimeInQueue" units="seconds"
expires_after="2024-01-15">
<owner>kradtke@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Records the time a toast spends in queue before it's shown on screen.
</summary>
</histogram>
<histogram
name="Ash.NotifierFramework.{UnpinnedOrPinned}SystemNotification.Added"
enum="NotificationCatalogName" expires_after="2024-01-15">
<owner>kradtke@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Tracks the number of times a specific system notification is added to the
notification list. This metric is recorded every time the
`OnNotificationAdded` event is triggered for a system notification.
</summary>
<token key="UnpinnedOrPinned">
<variant name=""/>
<variant name="Pinned"/>
</token>
</histogram>
<histogram
name="Ash.NotifierFramework.{UnpinnedOrPinned}SystemNotification.Popup.Dismissed.{TimeRange}"
enum="NotificationCatalogName" expires_after="2024-01-15">
<owner>kradtke@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Tracks the time a specific system notification spends as a pop-up before
being dismissed either by the user or system. Records the notification
catalog name in one of the time buckets available when the pop-up is
dismissed either manually or by time out.
</summary>
<token key="UnpinnedOrPinned">
<variant name=""/>
<variant name="Pinned"/>
</token>
<token key="TimeRange">
<variant name="After7s"/>
<variant name="Within1s"/>
<variant name="Within3s"/>
<variant name="Within7s"/>
</token>
</histogram>
<histogram
name="Ash.NotifierFramework.{UnpinnedOrPinned}SystemNotification.Popup.ShownCount"
enum="NotificationCatalogName" expires_after="2024-01-15">
<owner>kradtke@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Tracks the number of times a specific system notification pop-up is shown to
users.
</summary>
<token key="UnpinnedOrPinned">
<variant name=""/>
<variant name="Pinned"/>
</token>
</histogram>
<histogram
name="Ash.NotifierFramework.{UnpinnedOrPinned}SystemNotification.Popup.UserJourneyTime"
units="seconds" expires_after="2024-01-15">
<owner>kradtke@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Records the time a system notification spends as a pop-up before being
dismissed either by the user or system. Starts measuring time whenever the
pop-up is shown to the user, and records metric when the pop-up is dismissed
either manually or by time out.
</summary>
<token key="UnpinnedOrPinned">
<variant name=""/>
<variant name="Pinned"/>
</token>
</histogram>
<histogram name="Ash.OSAuth.Login.ConfiguredAuthFactors.{AuthFactor}"
enum="Boolean" expires_after="2024-03-01">
<owner>anastasiian@chromium.org</owner>
<owner>cros-lurs@google.com</owner>
<summary>
Whether the logged in user has {AuthFactor} auth factor configured. Recorded
upon successful login.
</summary>
<token key="AuthFactor">
<variant name="CryptohomePin"/>
<variant name="GaiaPassword"/>
<variant name="Recovery"/>
<variant name="SmartCard"/>
</token>
</histogram>
<histogram
name="Ash.OSAuth.{AuthenticationSurface}.NbPasswordAttempts.{AuthenticationOutcome}"
units="attempts" expires_after="2023-06-18">
<owner>emaamari@google.com</owner>
<owner>cros-lurs@google.com</owner>
<summary>
The number of incorrect passwords entered in Chrome OS
{AuthenticationSurface} screen until the &quot;{AuthenticationOutcome}&quot;
outcome. For previous data (grouped for login and lock screen together) see
&quot;Ash.Login.Lock.NbPasswordAttempts.*&quot;.
</summary>
<token key="AuthenticationSurface">
<variant name="Lock"/>
<variant name="Login"/>
</token>
<token key="AuthenticationOutcome">
<variant name="UntilFailure"/>
<variant name="UntilRecovery"/>
<variant name="UntilSuccess"/>
</token>
</histogram>
<histogram base="true" name="Ash.Overview.AnimationSmoothness.Close" units="%"
expires_after="2023-10-15">
<!-- Name completed by histogram_suffixes
name="TabletOrClamshellMode" -->
<owner>omrilio@chromium.org</owner>
<owner>oshima@chromium.org</owner>
<summary>
Relative smoothness of animations when closing a window, recorded when the
animation completes. 100% represents ideally smooth 60 frames per second.
</summary>
</histogram>
<histogram name="Ash.Overview.AnimationSmoothness.Enter{OverviewAnimationMode}"
units="%" expires_after="2024-02-07">
<owner>omrilio@chromium.org</owner>
<owner>oshima@chromium.org</owner>
<owner>chromeos-perfmetrics-eng@google.com</owner>
<summary>
Relative smoothness of animations when entering overview mode, recorded when
the animation completes. 100% represents ideally smooth 60 frames per
second. {OverviewAnimationMode}
</summary>
<token key="OverviewAnimationMode" variants="OverviewAnimationMode"/>
</histogram>
<histogram name="Ash.Overview.AnimationSmoothness.Exit{OverviewAnimationMode}"
units="%" expires_after="2024-02-07">
<owner>omrilio@chromium.org</owner>
<owner>oshima@chromium.org</owner>
<owner>chromeos-perfmetrics-eng@google.com</owner>
<summary>
Relative smoothness of animations when exiting overview mode, recorded when
the animation completes. 100% represents ideally smooth 60 frames per
second. {OverviewAnimationMode}
</summary>
<token key="OverviewAnimationMode" variants="OverviewAnimationMode"/>
</histogram>
<histogram name="Ash.Overview.ArrowKeyPresses" units="units"
expires_after="2023-06-04">
<owner>nupurjain@chromium.org</owner>
<owner>sammiequon@chromium.org</owner>
<summary>
The number of times the arrow keys are pressed in overview mode per session,
i.e. between bringing up overview mode and ending it. This is only measured
for the sessions that end by selecting a window with the enter key.
</summary>
</histogram>
<histogram name="Ash.Overview.EndAction" enum="OverviewEndAction"
expires_after="2023-09-24">
<owner>minch@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Emitted when exiting overview mode. Recording the reasons for ending
overview mode. E.g, pressing the overview button at status area.
</summary>
</histogram>
<histogram name="Ash.Overview.Items" units="units" expires_after="2023-10-22">
<owner>nupurjain@chromium.org</owner>
<owner>sammiequon@chromium.org</owner>
<summary>
The number of items (single windows or groups of windows such as panels) in
the overview mode, present at the start of each session.
</summary>
</histogram>
<histogram name="Ash.Overview.KeyPressesOverItemsRatio" units="%"
expires_after="2023-10-08">
<owner>nupurjain@chromium.org</owner>
<owner>sammiequon@chromium.org</owner>
<summary>
The ratio between the arrow key presses and the number of overview items,
expressed as a percentage for a single session. Recorded when an overview
session is exited after selecting a highlighted overview item.
</summary>
</histogram>
<histogram name="Ash.Overview.OverviewClosedItems" units="units"
expires_after="2023-10-08">
<owner>nupurjain@chromium.org</owner>
<owner>sammiequon@chromium.org</owner>
<summary>
The number of items closed from the window overview for a single session.
Recorded when exiting an overview session.
</summary>
</histogram>
<histogram name="Ash.Overview.Scroll.PresentationTime.MaxLatency.TabletMode"
units="ms" expires_after="2024-01-10">
<owner>sammiequon@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
Maximum latency of the presentation time for scrolling the overview grid in
overview mode for a scrolling session.
</summary>
</histogram>
<histogram name="Ash.Overview.Scroll.PresentationTime.TabletMode" units="ms"
expires_after="2024-01-10">
<owner>sammiequon@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
Presentation time for scrolling the overview grid in overview mode. Each
time the grid is updated by a scroll, the time it takes to update the new
visuals onto the screen is updated.
</summary>
</histogram>
<histogram name="Ash.Overview.SelectionDepth" units="items"
expires_after="2023-10-08">
<owner>nupurjain@chromium.org</owner>
<owner>sammiequon@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
When a window is selected in overview mode, records that window's position
in the global MRU ordering. 1 represents the most-recently used window, 2
represents the next most-recently used window, and so on.
</summary>
</histogram>
<histogram name="Ash.Overview.StartAction" enum="OverviewStartAction"
expires_after="2023-09-24">
<owner>minch@chromium.org</owner>
<owner>janetmac@chromium.org</owner>
<summary>
Emitted when entering overview mode. Recording the reasons for starting
overview mode. E.g, pressing the overview button at status area.
</summary>
</histogram>
<histogram name="Ash.Overview.TimeBetweenActiveWindowChanges" units="seconds"
expires_after="2023-10-08">
<owner>nupurjain@chromium.org</owner>
<owner>sammiequon@chromium.org</owner>
<summary>
The amount of time between endings of overview mode sessions which were
caused by the user selecting a window which was not previously active. Only
recorded on the second and later times after startup that the user selected
a window which was not previously active.
</summary>
</histogram>
<histogram name="Ash.Overview.TimeBetweenUse" units="ms"
expires_after="2023-10-22">
<owner>nupurjain@chromium.org</owner>
<owner>sammiequon@chromium.org</owner>
<summary>
The amount of time between uses of overview mode, recorded when overview
mode is entered. Only recorded on the second and later times after startup
that the user entered overview mode.
</summary>
</histogram>
<histogram name="Ash.Overview.TimeInOverview" units="ms"
expires_after="2023-08-27">
<owner>nupurjain@chromium.org</owner>
<owner>sammiequon@chromium.org</owner>
<summary>
The amount of time spent in overview mode. Overview mode is engaged by
pressing the overview accelerator, overview button tray or swiping up from
the shelf in tablet mode. The time is measured from the moment the windows
begin animating to a thumbnail size preview to when a window is selected or
selection is canceled. Recorded when an overview session is exited, before
the exit animation starts.
</summary>
</histogram>
<histogram base="true" name="Ash.Overview.WindowDrag.PresentationTime"
units="ms" expires_after="2024-04-16">
<!-- Name completed by histogram_suffixes
name="TabletOrClamshellMode" -->
<owner>xdai@chromium.org</owner>
<owner>chromeos-wm-corexp@google.com</owner>
<summary>Presentation time for dragging a window in overview mode.</summary>
</histogram>
<histogram base="true"
name="Ash.Overview.WindowDrag.PresentationTime.MaxLatency" units="ms"
expires_after="2024-04-16">
<!-- Name completed by histogram_suffixes
name="TabletOrClamshellMode" -->
<owner>xdai@chromium.org</owner>
<owner>chromeos-wm-corexp@google.com</owner>
<summary>
Maximum latency of the presentation time for dragging a window in overview
mode.
</summary>
</histogram>
<histogram name="Ash.Overview.WindowDrag.Workflow" enum="OverviewDragAction"
expires_after="2023-09-17">
<owner>xdai@chromium.org</owner>
<owner>chromeos-wmp@google.com</owner>
<summary>
Recorded when a drag from overview (not from the top or shelf) is completed,
and when an overview item is closed by vertically swiping or flinging (even
if you fling without dragging).
</summary>
</histogram>
<histogram name="Ash.Peripheral.ConnectivityResults"
enum="PeripheralConnectivityResult" expires_after="2022-12-31">
<owner>jimmyxgong@chromium.org</owner>
<owner>jthies@chromium.org</owner>
<owner>cros-peripherals@google.com</owner>
<summary>
The connectivity results of when the user plugs in a Thunderbolt/USB4
peripheral to their Chrome OS device. This is recorded for only devices that
support Thunderbolt/USB4 connectivity. Gets recorded every time a
Thunderbolt/USB4 peripheral is plugged in. This histogram is based off of
the obsolete Ash.PciePeripheral.ConnectivityResults histogram and also
includes invalid cable detection from the Chrome OS type-c daemon.
</summary>
</histogram>
<histogram name="Ash.PersistentWindow.NumOfWindowsRestoredOnDisplayAdded"
units="units" expires_after="2024-01-20">
<owner>minch@chromium.org</owner>
<owner>sammiequon@chromium.org</owner>
<owner>yunchengs@google.com</owner>
<owner>chromeos-wm-corexp@google.com</owner>
<summary>
The number of windows restored in multi-display scenario, such as due to
disconnecting and reconnecting display, enabling and disabling mirror mode,
entering and leaving dock mode. Zero is not recorded.
</summary>
</histogram>
<histogram name="Ash.PersistentWindow.NumOfWindowsRestoredOnScreenRotation"
units="units" expires_after="2024-01-20">
<owner>minch@chromium.org</owner>
<owner>sammiequon@chromium.org</owner>
<owner>yunchengs@google.com</owner>
<owner>chromeos-wm-corexp@google.com</owner>
<summary>
Emits the number of windows bounds restored when rotating the screen back to
the previous screen orientation. Zero is not recorded.
</summary>
</histogram>
<histogram name="Ash.Personalization.Ambient.GooglePhotosPreviewsLoadTime"
units="ms" expires_after="2023-12-01">
<owner>cowmoo@google.com</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Emitted when a request to load ambient mode google photos albums preview
images completes, but only upon first page load. This roughly corresponds to
user perceived time it takes to load the ambient preview section of
Personalization App. Does not emit if a user opens Personalization App onto
a page that does not load google photos albums previews. Does not emit
unless the user already has ambient mode enabled and Google Photos selected
as the source upon first opening Personalization App.
</summary>
</histogram>
<histogram name="Ash.Personalization.AmbientMode.AnimationTheme"
enum="AmbientModeAnimationTheme" expires_after="2023-10-22">
<owner>jasontt@chromium.org</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Emitted when a user selects an animation theme in screensaver subpage.
</summary>
</histogram>
<histogram name="Ash.Personalization.AmbientMode.OptIn" enum="BooleanHit"
expires_after="2023-08-27">
<owner>jasontt@chromium.org</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Emitted when a user presses the `Turn on` button on ambient preview to
enable screen saver.
</summary>
</histogram>
<histogram name="Ash.Personalization.DynamicColor.ColorScheme.Settled"
enum="PersonalizationDynamicColorColorScheme" expires_after="2024-04-05">
<owner>ericamlee@chromium.org</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Records the color scheme that the user has settled on. Emitted once for
every UMA upload.
</summary>
</histogram>
<histogram name="Ash.Personalization.DynamicColor.ColorSchemeButton"
enum="PersonalizationDynamicColorColorScheme" expires_after="2024-04-05">
<owner>ericamlee@google.com</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Emitted when a user clicks a button to choose a color scheme for dynamic
color in personalization hub.
</summary>
</histogram>
<histogram name="Ash.Personalization.DynamicColor.StaticColor.Settled"
enum="PersonalizationDynamicColorStaticColor" expires_after="2024-04-05">
<owner>ericamlee@chromium.org</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Records the static color that the user has settled on. Emitted once for
every UMA upload.
</summary>
</histogram>
<histogram name="Ash.Personalization.DynamicColor.StaticColorButton"
enum="PersonalizationDynamicColorStaticColor" expires_after="2024-04-03">
<owner>ericamlee@google.com</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Emitted when a user clicks a static color button for dynamic color in
personalization hub.
</summary>
</histogram>
<histogram name="Ash.Personalization.DynamicColor.ToggleButton"
enum="BooleanEnabled" expires_after="2024-04-03">
<owner>ericamlee@google.com</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Emitted when a user clicks the toggle button to enable or disable dynamic
color in personalization hub.
</summary>
</histogram>
<histogram name="Ash.Personalization.EntryPoint"
enum="PersonalizationEntryPoint" expires_after="2023-09-10">
<owner>thuongphan@chromium.org</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Records which entry point is used to access Personalization Hub. Emitted
every time Personalization hub is accessed.
</summary>
</histogram>
<histogram name="Ash.Personalization.KeyboardBacklight.Color"
enum="PersonalizationKeyboardBacklightColor" expires_after="2023-10-22">
<owner>jasontt@chromium.org</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Emitted when a user selects a keyboard backlight color in personalization
hub.
</summary>
</histogram>
<histogram name="Ash.Personalization.KeyboardBacklight.Color.Settled"
enum="PersonalizationKeyboardBacklightColor" expires_after="2023-10-22">
<owner>jasontt@chromium.org</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Records the keyboard backlight color that the user has settled on. Emitted
once for every UMA upload.
</summary>
</histogram>
<histogram name="Ash.Personalization.KeyboardBacklight.DisplayType.Settled"
enum="PersonalizationKeyboardBacklightDisplayType"
expires_after="2024-03-28">
<owner>thuongphan@chromium.org</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Records the display type of keyboard backlight color that the user has
settled on. Emitted once for every UMA upload.
</summary>
</histogram>
<histogram name="Ash.Personalization.KeyboardBacklight.OpenZoneCustomization"
units="BooleanHit" expires_after="2024-03-20">
<owner>thuongphan@chromium.org</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Emitted every time the user selects 'Customize' button to open zone
customization dialog to view or set zone colors, even when no zone color
changed.
</summary>
</histogram>
<histogram name="Ash.Personalization.KeyboardBacklight.WallpaperColor.Valid"
enum="BooleanValid" expires_after="2023-10-22">
<owner>jasontt@chromium.org</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Emitted when the keyboard backlight is updated to a new wallpaper extracted
color. Non transparent colors are considered valid.
</summary>
</histogram>
<histogram
name="Ash.Personalization.KeyboardBacklight.ZoneColors.Zone{ZoneIdx}.Settled"
enum="PersonalizationKeyboardBacklightColor" expires_after="2024-03-25">
<owner>thuongphan@chromium.org</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Records the keyboard backlight color for zone {ZoneIdx} that the user has
settled on. Emitted once for every UMA upload if the user currently uses
customized zone colors for keyboard backlight.
</summary>
<token key="ZoneIdx">
<variant name="1" summary="Zone 1"/>
<variant name="2" summary="Zone 2"/>
<variant name="3" summary="Zone 3"/>
<variant name="4" summary="Zone 4"/>
<variant name="5" summary="Zone 5"/>
</token>
</histogram>
<histogram name="Ash.Personalization.Path" enum="PersonalizationPath"
expires_after="2023-10-22">
<owner>jasontt@chromium.org</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Emitted when a user navigates to a valid path in personalization hub.
</summary>
</histogram>
<histogram name="Ash.Personalization.Theme.ColorMode"
enum="PersonalizationThemeColorMode" expires_after="2023-10-22">
<owner>jasontt@chromium.org</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Emitted when a user selects a theme button in personalization hub.
</summary>
</histogram>
<histogram name="Ash.Pip.AndroidPipUseTime" units="ms"
expires_after="2022-04-24">
<owner>takise@chromium.org</owner>
<owner>linben@chromium.org</owner>
<summary>How long Android PIP was used for, upon ending the session.</summary>
</histogram>
<histogram name="Ash.Pip.Events" enum="AshPipEvents" expires_after="2022-04-17">
<owner>takise@chromium.org</owner>
<owner>linben@chromium.org</owner>
<summary>
Various individiual Picture-in-picture related events. See AshPipEvents.
</summary>
</histogram>
<histogram name="Ash.PowerSoundsController.PluggedInBatteryLevel" units="%"
expires_after="2023-12-21">
<owner>hongyulong@chromium.org</owner>
<owner>nupurjain@google.com</owner>
<summary>
Record the battery level when a charger is connected and the battery status
is from discharging to charging.
</summary>
</histogram>
<histogram name="Ash.PowerSoundsController.UnpluggedBatteryLevel" units="%"
expires_after="2023-12-21">
<owner>hongyulong@chromium.org</owner>
<owner>nupurjain@google.com</owner>
<summary>
Record the battery level when a charger is unplugged and the battery status
is from charging to discharging.
</summary>
</histogram>
<histogram name="Ash.PrivacyIndicators.AnimationSmoothness" units="%"
expires_after="2023-09-19">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Animation smoothness of the privacy indicators view animation. This occurs
when an app is accessing camera/microphone or screen sharing and a green
indicator appears on the status area button. Measured via a throughtput
tracker.
</summary>
</histogram>
<histogram name="Ash.PrivacyIndicators.AppAccessUpdate.Type" enum="AppType"
expires_after="2023-09-19">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Record the type of the app that change the status of camera/microphone
access. Emitted when there is any change in the status of camera/microphone
access.
</summary>
</histogram>
<histogram name="Ash.PrivacyIndicators.LaunchSettings" enum="AppType"
expires_after="2023-09-19">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Record the type of the app that associate with the privacy indicators
notification whose settings button is clicked. Emitted when the user click
on the settings button of that notification.
</summary>
</histogram>
<histogram name="Ash.PrivacyIndicators.NumberOfAppsAccessingCamera"
units="count" expires_after="2023-09-19">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Record the number of apps that access the camera at the same time. Emitted
when there are one or more apps accessing the camera.
</summary>
</histogram>
<histogram name="Ash.PrivacyIndicators.NumberOfAppsAccessingMicrophone"
units="count" expires_after="2023-09-19">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Record the number of apps that access the microphone at the same time.
Emitted when there are one or more apps accessing the microphone.
</summary>
</histogram>
<histogram name="Ash.PrivacyIndicators.NumberOfRepeatedShows" units="shows"
expires_after="2023-09-19">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Record the number of times that the privacy indicator repeatedly shows per
100ms. Emitted when the sequence of consecutive shows in the privacy
indicator has finished.
</summary>
</histogram>
<histogram name="Ash.PrivacyIndicators.NumberOfShowsPerSession" units="shows"
expires_after="2023-09-19">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Record the number of times that the tray indicator shows in the tray per
session. Emitted when there is a change in user session.
</summary>
</histogram>
<histogram name="Ash.PrivacyIndicators.ShowType" enum="PrivacyIndicatorsType"
expires_after="2023-09-19">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Record the type of privacy indicators shown. Emitted when the privacy
indicators view is shown in the status tray.
</summary>
</histogram>
<histogram name="Ash.PrivacyIndicators.Source" enum="PrivacyIndicatorsSource"
expires_after="2023-09-19">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Record the source that use privacy indicators. Emitted when there's a client
calling into the function that updates the privacy indicators.
</summary>
</histogram>
<histogram name="Ash.PrivacyIndicators.{Icon}.AnimationSmoothness" units="%"
expires_after="2023-09-19">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Animation smoothness of the privacy indicators {Icon} fade in animation.
This occurs when an app is accessing camera/microphone or screen sharing and
a green indicator appears on the status area button.
</summary>
<token key="Icon">
<variant name="CameraIcon" summary="Camera icon"/>
<variant name="MicrophoneIcon" summary="Microphone icon"/>
<variant name="ScreenshareIcon" summary="Screen share icon"/>
</token>
</histogram>
<histogram name="Ash.Projector.CreationFlow.{TabletOrClamshell}"
enum="ProjectorCreationFlow" expires_after="2023-10-17">
<owner>tobyhuang@chromium.org</owner>
<owner>cros-projector@google.com</owner>
<summary>
Tracks how the user progresses through the creation flow in
{TabletOrClamshell}, recorded each time the user starts or ends a screencast
recording.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram name="Ash.Projector.CreationFlowError.{TabletOrClamshell}"
enum="ProjectorCreationFlowError" expires_after="2023-10-17">
<owner>tobyhuang@chromium.org</owner>
<owner>cros-projector@google.com</owner>
<summary>
Tracks the most common errors during the screencast recording creation
process in {TabletOrClamshell}, recorded each time an error occurs.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram name="Ash.Projector.MarkerColor.{TabletOrClamshell}"
enum="ProjectorMarkerColor" expires_after="2023-10-17">
<owner>tobyhuang@chromium.org</owner>
<owner>yilkal@chromium.org</owner>
<owner>llin@chromium.org</owner>
<owner>cros-projector@google.com</owner>
<summary>
Recorded whenever the user chooses a marker color on the Projector toolbar
in {TabletOrClamshell}. This metric records when the user changes the color
or when the annotator toggles on, to record the saved last used color.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram name="Ash.Projector.OnDeviceToServerSpeechRecognitionFallbackReason"
enum="OnDeviceToServerSpeechRecognitionFallbackReason"
expires_after="2023-12-17">
<owner>xiqiruan@chromium.org</owner>
<owner>yilkal@chromium.org</owner>
<owner>cros-projector@google.com</owner>
<summary>
Records the fallback reason of using server based speech recognition instead
of on device speech recogniton. This metric is recorded on server based
speech recognition in projector session.
</summary>
</histogram>
<histogram name="Ash.Projector.PendingScreencastBatchIOTaskDuration" units="ms"
expires_after="2023-10-17">
<owner>xiqiruan@chromium.org</owner>
<owner>cros-projector@google.com</owner>
<summary>
Tracks the processing time of batch pending screencast files validation on
IO thread. Recorded each time when IO task finishes.
</summary>
</histogram>
<histogram name="Ash.Projector.PendingScreencastChangeInterval" units="ms"
expires_after="2023-10-17">
<owner>xiqiruan@chromium.org</owner>
<owner>cros-projector@google.com</owner>
<summary>
Tracks the interval between UI updates during screencast uploading. Recorded
at each pending screencast's UI change except for the first one of current
uploading phase.
</summary>
</histogram>
<histogram name="Ash.Projector.PolicyChangeHandlingError"
enum="ProjectorPolicyChangeHandlingError" expires_after="2023-10-17">
<owner>llin@chromium.org</owner>
<owner>cros-projector@google.com</owner>
<summary>
Records the nullptr error that potentially caused a crash when handling
policy changes.
</summary>
</histogram>
<histogram name="Ash.Projector.SpeechRecognitionEndState.{Location}"
enum="SpeechRecognitionEndState" expires_after="2023-11-01">
<owner>yilkal@chromium.org</owner>
<owner>cros-projector@google.com</owner>
<summary>
For a recognition session happening at {Location}, this histogram records
the recognition status at the end of the session.
</summary>
<token key="Location" variants="RecognizerLocation"/>
</histogram>
<histogram name="Ash.Projector.Toolbar.{TabletOrClamshell}"
enum="ProjectorToolbar" expires_after="2023-10-17">
<owner>tobyhuang@chromium.org</owner>
<owner>yilkal@chromium.org</owner>
<owner>llin@chromium.org</owner>
<owner>cros-projector@google.com</owner>
<summary>
Recorded whenever the user opens, closes, or presses a button the Projector
toolbar in {TabletOrClamshell}.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram name="Ash.Projector.TranscriptsCount.{TabletOrClamshell}"
units="Number of transcripts" expires_after="2023-10-17">
<owner>tobyhuang@chromium.org</owner>
<owner>cros-projector@google.com</owner>
<summary>
Tracks the number of transcripts generated during a recording in
{TabletOrClamshell}, recorded each time the metadata file saved successfully
after a recording ends.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram name="Ash.QuickSettings.Button.Activated" enum="QsButtonCatalogName"
expires_after="2023-09-08">
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when any button in the quick settings view is activated.
</summary>
</histogram>
<histogram name="Ash.QuickSettings.FeaturePod.{FeaturePodBehavior}"
enum="QsFeatureCatalogName" expires_after="2023-09-14">
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when an action is done on any FeaturePod in the quick settings
view. {FeaturePodBehavior} can be a toggle to enable the feature, toggle to
disable this feature, going to the feature's detailed page, or making the
button visible.
</summary>
<token key="FeaturePodBehavior">
<variant name="DiveIn" summary="Go to the feature's detailed page"/>
<variant name="ToggledOff" summary="Toggle to disable the feature"/>
<variant name="ToggledOn" summary="Toggle to enable the feature"/>
<variant name="Visible" summary="The feature pod is shown"/>
</token>
</histogram>
<histogram name="Ash.QuickSettings.Slider.{SliderBehavior}"
enum="QsSliderCatalogName" expires_after="2023-09-21">
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when an action is done on any slider in the quick settings view or
in the slider bubble. {SliderBehavior} can be changing the value or toggling
to enable the feature.
</summary>
<token key="SliderBehavior">
<variant name="DisableFeature" summary="Toggle to disable the feature"/>
<variant name="Down" summary="Turn the slider value down"/>
<variant name="EnableFeature" summary="Toggle to enable the feature"/>
<variant name="Up" summary="Turn the slider value up"/>
</token>
</histogram>
<histogram name="Ash.QuickSettings.UserJourneyTime" units="ms"
expires_after="2023-10-08">
<owner>kradtke@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Records time user spent in Quick Settings opened through the Status Area
button. Starts measuring time whenever the QS bubble is opened, and records
metric when the QS bubble is closed.
</summary>
</histogram>
<histogram name="Ash.QuickSettings.{DeviceMode}.FeaturePodCountOnOpen"
units="count" expires_after="2023-09-14">
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
The number of feature pods (e.g. WiFi, Bluetooth, IME, Accessibility, etc.)
in the system tray quick settings when it is opened, including pods that
overflow to other pages. This metric is logged by 2 different types of
{DeviceMode}: &quot;Clamshell&quot; and &quot;Tablet&quot;. This metric gets
recorded for both the new quick settings view and the old unified system
view, see
&quot;Ash.UnifiedSystemView.{DeviceMode}.FeaturePodCountOnOpen&quot; which
is the metric for the old view.
</summary>
<token key="DeviceMode">
<variant name="Clamshell" summary="Regular mode"/>
<variant name="Tablet" summary="Tablet mode"/>
</token>
</histogram>
<histogram name="Ash.Rotation.AnimationSmoothness" units="%"
expires_after="2024-04-16">
<owner>xiyuan@chromium.org</owner>
<owner>chromeos-perfmetrics-eng@google.com</owner>
<summary>
Relative smoothness of animations when rotating screen. 100% represents
ideally smooth 60 frames per second. 50% represents only 30 frames per
second is achieved during the animations. 0% should not happen. This metric
is recorded exactly once when the user rotates the screen.
</summary>
</histogram>
<histogram name="Ash.Search.DriveFileSuggestDataValidation.Status"
enum="DriveFileSuggestDataValidationStatus" expires_after="2023-08-12">
<owner>andrewxu@chromium.org</owner>
<summary>
The outcome of drive file suggestion data validation. Recorded once per
validation.
</summary>
</histogram>
<histogram name="Ash.SearchModelUpdateTime.{TabletOrClamshell}" units="ms"
expires_after="2023-10-01">
<owner>yulunwu@google.com</owner>
<owner>tbarzic@google.com</owner>
<summary>
Records the time interval between user-initiated search model updates after
the user starts a search query. Used to record how quickly users update the
search model in {TabletOrClamshell} after the first keystroke.
</summary>
<token key="TabletOrClamshell" variants="DisplayModes"/>
</histogram>
<histogram name="Ash.SearchResultUpdateAnimationShortened" enum="Boolean"
expires_after="2023-11-01">
<owner>yulunwu@google.com</owner>
<owner>tbarzic@google.com</owner>
<owner>tby@google.com</owner>
<summary>
Records whether search result animation times were shorted for recent search
result update animation preemptions. Recorded when productivity launcher
search containers' results change while result containers are still
animating.
</summary>
</histogram>
<histogram
name="Ash.ServerBasedSpeechRecognition.AudioLengthLeftWhenAudioCaptureEnd"
units="ms" expires_after="2023-11-08">
<owner>xiqiruan@chromium.org</owner>
<owner>yilkal@chromium.org</owner>
<owner>cros-projector@google.com</owner>
<summary>
Records the length of remaining un-transcribed audio when the audio capture
stops.
</summary>
</histogram>
<histogram
name="Ash.ServerBasedSpeechRecognition.EndOfRecognitionSignalLatency"
units="ms" expires_after="2023-11-08">
<owner>xiqiruan@chromium.org</owner>
<owner>yilkal@chromium.org</owner>
<owner>cros-projector@google.com</owner>
<summary>
Records the time user needs to wait to get the final speech recognition
result after audio capture stops.
</summary>
</histogram>
<histogram name="Ash.ServerBasedSpeechRecognition.ErrorCode"
enum="CombinedHttpResponseAndNetErrorCode" expires_after="2023-11-08">
<owner>xiqiruan@chromium.org</owner>
<owner>yilkal@chromium.org</owner>
<owner>cros-projector@google.com</owner>
<summary>
Records the network error or HTTP response code of server based speech
recognition request when an an error occurred.
</summary>
</histogram>
<histogram name="Ash.Shelf.Menu.NumItemsEnabledUponSelection" units="Count"
expires_after="2023-08-13">
<owner>anasalazar@chromium.org</owner>
<owner>mmourgos@google.com</owner>
<summary>
Tracks the number of menu items that are enabled in a shelf item's secondary
menu. This metric is only recorded when a menu item is selected.
</summary>
</histogram>
<histogram name="Ash.Shelf.Menu.SelectedMenuItemIndex" units="Index"
expires_after="2024-02-08">
<owner>anasalazar@chromium.org</owner>
<owner>mmourgos@google.com</owner>
<summary>
Tracks the index of the selected menu item in a shelf item's secondary menu.
This metric is only recorded when a menu item is selected.
</summary>
</histogram>
<histogram name="Ash.Shelf.NavigationButtonsInTabletMode.ReasonShown"
enum="ReasonToShowShelfNavigationButtons" expires_after="2022-01-09">
<owner>tbarzic@chromium.org</owner>
<owner>gzadina@google.com</owner>
<summary>
The reason shelf navigation buttons are shown in tablet mode. The buttons
are shown when the device is in tablet mode only if certain accessibility
settings are enabled. This histogram records which accessibility setting
caused the buttons to be shown. Shown when navigation buttons visibility
changes in tablet mode, and only if HideShelfControlsInTabletMode feature is
enabled.
</summary>
</histogram>
<histogram name="Ash.Shelf.NumberOfItems" units="Icons"
expires_after="2023-09-17">
<owner>anasalazar@chromium.org</owner>
<owner>mmourgos@google.com</owner>
<summary>
The number of icons in the shelf, not including the App Launcher icon. This
metric is recorded every 30 minutes.
</summary>
</histogram>
<histogram name="Ash.Shelf.NumberOfPinnedItems" units="Icons"
expires_after="2023-10-08">
<owner>anasalazar@chromium.org</owner>
<owner>mmourgos@google.com</owner>
<summary>
The number of pinned icons in the shelf, not including the App Launcher
icon. This metric is recorded every 30 minutes.
</summary>
</histogram>
<histogram name="Ash.Shelf.NumberOfUnpinnedItems" units="Icons"
expires_after="2023-08-27">
<owner>anasalazar@chromium.org</owner>
<owner>mmourgos@google.com</owner>
<summary>
The number of unpinned icons in the shelf. This metric is recorded every 30
minutes.
</summary>
</histogram>
<histogram name="Ash.Shelf.Palette.Assistant.CircledPercentage" units="%"
expires_after="2021-12-12">
<obsolete>
Deprecated in M111. No longer needed since metalayer was deprecated in M110.
</obsolete>
<owner>amehfooz@chromium.org</owner>
<owner>cros-status-area@google.com</owner>
<owner>gzadina@chromium.org</owner>
<summary>
The percentage of the screen area circled by the Assistant pen. Recorded
when the &quot;closed shape&quot; gesture is recognized.
</summary>
</histogram>
<histogram name="Ash.Shelf.Palette.Assistant.DeprecateStylusFeaturesToastEvent"
units="dp" expires_after="2023-04-23">
<obsolete>
Deprecated in M111.
</obsolete>
<owner>angelaxiao@chromium.org</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Whether or not the user is shown the limitation toast notifying that the
Assistant stylus features (i.e. what's on my screen) have been deprecated.
Also considers whether or not the deprecation flag has been set. Recorded
upon every stylus long press action.
</summary>
</histogram>
<histogram name="Ash.Shelf.Palette.Assistant.GestureDuration" units="ms"
expires_after="2021-12-12">
<obsolete>
Deprecated in M111. No longer needed since metalayer was deprecated in M110.
</obsolete>
<owner>amehfooz@chromium.org</owner>
<owner>cros-status-area@google.com</owner>
<owner>gzadina@chromium.org</owner>
<summary>
The duration of an Assistant pen gesture. Recorded at the end of every
gesture.
</summary>
</histogram>
<histogram name="Ash.Shelf.Palette.Assistant.GestureInterval" units="ms"
expires_after="2021-12-12">
<obsolete>
Deprecated in M111. No longer needed since metalayer was deprecated in M110.
</obsolete>
<owner>amehfooz@chromium.org</owner>
<owner>cros-status-area@google.com</owner>
<owner>gzadina@chromium.org</owner>
<summary>
The interval between subsequent Assistant pen gestures within a session.
Session is defined as the period while the Assistant tool is enabled.
Recorded at the end of each gesture except for the first one in the session.
The interval is computed excluding the gesture duration.
</summary>
</histogram>
<histogram name="Ash.Shelf.Palette.Assistant.GesturesPerSession" units="units"
expires_after="2021-12-12">
<obsolete>
Deprecated in M111. No longer needed since metalayer was deprecated in M110.
</obsolete>
<owner>amehfooz@chromium.org</owner>
<owner>cros-status-area@google.com</owner>
<owner>gzadina@chromium.org</owner>
<summary>
The number of Assistant pen gestures per session. Session is defined as the
period while the Assistant tool is enabled. Recorded at the end of the
session.
</summary>
</histogram>
<histogram name="Ash.Shelf.Palette.Assistant.GesturesPerSession.Recognized"
units="units" expires_after="2021-12-12">
<obsolete>
Deprecated in M111. No longer needed since metalayer was deprecated in M110.
</obsolete>
<owner>amehfooz@chromium.org</owner>
<owner>cros-status-area@google.com</owner>
<owner>gzadina@chromium.org</owner>
<summary>
The number of recognized Assistant pen gestures per session. Session is
defined as the period while the Assistant tool is enabled. Recorded at the
end of the session.
</summary>
</histogram>
<histogram name="Ash.Shelf.Palette.Assistant.GestureType"
enum="AssistantGestureType" expires_after="2023-05-01">
<obsolete>
Deprecated in M111. No longer needed since metalayer was deprecated in M110.
</obsolete>
<owner>amehfooz@chromium.org</owner>
<owner>cros-status-area@google.com</owner>
<owner>gzadina@chromium.org</owner>
<summary>
The type of the Assistant pen gesture. Recorded at the end of each gesture.
</summary>
</histogram>
<histogram name="Ash.Shelf.Palette.Assistant.HighlighterLength" units="dp"
expires_after="2021-12-12">
<obsolete>
Deprecated in M111. No longer needed since metalayer was deprecated in M110.
</obsolete>
<owner>amehfooz@chromium.org</owner>
<owner>cros-status-area@google.com</owner>
<owner>gzadina@chromium.org</owner>
<summary>
The length of a recognized &quot;horizontal stroke&quot; Assistant pen
gesture. Recorded at the and of the gesture.
</summary>
</histogram>
<histogram name="Ash.Shelf.Palette.InAssistantMode" units="ms"
expires_after="2021-12-12">
<obsolete>
Kept to view historical data.
</obsolete>
<owner>amehfooz@chromium.org</owner>
<owner>cros-status-area@google.com</owner>
<owner>gzadina@chromium.org</owner>
<summary>
The amount of time spent in Palette Assistant mode. Recorded when the
Assistant mode is exited.
</summary>
</histogram>
<histogram name="Ash.Shelf.Palette.InLaserPointerMode" units="ms"
expires_after="2021-12-12">
<obsolete>
Kept to view historical data.
</obsolete>
<owner>amehfooz@chromium.org</owner>
<owner>cros-status-area@google.com</owner>
<owner>gzadina@chromium.org</owner>
<summary>
The amount of time spend in Palette Laser pointer mode. Recorded when the
Laser pointer mode is exited.
</summary>
</histogram>
<histogram name="Ash.Shelf.Palette.InMagnifyMode" units="ms"
expires_after="2021-12-12">
<obsolete>
Kept to view historical data.
</obsolete>
<owner>amehfooz@chromium.org</owner>
<owner>cros-status-area@google.com</owner>
<owner>gzadina@chromium.org</owner>
<summary>
The amount of time spend in Palette Magnify mode. Recorded when the Magnify
mode is exited.
</summary>
</histogram>
<histogram name="Ash.Shelf.Palette.ModeCancellation"
enum="PaletteModeCancelType" expires_after="2021-12-12">
<obsolete>
Kept to view historical data.
</obsolete>
<owner>amehfooz@chromium.org</owner>
<owner>cros-status-area@google.com</owner>
<owner>gzadina@chromium.org</owner>
<summary>
Tracks the number of times a palette mode is explicitly cancelled or
switched out of.
</summary>
</histogram>
<histogram name="Ash.Shelf.Palette.Usage" enum="PaletteTrayOptions"
expires_after="2022-04-17">
<owner>amehfooz@chromium.org</owner>
<owner>cros-status-area@google.com</owner>
<owner>gzadina@chromium.org</owner>
<summary>
Recorded every time that the palette option has been selected from the
palette that has been opened manually (not via a stylus eject event).
</summary>
</histogram>
<histogram name="Ash.Shelf.Palette.Usage.AutoOpened" enum="PaletteTrayOptions"
expires_after="2021-12-12">
<obsolete>
Kept to view historical data.
</obsolete>
<owner>amehfooz@chromium.org</owner>
<owner>cros-status-area@google.com</owner>
<owner>gzadina@chromium.org</owner>
<summary>
Recorded every time that the palette option has been selected from the
palette that has been opened automatically (by a stylus eject event).
</summary>
</histogram>
<histogram name="Ash.Shelf.Palette.Usage.Shortcut" enum="PaletteTrayOptions"
expires_after="2021-12-12">
<obsolete>
Kept to view historical data.
</obsolete>
<owner>amehfooz@chromium.org</owner>
<owner>cros-status-area@google.com</owner>
<owner>gzadina@chromium.org</owner>
<summary>
Recorded every time that the palette option has been selected by means other
that the palette menu (e.g. stylus barrel button or a keyboard accelerator).
</summary>
</histogram>
<histogram name="Ash.Shelf.ShutdownConfirmationBubble.Action"
enum="ShutdownConfirmationBubbleAction" expires_after="2023-09-17">
<owner>sherrilin@google.com</owner>
<owner>cros-lurs@google.com</owner>
<summary>
Track actions on the shutdown confirmation bubble, if it's opened, dismissed
or which buttons are clicked.
</summary>
</histogram>
<histogram
name="Ash.Shelf.ShutdownConfirmationBubble.ActionDuration.{BubbleAction}"
units="ms" expires_after="2022-12-31">
<owner>sherrilin@google.com</owner>
<owner>cros-lurs@google.com</owner>
<summary>
Track time delta between a bubble opened and an action taken on the shutdown
confirmation bubble.
</summary>
<token key="BubbleAction">
<variant name="Cancel" summary="User clicked cancel button"/>
<variant name="Confirm" summary="User clicked confirm button"/>
<variant name="Dismiss"
summary="User dismissed the shutdown confirmation buble"/>
</token>
</histogram>
<histogram
name="Ash.Shelf.ShutdownConfirmationBubble.TimeToNextBoot.LoginShutdownToPowerUpDuration"
units="seconds" expires_after="2023-09-10">
<owner>sherrilin@google.com</owner>
<owner>cros-lurs@google.com</owner>
<summary>
Emitted at device start-up if a shut-down was previously initiated from the
shelf shutdown button. In other words this metric is only recorded if a
shelf shutdown button was pressed and the device was powered up again soon
after that.
</summary>
</histogram>
<histogram name="Ash.Shelf.TimeBetweenWindowMinimizedAndActivatedActions"
units="ms" expires_after="2020-06-28">
<owner>tbuckley@chromium.org</owner>
<summary>
Tracks the amount of time between a window being minimized by the shelf and
subsequently activated. In other words this metric is only recorded if a
shelf button pressed action causes a window to be minimized and the very
next shelf button pressed action causes the same window to be activated.
</summary>
</histogram>
<histogram name="Ash.ShelfAlignmentUsage" enum="ShelfAlignmentValue"
expires_after="never">
<!-- expires-never: Monitors core shelf behavior/usage (the shelf alignment) -->
<owner>kuscher@google.com</owner>
<owner>tbarzic@chromium.org</owner>
<summary>
The current state of the shelf (alignment) when the shelf launcher is used
to launch an app/window/etc, this is used instead of log in to give data on
users that do not lock/unlock or log in frequently.
</summary>
</histogram>
<histogram name="Ash.ShelfIcon.AnimationSmoothness{ShelfIconAnimationType}"
units="%" expires_after="2021-03-30">
<owner>andrewxu@chromium.org</owner>
<owner>newcomer@chromium.org</owner>
<summary>
Relative smoothness of animations of the shelf icons. 100% represents
ideally smooth 60 frames per second. Recorded when shelf icon animations are
completed, including icon move, icon fade-in and icon fade-out.
{ShelfIconAnimationType}
</summary>
<token key="ShelfIconAnimationType">
<variant name=""/>
<variant name=".FadeIn" summary="Shelf icon fade-in animation"/>
<variant name=".FadeOut" summary="Shelf icon fade-out animation"/>
<variant name=".Move" summary="Shelf icon move animation"/>
</token>
</histogram>
<histogram name="Ash.Smoothness.PercentDroppedFrames_1sWindow2{Stage}"
units="%" expires_after="2024-01-29">
<owner>xiyuan@chromium.org</owner>
<owner>chromeos-perfmetrics-eng@google.com</owner>
<summary>
Tracks the percent of dropped frames in a 1 second sliding window.
PercentDroppedFrames is measured by tracking the number of frames which were
not displayed on screen out of the total number of frames expected to be
produced and displayed. In other words, the lower this number is, the
smoother experience.
The &quot;.InSession&quot; covers the time of 1 minute beyond into user
sessions. The 1 minute timeline is picked based on
&quot;Ash.Login.TimeUntilGoodADF&quot; histogram, where about 93-94% user
sessions fall under the 1 minute bar.
The metric is reported {Stage}.
</summary>
<token key="Stage">
<variant name="" summary="on every frame"/>
<variant name=".InSession"
summary="on every frame after 1 min into session"/>
</token>
</histogram>
<histogram name="Ash.Smoothness.PercentDroppedFrames_1sWindow{Stage}" units="%"
expires_after="2023-10-30">
<obsolete>
This metric is reported on every dropped frame instead of every frame. It is
deprecated in favor of Ash.Smoothness.PercentDroppedFrames_1sWindow2.
</obsolete>
<owner>xiyuan@chromium.org</owner>
<owner>chromeos-perfmetrics-eng@google.com</owner>
<summary>
Tracks the percent of dropped frames in a 1 second sliding window.
PercentDroppedFrames is measured by tracking the number of frames which were
not displayed on screen out of the total number of frames expected to be
produced and displayed. In other words, the lower this number is, the
smoother experience.
The metric is reported {Stage}.
</summary>
<token key="Stage">
<variant name="" summary="all the time"/>
<variant name=".BeforeLogin" summary="before login"/>
<variant name=".DuringLogin"
summary="after cryptohome mount but before login animations finish"/>
<variant name=".InSession" summary="after post-login animation finishes"/>
<variant name=".InSession2"
summary="after observing good ADF for 5 seconds"/>
</token>
</histogram>
<histogram name="Ash.SpeechRecognitionSessionLength.{Location}" units="ms"
expires_after="2023-11-01">
<owner>yilkal@chromium.org</owner>
<owner>cros-projector@google.com</owner>
<summary>
The length of the speech recognition session happening on {Location}. This
histogram records the length at the end of the session.
</summary>
<token key="Location" variants="RecognizerLocation"/>
</histogram>
<histogram name="Ash.SplitView.DeviceOrientation.{DeviceUIMode}"
enum="DeviceOrientation" expires_after="2023-07-27">
<owner>zxdan@chromium.org</owner>
<owner>afakhry@chromium.org</owner>
<owner>nupurjain@chromium.org</owner>
<owner>fanafan@chromium.org</owner>
<summary>
Emitted at entry to split view mode and each time the orientation or the
device mode changes to report whether the device is in clamshell mode or
tablet mode and whether the orientation is landscape or portrait.
</summary>
<token key="DeviceUIMode">
<variant name="ClamshellMode"/>
<variant name="TabletMode"/>
</token>
</histogram>
<histogram name="Ash.SplitView.EntryPoint.DeviceOrientation"
enum="DeviceOrientation" expires_after="2023-10-22">
<owner>xdai@chromium.org</owner>
<owner>zxdan@chromium.org</owner>
<owner>nupurjain@chromium.org</owner>
<owner>fanafan@chromium.org</owner>
<summary>
Emitted at the entry point of split view mode, to report the device
orientation is in landscape mode (left and right) or portrait mode (top and
bottom).
</summary>
</histogram>
<histogram name="Ash.SplitView.EntryPoint.DeviceUIMode" enum="DeviceMode"
expires_after="2023-09-10">
<owner>xdai@chromium.org</owner>
<owner>zxdan@chromium.org</owner>
<owner>nupurjain@chromium.org</owner>
<owner>fanafan@chromium.org</owner>
<summary>
Emitted at the entry point of split view mode, to report the device is in
clamshell mode or tablet mode.
</summary>
</histogram>
<histogram name="Ash.SplitView.OrientationInSplitView" enum="DeviceOrientation"
expires_after="2023-08-27">
<owner>xdai@chromium.org</owner>
<owner>zxdan@chromium.org</owner>
<owner>nupurjain@chromium.org</owner>
<owner>fanafan@chromium.org</owner>
<summary>
Emitted when device orientation changes in split view, to report the device
orientation is in landscape mode (left and right) or portrait mode (top and
bottom).
</summary>
</histogram>
<histogram name="Ash.SplitView.ResizeWindowCount.{DeviceUIMode}" units="count"
expires_after="2024-04-01">
<owner>xdai@chromium.org</owner>
<owner>zxdan@chromium.org</owner>
<owner>nupurjain@chromium.org</owner>
<owner>fanafan@chromium.org</owner>
<summary>
Emitted at the end of split view mode to report the number of resizing
window operations in split view mode session for both clamshell and tablet
mode.
</summary>
<token key="DeviceUIMode">
<variant name="ClamshellMode"/>
<variant name="TabletMode"/>
</token>
</histogram>
<histogram name="Ash.SplitView.SwapWindowCount" units="count"
expires_after="2024-04-01">
<owner>xdai@chromium.org</owner>
<owner>zxdan@chromium.org</owner>
<owner>nupurjain@chromium.org</owner>
<owner>fanafan@chromium.org</owner>
<summary>
Emitted at the end of split view mode to report the number of swap window
operations in split view mode session.
</summary>
</histogram>
<histogram name="Ash.SplitView.SwapWindowSource"
enum="SplitViewSwapWindowsSource" expires_after="2024-04-10">
<owner>michelefan@chromium.org</owner>
<owner>xdai@chromium.org</owner>
<summary>
Recorded whenever two windows in split view are swapped. The recorded enum
indicates where the swap operation is triggered, which can either be from
double tap or swap button on the snap group expanded menu.
</summary>
</histogram>
<histogram name="Ash.SplitView.TimeInMultiDisplaySplitView" units="ms"
expires_after="2023-07-02">
<owner>xdai@chromium.org</owner>
<owner>chromeos-wmp@google.com</owner>
<summary>
The amount of time that the user spent in multi-display split view mode,
meaning that split view is active on more than one display. The time is
measured from when the number of displays in split view becomes more than
one to when it drops back down to one.
</summary>
</histogram>
<histogram name="Ash.SplitView.TimeInSplitView" units="ms"
expires_after="2023-08-27">
<owner>xdai@chromium.org</owner>
<owner>nupurjain@chromim.org</owner>
<owner>fanafan@chromium.org</owner>
<summary>
The amount of time that the user spent in split view mode. The time is
measured from the moment a window is snapped to one side of the screen to
when split view mode is ended.
</summary>
</histogram>
<histogram name="Ash.SplitView.{EngagementTime}.{DeviceUIMode}" units="ms"
expires_after="2024-04-01">
<owner>xdai@chromium.org</owner>
<owner>zxdan@chromium.org</owner>
<owner>nupurjain@chromium.org</owner>
<owner>fanafan@chromium.org</owner>
<summary>
Emitted at the end of split view mode or the point of switching between
clamshell mode and tablet mode in split view, to report the engagement time
of general split view and multi-display split view in both clamshell mode
and tablet mode.
</summary>
<token key="EngagementTime">
<variant name="TimeInMultiDisplaySplitScreen"/>
<variant name="TimeInSplitScreen"/>
</token>
<token key="DeviceUIMode">
<variant name="ClamshellMode"/>
<variant name="TabletMode"/>
</token>
</histogram>
<histogram name="Ash.SplitViewResize.AnimationSmoothness.DividerAnimation"
units="%" expires_after="2024-04-01">
<owner>sammiequon@chromium.org</owner>
<owner>xdai@chromium.org</owner>
<summary>
Relative smoothness of animation when releasing the split view divider,
recorded when the animation completes. 100% represents ideally smooth 60
frames per second.
</summary>
</histogram>
<histogram
name="Ash.SplitViewResize.PresentationTime.MaxLatency{SplitViewResizeModes}"
units="ms" expires_after="2024-02-07">
<owner>xdai@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<owner>oshima@chromium.org</owner>
<owner>chromeos-perfmetrics-eng@google.com</owner>
<summary>
Maximum latency of the presentation time while resizing one or two split
view windows. {SplitViewResizeModes}
</summary>
<token key="SplitViewResizeModes" variants="SplitViewResizeModes"/>
</histogram>
<histogram name="Ash.SplitViewResize.PresentationTime{SplitViewResizeModes}"
units="ms" expires_after="2023-11-18">
<owner>xdai@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<owner>oshima@chromium.org</owner>
<owner>chromeos-perfmetrics-eng@google.com</owner>
<summary>
Presentation time while resizing one or two split view windows.
{SplitViewResizeModes}
</summary>
<token key="SplitViewResizeModes" variants="SplitViewResizeModes"/>
</histogram>
<histogram name="Ash.StateKeysPresent" enum="BooleanPresent"
expires_after="2023-03-13">
<obsolete>
Deprecated Mar 2023 because of the b:273278497. The data logged under this
histogram is meaningless. Check Ash.StateKeysPresent2 for new data.
</obsolete>
<owner>igorcov@chromium.org</owner>
<owner>vsavu@google.com</owner>
<summary>
The presense of state keys on first device policy fetch response. It is
expected for state keys to be present. The histogram is logged only in case
of successful device policy fetch response. Warning: This histogram was
expired from 2022-07-03 to 2022-07-05; data may be missing.
</summary>
</histogram>
<histogram name="Ash.StateKeysPresent2" enum="BooleanPresent"
expires_after="2024-03-12">
<owner>igorcov@chromium.org</owner>
<owner>vsavu@google.com</owner>
<summary>
The presense of state keys on first device policy fetch response. It is
expected for state keys to be present. The histogram is logged only in case
of successful device policy fetch response. This is replacing the old
Ash.StateKeysPresent histogram because a bug made that data useless.
</summary>
</histogram>
<histogram name="Ash.StatusArea.TrayBackgroundView.BounceIn" units="%"
expires_after="2023-10-01">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Relative smoothness of the bounce in animation of tray background view. 100%
represents ideally smooth 60 frames per second. Emitted when animation is
completed (when the shelf pod/tray background view is completely bounced in
and shown the tray).
</summary>
</histogram>
<histogram name="Ash.StatusArea.TrayBackgroundView.FadeIn" units="%"
expires_after="2023-10-01">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Relative smoothness of the fade in animation of tray background view. 100%
represents ideally smooth 60 frames per second. Emitted when animation is
completed (when the shelf pod/tray background view is completely faded in
and shown the tray).
</summary>
</histogram>
<histogram name="Ash.StatusArea.TrayBackgroundView.Hide" units="%"
expires_after="2023-10-01">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Relative smoothness of the fade in animation of tray background view. 100%
represents ideally smooth 60 frames per second. Emitted when animation is
completed (when the shelf pod/tray background view is completely hidden in
the tray).
</summary>
</histogram>
<histogram name="Ash.StatusArea.TrayBackgroundView.{State}"
enum="TrayBackgroundViewCatalogName" expires_after="2024-01-19">
<owner>newcomer@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Logged when: Hidden: a TrayBackgroundView's preferred visibility is set to
false. Shown: a TrayBackgroundView's preferred visibility is set to true.
Pressed: Logged when a TrayBackgroundView is activated, either showing a
bubble or handling a custom action. The metric is expired from 2023-01-19 to
2023-03-15, so it's possible some data is dropped during that time.
</summary>
<token key="State">
<variant name="Hidden"/>
<variant name="Pressed"/>
<variant name="Shown"/>
</token>
</histogram>
<histogram name="Ash.StatusArea.TrayItemView.Hide" units="%"
expires_after="2023-10-01">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Relative smoothness of the hide animation of tray item view. 100% represents
ideally smooth 60 frames per second. Emitted when animation is completed
(when the tray item is completely hidden in the tray).
</summary>
</histogram>
<histogram name="Ash.StatusArea.TrayItemView.Show" units="%"
expires_after="2023-10-01">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Relative smoothness of the show animation of tray item view. 100% represents
ideally smooth 60 frames per second. Emitted when animation is completed
(when the tray item is completely shown in the tray).
</summary>
</histogram>
<histogram name="Ash.StatusAreaShowBubble.PresentationTime" units="ms"
expires_after="2023-08-27">
<owner>leandre@chromium.org</owner>
<owner>amehfooz@chromium.org</owner>
<owner>tbarzic@chromium.org</owner>
<summary>
Presentation time while opening QuickSettings and Notification Center
through Status Area button. Emitted when QuickSettings and Notification
Center are opened and shown.
</summary>
</histogram>
<histogram name="Ash.SwipeDownDrag.Tab.PresentationTime.MaxLatency.TabletMode"
units="ms" expires_after="2023-06-30">
<owner>xdai@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>
Maximum latency of the presentation timestamp while dragging a tab in tablet
mode.
</summary>
</histogram>
<histogram name="Ash.SwipeDownDrag.Tab.PresentationTime.TabletMode" units="ms"
expires_after="2023-03-05">
<owner>xdai@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>Presentation time while dragging a tab in tablet mode.</summary>
</histogram>
<histogram
name="Ash.SwipeDownDrag.Window.PresentationTime.MaxLatency.TabletMode"
units="ms" expires_after="2023-06-30">
<owner>xdai@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>
Maximum latency of the presentation timestamp while dragging maximized
window in tablet mode.
</summary>
</histogram>
<histogram name="Ash.SwipeDownDrag.Window.PresentationTime.TabletMode"
units="ms" expires_after="2023-06-30">
<owner>xdai@chromium.org</owner>
<owner>omrilio@chromium.org</owner>
<summary>
Presentation time while dragging maximized window in tablet mode.
</summary>
</histogram>
<histogram name="Ash.SwipeHomeToOverviewGesture"
enum="SwipeHomeToOverviewResult" expires_after="2023-09-03">
<owner>andrewxu@chromium.org</owner>
<owner>tbarzic@chromium.org</owner>
<summary>
Boolean indicating whether a swipe from hotseat on home screen resulted in a
transition to overview.
</summary>
</histogram>
<histogram name="Ash.SystemMenu.PercentageOfWorkAreaHeightCoveredByMenu"
units="%" expires_after="2021-12-12">
<owner>amehfooz@chromium.org</owner>
<owner>cros-status-area@google.com</owner>
<owner>gzadina@chromium.org</owner>
<summary>
The height of the system menu divided by the height of the Ash desktop work
area; a value over 100% indicates that a portion of the system menu is not
visible to the user. Recorded each time the menu is opened.
</summary>
</histogram>
<histogram name="Ash.SystemMenu.Rows" units="rows" expires_after="2021-12-12">
<owner>amehfooz@chromium.org</owner>
<owner>cros-status-area@google.com</owner>
<owner>gzadina@chromium.org</owner>
<summary>
The number of user-visible rows in the system menu's default view. Recorded
each time the menu is opened.
</summary>
</histogram>
<histogram name="Ash.TabDrag.PresentationTime" units="ms"
expires_after="2023-07-02">
<!-- Name completed by histogram_suffixes
name="TabletOrClamshellMode" -->
<owner>yichenz@chromium.org</owner>
<owner>chromeos-wmp@google.com</owner>
<summary>
Presentation time in ms when a tab is dragged. In clamshell mode, each time
a tab is dragged within a display, the time it takes to present the new
frame on screen is recorded. In tablet mode (with webui tab strip enable),
dragging between displays is precluded, thus each time a tab is dragged, the
time it takes to present the new frame to screen is recorded.
</summary>
</histogram>
<histogram name="Ash.TabDrag.PresentationTime.MaxLatency" units="ms"
expires_after="2024-01-12">
<!-- Name completed by histogram_suffixes
name="TabletOrClamshellMode" -->
<owner>yichenz@chromium.org</owner>
<owner>chromeos-wmp@google.com</owner>
<summary>
Maximum presentation time recorded during a tab dragging session in both
clamshell and tablet mode.
</summary>
</histogram>
<histogram name="Ash.TabletMode.AnimationSmoothness.Enter" units="%"
expires_after="2023-10-08">
<owner>oshima@chromium.org</owner>
<owner>sammiequon@chromium.org</owner>
<summary>
Relative smoothness of animations when entering tablet mode, recorded when
the animation completes. 100% represents ideally smooth 60 frames per
second.
</summary>
</histogram>
<histogram name="Ash.TabletMode.AnimationSmoothness.Exit" units="%"
expires_after="2024-01-10">
<owner>oshima@chromium.org</owner>
<owner>sammiequon@chromium.org</owner>
<summary>
Relative smoothness of animations when exiting tablet mode, recorded when
the animation completes. 100% represents ideally smooth 60 frames per
second.
</summary>
</histogram>
<histogram name="Ash.TimeBetweenTaskSwitches" units="seconds"
expires_after="2022-04-08">
<owner>nupurjain@chromium.org</owner>
<owner>tbuckley@google.com</owner>
<summary>
The number of seconds between contiguous task switch user actions triggered
by any of the other task switch actions that are tracked. (e.g.,
Ash.Tab.TimeBetweenSwitchToExistingTabUserActions,
Ash.WindowCycleController.TimeBetweenTaskSwitches,
Ash.AppList.TimeBetweenTaskSwitches,
Ash.Overview.TimeBetweenActiveWindowChanges, etc). Note the
Ash.AppList.TimeBetweenTaskSwitches and
Ash.Tab.TimeBetweenSwitchToExistingTabUserActions histograms were deprecated
and removed in 10/2016. Note that
Ash.Overview.TimeBetweenActiveWindowChanges was renamed from
Ash.WindowSelector.TimeBetweenActiveWindowChanges on 04/2021.
</summary>
</histogram>
<histogram name="Ash.TouchMoveSteps" units="pixels" expires_after="M85">
<owner>kuscher@google.com</owner>
<owner>rbyers@chromium.org</owner>
<summary>The distance between touch-move events.</summary>
</histogram>
<histogram name="Ash.TouchStartAfterEnd" units="ms" expires_after="M77">
<owner>kuscher@google.com</owner>
<summary>
The interval between the end of a touch-sequence and the start of the next
touch-sequence.
</summary>
</histogram>
<histogram name="Ash.TouchView.LidAngle" units="degrees"
expires_after="2023-10-22">
<owner>oshima@chromium.org</owner>
<summary>
Chrome OS only. The computed angle between the lid and the keyboard panel.
These values are imprecise and may be tens of degrees off from reality.
Reported once per hour that the system is awake, and not reported if the
system doesn't have two accelerometers.
</summary>
</histogram>
<histogram name="Ash.TouchView.TouchViewActive" units="ms"
expires_after="2023-08-08">
<owner>girard@chromium.org</owner>
<summary>
The length of time that TouchView is active, for each activation.
</summary>
</histogram>
<histogram name="Ash.TouchView.TouchViewActivePercentage" units="%"
expires_after="2023-10-08">
<owner>girard@chromium.org</owner>
<summary>The proportion of time spent in TouchView during a session.</summary>
</histogram>
<histogram name="Ash.TouchView.TouchViewActiveTotal" units="minutes"
expires_after="2023-10-08">
<owner>girard@chromium.org</owner>
<summary>The total time that TouchView is active during a session.</summary>
</histogram>
<histogram name="Ash.TouchView.TouchViewInactive" units="ms"
expires_after="2023-03-19">
<owner>girard@chromium.org</owner>
<summary>The length of time between TouchView activations.</summary>
</histogram>
<histogram name="Ash.TouchView.TouchViewInactiveTotal" units="minutes"
expires_after="2023-03-19">
<owner>girard@chromium.org</owner>
<summary>
The total time that TouchView is not active during a session.
</summary>
</histogram>
<histogram name="Ash.UnifiedSystemView.Button.Activated"
enum="QsButtonCatalogName" expires_after="2023-09-14">
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when any button in the old quick settings view is activated.
</summary>
</histogram>
<histogram name="Ash.UnifiedSystemView.FeaturePod.{FeaturePodBehavior}"
enum="QsFeatureCatalogName" expires_after="2023-09-14">
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when an action is done on any FeaturePod in the old quick settings
view. {FeaturePodBehavior} can be a toggle to enable the feature, toggle to
disable this feature, going to the feature's detailed page, or making the
button visible.
</summary>
<token key="FeaturePodBehavior">
<variant name="DiveIn" summary="Go to the feature's detailed page"/>
<variant name="ToggledOff" summary="Toggle to disable the feature"/>
<variant name="ToggledOn" summary="Toggle to enable the feature"/>
<variant name="Visible" summary="The feature pod is shown"/>
</token>
</histogram>
<histogram name="Ash.UnifiedSystemView.Slider.{SliderBehavior}"
enum="QsSliderCatalogName" expires_after="2023-09-21">
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when an action is done on any slider in the old quick settings view
or in the slider bubble. {SliderBehavior} can be changing the value or
toggling to enable the feature.
</summary>
<token key="SliderBehavior">
<variant name="DisableFeature" summary="Toggle to disable the feature"/>
<variant name="Down" summary="Turn the slider value down"/>
<variant name="EnableFeature" summary="Toggle to enable the feature"/>
<variant name="Up" summary="Turn the slider value up"/>
</token>
</histogram>
<histogram name="Ash.UnifiedSystemView.{DeviceMode}.FeaturePodCountOnOpen"
units="count" expires_after="2023-09-14">
<owner>jiamingc@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
The number of feature pods (e.g. WiFi, Bluetooth, IME, Accessibility, etc.)
in the old system tray quick settings when it is opened, including pods that
overflow to other pages. This metric is logged by 2 different types of
{DeviceMode}: &quot;Clamshell&quot; and &quot;Tablet&quot;. This metric gets
recorded for both the new quick settings view and the old unified system
view, see &quot;Ash.QuickSettings.{DeviceMode}.FeaturePodCountOnOpen&quot;
which is the metric for the new quick settings view.
</summary>
<token key="DeviceMode">
<variant name="Clamshell" summary="Regular mode"/>
<variant name="Tablet" summary="Tablet mode"/>
</token>
</histogram>
<histogram base="true" name="Ash.UnlockAnimation.Duration" units="ms"
expires_after="2021-12-10">
<owner>oshima@chromium.org</owner>
<owner>chromeos-wmp@google.com</owner>
<!-- Name completed by histogram_suffixes
name="TabletOrClamshellMode" -->
<summary>
The duration of how long it took to finish all animations applied during the
login process, from the time the first animation is added, to the time the
last animation is finished.
</summary>
</histogram>
<histogram base="true" name="Ash.UnlockAnimation.Jank" units="%"
expires_after="2022-04-17">
<owner>oshima@chromium.org</owner>
<owner>chromeos-wmp@google.com</owner>
<!-- Name completed by histogram_suffixes
name="TabletOrClamshellMode" -->
<summary>
Jank metrics of all animations applied during the unlock process. This
represents how often the frame update rate changed during animation.
</summary>
</histogram>
<histogram base="true" name="Ash.UnlockAnimation.Smoothness" units="%"
expires_after="2022-04-17">
<owner>oshima@chromium.org</owner>
<owner>chromeos-wmp@google.com</owner>
<!-- Name completed by histogram_suffixes
name="TabletOrClamshellMode" -->
<summary>
Relative smoothness of all animations applied during the unlock process.
100% represents the ideal smoothness for 60 frames per second.
</summary>
</histogram>
<histogram name="Ash.UserDataStatsRecorder.DataSize.TotalSize" units="MB"
expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
Records the size of the entire profile data directory. Collected upon
launching ash chrome.
</summary>
</histogram>
<histogram name="Ash.UserDataStatsRecorder.DataSize.{ItemName}" units="MB"
expires_after="M121">
<owner>ythjkt@chromium.org</owner>
<owner>hidehiko@chromium.org</owner>
<summary>
Records the size of each file/dir directly under user data directory.
</summary>
<token key="ItemName">
<variant name="AccountManagerTokensBin"/>
<variant name="Accounts"/>
<variant name="AffiliationDatabase"/>
<variant name="AppRankerPb"/>
<variant name="ArcApps"/>
<variant name="Autobrightness"/>
<variant name="AutofillStrikeDatabase"/>
<variant name="BlobStorage"/>
<variant name="Bookmarks"/>
<variant name="BrowserDataMigrator"/>
<variant name="BudgetDatabase"/>
<variant name="Cache"/>
<variant name="CodeCache"/>
<variant name="Cookies"/>
<variant name="CrostiniIcons"/>
<variant name="Databases"/>
<variant name="DataReductionProxyLeveldb"/>
<variant name="DNRExtensionRules"/>
<variant name="Downloads"/>
<variant name="DownloadService"/>
<variant name="ExtensionCookies"/>
<variant name="ExtensionInstallLog"/>
<variant name="ExtensionRules"/>
<variant name="Extensions"/>
<variant name="ExtensionState"/>
<variant name="Favicons"/>
<variant name="FeatureEngagementTracker"/>
<variant name="FileSystem"/>
<variant name="FullRestoreData"/>
<variant name="GCache"/>
<variant name="GCMStore"/>
<variant name="GoogleAssistantLibrary"/>
<variant name="GPUCache"/>
<variant name="HeavyAdInterventionOptOutDb"/>
<variant name="History"/>
<variant name="IndexedDB"/>
<variant name="LocalAppSettings"/>
<variant name="LocalExtensionSettings"/>
<variant name="LocalStorage"/>
<variant name="LOCK"/>
<variant name="LOG"/>
<variant name="LoginData"/>
<variant name="LoginDataForAccount"/>
<variant name="LoginTimes"/>
<variant name="LOGOld"/>
<variant name="LogoutTimes"/>
<variant name="ManagedExtensionSettings"/>
<variant name="MyFiles"/>
<variant name="NearbySharePublicCertificateDatabase"/>
<variant name="NetworkActionPredictor"/>
<variant name="NetworkPersistentState"/>
<variant name="OptimizationGuideHintCacheStore"/>
<variant name="OptimizationGuideModelAndFeaturesStore"/>
<variant name="PlatformNotifications"/>
<variant name="Policy"/>
<variant name="PPDCache"/>
<variant name="Preferences"/>
<variant name="PreferredApps"/>
<variant name="PreviewsOptOutDb"/>
<variant name="PrintJobDatabase"/>
<variant name="QuotaManager"/>
<variant name="README"/>
<variant name="ReportingAndNEL"/>
<variant name="RLZData"/>
<variant name="ServiceWorker"/>
<variant name="Sessions"/>
<variant name="SessionStorage"/>
<variant name="SharedProtoDb"/>
<variant name="Shortcuts"/>
<variant name="SiteCharacteristicsDatabase"/>
<variant name="Smartcharging"/>
<variant name="StructuredMetrics"/>
<variant name="SyncAppSettings"/>
<variant name="SyncData"/>
<variant name="SyncExtensionSettings"/>
<variant name="TopSites"/>
<variant name="TranslateRankerModel"/>
<variant name="TransportSecurity"/>
<variant name="TrustedVault"/>
<variant name="Unknown"/>
<variant name="VisitedLinks"/>
<variant name="WebApplications"/>
<variant name="WebData"/>
<variant name="WebrtcEventLogs"/>
<variant name="WebRTCLogs"/>
<variant name="ZeroStateGroupRankerPb"/>
<variant name="ZeroStateLocalFilesPb"/>
</token>
</histogram>
<histogram name="Ash.UserImage.URLLoaderDownloadSuccess" enum="BooleanSuccess"
expires_after="2023-10-08">
<owner>angelaxiao@google.com</owner>
<owner>updowndota@google.com</owner>
<summary>
Emitted when loading default user images from gstatic resources. Records
whether an image download attempt was successful or not.
</summary>
</histogram>
<histogram name="Ash.VideoConference.ReturnToApp.Click"
enum="VideoConferenceAppType" expires_after="2024-03-16">
<owner>leandre@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Records the app type of the media app that users want to return to when they
click the return to app button in the video conference panel.
</summary>
</histogram>
<histogram
name="Ash.VideoConference.ReturnToAppButton.FadeOut.AnimationSmoothness"
units="%" expires_after="2024-04-20">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Relative smoothness of the fade out animation of the return to app button
inside the video conference controls. 100% represents ideally smooth 60
frames per second. Emitted when the fade out animation is completed.
</summary>
</histogram>
<histogram
name="Ash.VideoConference.ReturnToAppPanel.BoundsChange.AnimationSmoothness"
units="%" expires_after="2024-04-20">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Relative smoothness of the bounds change animation of the return to app
panel inside the video conference controls. 100% represents ideally smooth
60 frames per second. Emitted when the bounds change animation is completed.
</summary>
</histogram>
<histogram name="Ash.VideoConference.{ViewName}.FadeIn.AnimationSmoothness"
units="%" expires_after="2024-04-20">
<owner>leandre@chromium.org</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Relative smoothness of the fade in animation of the {ViewName} inside the
video conference controls. 100% represents ideally smooth 60 frames per
second. Emitted when the fade in animation is completed.
</summary>
<token key="ViewName">
<variant name="ReturnToAppButton" summary="Return To App button"/>
<variant name="SummaryIcons" summary="Summary icons"/>
</token>
</histogram>
<histogram name="Ash.VideoConferenceTray.BackgroundBlur.Click"
enum="BackgroundBlurState" expires_after="2024-03-16">
<owner>leandre@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Records the background blur state that users want to switch to when they
choose a different value for background blur effect in the tab slider of the
video conference panel.
</summary>
</histogram>
<histogram name="Ash.VideoConferenceTray.StopScreenSharingButton.Click"
enum="BooleanClicked" expires_after="2024-03-16">
<owner>leandre@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when the stop screen share button in video conference tray is
clicked.
</summary>
</histogram>
<histogram name="Ash.VideoConferenceTray.ToggleBubbleButton.Click"
enum="BooleanOpened" expires_after="2024-03-16">
<owner>leandre@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when the toggle bubble button in video conference tray is clicked
to open/close the bubble.
</summary>
</histogram>
<histogram name="Ash.VideoConferenceTray.{Device}MuteButton.Click"
enum="BooleanMuted" expires_after="2024-03-16">
<owner>leandre@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when the {Device} mute button in video conference tray is clicked.
We will record if the user clicks the button to mute or to un-mute the
{Device}.
</summary>
<token key="Device">
<variant name="Camera" summary="camera"/>
<variant name="Microphone" summary="microphone"/>
</token>
</histogram>
<histogram name="Ash.VideoConferenceTray.{EffectName}.Click"
enum="BooleanEnabled" expires_after="2024-03-16">
<owner>leandre@google.com</owner>
<owner>cros-status-area-eng@google.com</owner>
<summary>
Recorded when the toggle button of {EffectName} in the video conference
bubble is clicked. We will record if the user clicks the button to enable or
disable the effect.
</summary>
<token key="EffectName">
<variant name="CameraFraming" summary="Camera Framing"/>
<variant name="LiveCaption" summary="Live Caption"/>
<variant name="NoiseCancellation" summary="Noise cancellation"/>
<variant name="PortraitRelighting" summary="Portrait Relighting"/>
<variant name="TestEffect" summary="Test Effect"/>
</token>
</histogram>
<histogram name="Ash.Wallpaper.Collection" enum="WallpaperCollection"
expires_after="2023-10-01">
<owner>jasontt@chromium.org</owner>
<owner>assistive-eng@google.com</owner>
<summary>
The wallpaper collection of the selected online wallpaper. Recorded each
time the online wallpaper image is selected, but not when wallpaper is
automatically refreshed.
</summary>
</histogram>
<histogram name="Ash.Wallpaper.CustomLayout" enum="WallpaperLayout"
expires_after="2023-08-27">
<owner>xiaohuic@chromium.org</owner>
<owner>assistive-eng@chromium.org</owner>
<summary>
The custom wallpaper layout type. Recorded when the user sets a new custom
wallpaper or changes the existing custom wallpaper's layout.
</summary>
</histogram>
<histogram name="Ash.Wallpaper.GooglePhotos.Api.{Api}.RefreshCount"
units="count" expires_after="2024-01-27">
<owner>thuongphan@google.com</owner>
<owner>cowmoo@google.com</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Records the refresh count for the request of the Google Photos API which
{Api} with a valid refresh token. The count increases each time a user
scrolls down to the end of the page to fetch more photos or albums from the
Google Photos API. Emitted only at the end of a session.
</summary>
<token key="Api" variants="GooglePhotosApi"/>
</histogram>
<histogram name="Ash.Wallpaper.GooglePhotos.Api.{Api}.ResponseTime.{Result}"
units="ms" expires_after="2022-11-15">
<owner>xiaohuic@google.com</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Records the response time for the {Result} request to the Google Photos API
which {Api}. Emitted only on {Result} parsing of the API response at the
moment parsing is completed.
</summary>
<token key="Api" variants="GooglePhotosApi"/>
<token key="Result">
<variant name="Failure" summary="failed"/>
<variant name="Success" summary="successful"/>
</token>
</histogram>
<histogram name="Ash.Wallpaper.GooglePhotos.Api.{Api}.Result"
enum="BooleanSuccess" expires_after="2022-11-15">
<owner>xiaohuic@google.com</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Records the result for the request to the Google Photos API which {Api}.
Emitted for both failed and successful parsing of the API request at the
moment parsing is completed.
</summary>
<token key="Api" variants="GooglePhotosApi"/>
</histogram>
<histogram name="Ash.Wallpaper.GooglePhotos.Api.{Api}.Result.Count"
units="results" expires_after="2022-11-15">
<owner>xiaohuic@google.com</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Records the result count for the response of the Google Photos API which
{Api}. Emitted only on successful parsing of the API response at the moment
parsing is completed.
</summary>
<token key="Api" variants="GooglePhotosApi"/>
</histogram>
<histogram name="Ash.Wallpaper.GooglePhotos.Source"
enum="WallpaperGooglePhotosSource" expires_after="2023-07-09">
<obsolete>
Replaced 01/2023 by Ash.Wallpaper.GooglePhotos.Source2.
</obsolete>
<owner>xiaohuic@google.com</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Records the section of the Wallpaper App from which a Google Photos
wallpaper was selected. Emitted regardless of the selection's success.
b/262449270: Adds new enums to record when a user picks a photo from owned
or shared albums with the Google Photos shared albums feature.
</summary>
</histogram>
<histogram name="Ash.Wallpaper.GooglePhotos.Source2"
enum="WallpaperGooglePhotosSource" expires_after="2024-01-30">
<owner>thuongphan@google.com</owner>
<owner>cowmoo@google.com</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Records the section of the Wallpaper App from which a Google Photos
wallpaper was selected. Emitted regardless of the selection's success.
</summary>
</histogram>
<histogram name="Ash.Wallpaper.Image" enum="WallpaperImage"
expires_after="2023-10-22">
<owner>jasontt@chromium.org</owner>
<owner>assistive-eng@google.com</owner>
<summary>
The selected online wallpaper. Recorded each time the online wallpaper image
is selected, but not when wallpaper is automatically refreshed.
</summary>
</histogram>
<histogram name="Ash.Wallpaper.Preview.Show" enum="BooleanHit"
expires_after="2024-02-13">
<owner>jasontt@chromium.org</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Tracks the preview mode usage for wallpaper. Recorded each time the
wallpaper image is previewed.
</summary>
</histogram>
<histogram name="Ash.Wallpaper.Source2" enum="WallpaperType"
expires_after="2023-10-22">
<owner>thuongphan@chromium.org</owner>
<owner>assistive-eng@google.com</owner>
<summary>
Recorded when a user attempts to set a wallpaper, either by the built-in
Wallpaper App, or by a third party App. Note the wallpaper change triggered
by Sync file system event doesn't count.
</summary>
</histogram>
<histogram name="Ash.Wallpaper.Type" enum="WallpaperType"
expires_after="2023-08-29">
<owner>kuscher@google.com</owner>
<owner>assistive-eng@google.com</owner>
<summary>
The wallpaper type. Recorded at user login.
This metric expired in April 2022 and was revived in August 2022. Data
between these times is incomplete.
</summary>
</histogram>
<histogram name="Ash.Window.AnimationSmoothness.CrossFade" units="%"
expires_after="2023-08-27">
<owner>sammiequon@chromium.org</owner>
<owner>wutao@chromium.org</owner>
<summary>
Relative smoothness of cross fade animation when setting window bounds. 100%
represents ideally smooth 60 frames per second. 50% represents when only 30
frames per second is achieved during the animations. 0% should not happen.
This metric is recorded exactly once when SetBoundsDirectCrossFade is
called, such as when window is maximized.
</summary>
</histogram>
<histogram name="Ash.Window.AnimationSmoothness.CrossFade.DragMaximize"
units="%" expires_after="2023-06-25">
<owner>sammiequon@chromium.org</owner>
<owner>xdai@chromium.org</owner>
<summary>
When dragging a maximized window, the window will shrink to restore bounds.
Dragging the window back to the top of the screen will expand the window.
This histogram is fired only if the window is initially maximized. If we
drag a normal window to maximized state, the animation smoothness will be
recorded in the regular cross fade histogram above. This histogram will be
recorded to measure the smoothenss of the expand animation. 100% represents
ideally smooth 60 frames per second. 50% represents when only 30 frames per
second is achieved during the animations. 0% should not happen.
</summary>
</histogram>
<histogram name="Ash.Window.AnimationSmoothness.CrossFade.DragUnmaximize"
units="%" expires_after="2023-06-25">
<owner>sammiequon@chromium.org</owner>
<owner>xdai@chromium.org</owner>
<summary>
When dragging a maximized window, the window will shrink to restore bounds.
This histogram is fired everytime we drag a maximized window to normal
state. This histogram will be recorded to measure the smoothness of the
shrink animation. 100% represents ideally smooth 60 frames per second. 50%
represents when only 30 frames per second is achieved during the animations.
0% should not happen.
</summary>
</histogram>
<histogram name="Ash.Window.AnimationSmoothness.Hide" units="%"
expires_after="2023-10-22">
<owner>sammiequon@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
Relative smoothness of hiding window animation. 100% represents ideally
smooth 60 frames per second. 50% represents when only 30 frames per second
is achieved during the animations. 0% should not happen. This metric is
recorded exactly once when AnimateHideWindowCommon is called, such as when
window is closed.
</summary>
</histogram>
<histogram name="Ash.Window.AnimationSmoothness.Minimize" units="%"
expires_after="2023-08-27">
<owner>oshima@chromium.org</owner>
<owner>sammiequon@chromium.org</owner>
<owner>chromeos-perfmetrics-eng@google.com</owner>
<summary>
Relative smoothness of minimizing window animation. 100% represents ideally
smooth 60 frames per second. 50% represents when only 30 frames per second
is achieved during the animations. 0% should not happen. This metric is
recorded exactly once when AnimateHideWindow_Minimize is called, such as
when window is minimized.
</summary>
</histogram>
<histogram name="Ash.Window.AnimationSmoothness.Snap" units="%"
expires_after="2023-06-25">
<owner>oshima@chromium.org</owner>
<owner>sammiequon@chromium.org</owner>
<summary>
Relative smoothness of snapping window animation. 100% represents ideally
smooth 60 frames per second. 50% represents when only 30 frames per second
is achieved during the animations. 0% should not happen. This metric is
recorded exactly once when a window is snapped to the left or right in
clamshell mode using the alt + [ or ] accelerator, but only if the size of
the window's bounds change.
</summary>
</histogram>
<histogram name="Ash.Window.AnimationSmoothness.Unminimize" units="%"
expires_after="2023-06-25">
<owner>oshima@chromium.org</owner>
<owner>sammiequon@chromium.org</owner>
<owner>chromeos-perfmetrics-eng@google.com</owner>
<summary>
Relative smoothness of unminimizing window animation. 100% represents
ideally smooth 60 frames per second. 50% represents when only 30 frames per
second is achieved during the animations. 0% should not happen. This metric
is recorded exactly once when AnimateShowWindow_Minimize is called, such as
when window is unminimized.
</summary>
</histogram>
<histogram name="Ash.Window.DragMaximized.NumberOfMisTriggers" units="units"
expires_after="2023-10-08">
<owner>conniekxu@chromium.org</owner>
<owner>xdai@chromium.org</owner>
<owner>nupurjain@chromium.org</owner>
<summary>
Emitted when a window state is being destroyed. Records number of
mis-triggers of the drag to maximize behavior for a window during its
lifetime.
</summary>
</histogram>
<histogram name="Ash.Window.DragMaximized.Valid" enum="Boolean"
expires_after="2023-10-08">
<owner>conniekxu@chromium.org</owner>
<owner>xdai@chromium.org</owner>
<owner>nupurjain@chromium.org</owner>
<summary>
This boolean keeps tracking if a drag to maximize behavior is valid or not.
Emits true if a window is dragged to maximized and stays maximized status
over 5 seconds. If a window is dragged to maximized, but gets restored
during 5 seconds, the drag to maximize behavior should be considered as
invalid and a mis-trigger.
</summary>
</histogram>
<histogram name="Ash.Window.PartialSplitDuration" units="minutes"
expires_after="2023-11-20">
<owner>nupurjain@chromium.org</owner>
<owner>sophiewen@chromium.org</owner>
<summary>
The amount of time a user keeps a partial split window open and visible.
Starts recording when a user partial splits through the multitask menu, or
activates a desk that contains a partial window. Ends recording when the
window is closed, changes window state, is snapped/dragged/resized to a
non-partial snap ratio, gets moved to an inactive desk, or a different desk
is activated.
</summary>
</histogram>
<histogram name="Ash.Window.Snap.DeviceOrientation" enum="DeviceOrientation"
expires_after="2023-08-27">
<owner>cattalyya@chromium.org</owner>
<owner>afakhry@chromium.org</owner>
<owner>nupurjain@chromium.org</owner>
<owner>fanafan@chromium.org</owner>
<summary>
Emitted when the user snaps the window to record whether window snap is used
while the display orientation is portrait or landscape mode.
</summary>
</histogram>
<histogram name="Ash.WindowCycleController.DesksSwitchDistance" units="units"
expires_after="2023-08-27">
<owner>afakhry@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
Emitted when the user ends window cycling via Alt-Tab, if and only if user
had 2 or more desks and a new window was activated, to report the distance
between the active desks before and after window cycling. A distance of 0
means no desks switch occurred.
</summary>
</histogram>
<histogram name="Ash.WindowCycleController.InitialMode" enum="AltTabMode"
expires_after="2023-09-10">
<owner>afakhry@chromium.org</owner>
<owner>xdai@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
Emitted when the user starts Alt-Tab, if and only if user had 2 or more
desks and Bento is not disabled, to report the initial alt-tab mode, which
signals user's saved and preferred mode.
</summary>
</histogram>
<histogram name="Ash.WindowCycleController.Items" units="items"
expires_after="2023-09-03">
<owner>sammiequon@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<owner>xdai@chromium.org</owner>
<summary>
The number of windows in the Alt+Tab selector. Only recorded once when
cycling starts, not every time when Tab is pressed without releasing Alt.
</summary>
</histogram>
<histogram name="Ash.WindowCycleController.ModeSwitchSource"
enum="AltTabModeSwitchSource" expires_after="2023-10-01">
<owner>afakhry@chromium.org</owner>
<owner>xdai@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
Emitted when the user switches the Alt-Tab mode, if and only if user had 2
or more desks and Bento is not disabled, to report whether the user switches
the mode via a click or keyboard.
</summary>
</histogram>
<histogram name="Ash.WindowCycleController.SameApp.DeskMode" enum="AltTabMode"
expires_after="2024-01-03">
<owner>andp@chromium.org</owner>
<owner>benbecker@chromium.org</owner>
<owner>nupurjain@chromium.org</owner>
<summary>
Emitted when same app window cycling ends, if and only if user had 2 or more
desks and Bento is not disabled, to report the same-desk vs all-desk mode
selection.
</summary>
</histogram>
<histogram name="Ash.WindowCycleController.SameApp.IsSameApp" enum="Boolean"
expires_after="2024-01-03">
<owner>andp@chromium.org</owner>
<owner>benbecker@chromium.org</owner>
<owner>nupurjain@chromium.org</owner>
<summary>
Emits true when a same-app cycling session is started and false when a
normal cycling session is started.
</summary>
</histogram>
<histogram name="Ash.WindowCycleController.SameApp.SkippedWindows"
units="windows" expires_after="2024-01-03">
<owner>andp@chromium.org</owner>
<owner>benbecker@chromium.org</owner>
<owner>nupurjain@chromium.org</owner>
<summary>
The number of windows the user didn't have to tab through because they were
using Alt-Backtick instead of Alt-Tab. Recorded as the number of
non-same-app windows in the ending MRU list between the starting and chosen
window in the initial cycling direction.
</summary>
</histogram>
<histogram name="Ash.WindowCycleController.SwitchMode" enum="AltTabMode"
expires_after="2023-09-03">
<owner>afakhry@chromium.org</owner>
<owner>xdai@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<summary>
Emitted when the user switches the Alt-Tab mode from a click or keyboard, if
and only if user had 2 or more desks and Bento is not disabled, to report
the alt-tab mode the user switches to.
</summary>
</histogram>
<histogram name="Ash.WindowCycleController.TimeBetweenTaskSwitches"
units="seconds" expires_after="2023-08-27">
<owner>sammiequon@chromium.org</owner>
<owner>tclaiborne@chromium.org</owner>
<owner>xdai@chromium.org</owner>
<summary>
The number of seconds between task switches triggered by the next window and
previous window accelerator keys (ie Alt+Tab, Alt+Shift+Tab).
</summary>
</histogram>
<histogram name="Ash.WindowCycleView.AnimationSmoothness.Container" units="%"
expires_after="2024-02-22">
<owner>yichenz@chromium.org</owner>
<owner>chromeos-wmp@google.com</owner>
<summary>
Relative smoothness of showing window animation when the window cycle view
moves the next window into position when alt + tab is pressed. 100%
represents ideally smooth 60 frames per second. 50% represents when only 30
frames per second is achieved during the animations. 0% should not happen.
Warning: this histogram was expired from 2022-04-10 to 2023-02-22; data may
be missing.
</summary>
</histogram>
<histogram name="Ash.WindowCycleView.AnimationSmoothness.Show" units="%"
expires_after="2024-02-22">
<owner>yichenz@chromium.org</owner>
<owner>chromeos-wmp@google.com</owner>
<summary>
Relative smoothness of showing window animation when the window cycle view
starts. 100% represents ideally smooth 60 frames per second. 50% represents
when only 30 frames per second is achieved during the animations. 0% should
not happen.
Warning: this histogram was expired from 2022-04-10 to 2023-02-22; data may
be missing.
</summary>
</histogram>
<histogram name="Ash.WindowDragFromShelfResult" enum="ShelfWindowDragResult"
expires_after="2023-10-08">
<owner>andrewxu@chromium.org</owner>
<owner>tbarzic@chromium.org</owner>
<summary>
The final state after window drag gesture that started from the system shelf
in tablet mode.
</summary>
</histogram>
<histogram name="Ash.WindowManager.Lock.Success" units="ms"
expires_after="2023-08-13">
<owner>antrim@chromium.org</owner>
<owner>cros-lurs@google.com</owner>
<summary>
How long it took for the screen lock process to complete. This does not
include timeouts. Warning: this histogram was expired from M78 till M104.
</summary>
</histogram>
<histogram name="Ash.WindowManager.Lock.Timeout" units="ms"
expires_after="2023-04-23">
<owner>antrim@chromium.org</owner>
<owner>cros-lurs@google.com</owner>
<summary>
How long it took for the screen lock process to complete, for timeouts only.
Warning: this histogram was expired from M78 till M104.
</summary>
</histogram>
<histogram name="Ash.Wm.MultiWindowResizerClick" enum="Boolean"
expires_after="2023-11-25">
<owner>michelefan@chromium.org</owner>
<owner>xdai@chromium.org</owner>
<summary>
Emits true if the resize widget is clicked to start the resizing while in
mulit-window resizing mode.
</summary>
</histogram>
<histogram name="Ash.Wm.MultiWindowResizerClickTwoWindowsSnapped"
enum="Boolean" expires_after="2023-11-15">
<owner>michelefan@chromium.org</owner>
<owner>xdai@chromium.org</owner>
<summary>
Emits true if the resize widget is clicked to start the resizing while in
mulit-window resizing mode.
</summary>
</histogram>
<histogram name="Ash.Wm.MultiWindowResizerShow" enum="Boolean"
expires_after="2023-11-15">
<owner>michelefan@chromium.org</owner>
<owner>xdai@chromium.org</owner>
<summary>
Emits true if the resize widget shows on mouse hover on the ResizeWindows.
</summary>
</histogram>
<histogram name="Ash.Wm.MultiWindowResizerShowTwoWindowsSnapped" enum="Boolean"
expires_after="2023-11-15">
<owner>michelefan@chromium.org</owner>
<owner>xdai@chromium.org</owner>
<summary>
Emits true if the resize widget shows on mouse hover on the ResizeWindows
and the two windows of the ResizeWindows are snapped.
</summary>
</histogram>
<histogram name="Ash.Wm.WindowSnapActionSource"
enum="DeprecatedWindowSnapActionSource" expires_after="2023-05-03">
<obsolete>
Deprecated Apr 2023. See the new metrics Ash.Wm.WindowSnapActionSource2.
</obsolete>
<owner>xdai@chromium.org</owner>
<owner>nupurjain@chromium.org</owner>
<summary>
Emitted when a window is to be snapped. Records different ways for a user to
snap a window. Deprecated.
</summary>
</histogram>
<histogram name="Ash.Wm.WindowSnapActionSource2" enum="WindowSnapActionSource"
expires_after="2024-04-21">
<owner>xdai@chromium.org</owner>
<owner>nupurjain@chromium.org</owner>
<summary>
Emitted when a window is to be snapped. Records different ways for a user to
snap a window.
</summary>
</histogram>
</histograms>
</histogram-configuration>