<!--
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 Arc 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
[email protected].
-->
<histogram-configuration>
<histograms>
<variants name="AnrPeriods">
<variant name="First10MinutesAfterStart"
summary="10 minutes after ARC start."/>
<variant name="Per4Hours"
summary="Regular per 4 hours of ARC active session including session
restarts. This also includes period First10MinutesAfterStart"/>
</variants>
<variants name="ArcAccessibilityFeatures">
<variant name="DockedMagnifier"/>
<variant name="FullscreenMagnifier"/>
<variant name="SelectToSpeak"/>
<variant name="SpokenFeedback" summary="SpokenFeedback without Talkback"/>
<variant name="SwitchAccess"/>
<variant name="TalkBack"/>
</variants>
<variants name="ArcAppInstallTypes">
<variant name="Manual" summary="app manually installed by the user"/>
<variant name="Policy" summary="app installed by a managed user's policy"/>
</variants>
<variants name="ArcAppKillDailyBackgroundVms">
<variant name="" summary="Total"/>
<variant name=".Crostini" summary="When Crostini is also running"/>
<variant name=".OnlyArc" summary="When no other VMs are running"/>
<variant name=".PluginVm" summary="When a plugin VM is also running"/>
<variant name=".Steam" summary="When Steam is also running"/>
<variant name=".UnknownVm" summary="When an unknown VM is also running"/>
</variants>
<variants name="ArcAppKillDailyType">
<variant name=".CachedDaily" summary="with cached priority"/>
<variant name=".ForegroundDaily" summary="when foreground"/>
<variant name=".OomDaily" summary="by Linux's OOM killer"/>
<variant name=".PerceptibleDaily" summary="when perceptible"/>
</variants>
<variants name="ArcAppKillType">
<variant name="LinuxOOM" summary="ARCVM's Linux OOM Killer"/>
<variant name="LMKD.Cached"
summary="LMKD with oom_score_adj >= CACHED_APP_MIN_ADJ"/>
<variant name="LMKD.Foreground"
summary="LMKD with oom_score_adj <= FOREGROUND_APP_ADJ"/>
<variant name="LMKD.Perceptible"
summary="LMKD with FOREGROUND_APP_ADJ < oom_score_adj <
CACHED_APP_MIN_ADJ"/>
<variant name="Pressure.Cached"
summary="ApplyHostMemoryPressure with ProcessState >=
PROCESS_STATE_CACHED_ACTIVITY"/>
<variant name="Pressure.Foreground"
summary="ApplyHostMemoryPressue with ProcessState <
PROCESS_STATE_TOP or ProcessState == PROCESS_STATE_TOP and
focused"/>
<variant name="Pressure.Perceptible"
summary="ApplyHostMemoryPressure with PROCESS_STATE_TOP <=
ProcessState < PROCESS_STATE_CACHED_ACTIVITY and not
focused"/>
</variants>
<variants name="ArcBackgroundVms">
<variant name="Crostini" summary="Crostini is also running"/>
<variant name="OnlyArc" summary="no other VMs are running"/>
<variant name="PluginVm" summary="a plugin VM is also running"/>
<variant name="Steam" summary="Steam is also running"/>
<variant name="UnknownVm" summary="an unknown type of VM is also running"/>
</variants>
<variants name="ArcBootTypes">
<variant name="FirstBoot" summary="For the very first boot, aka opt-in."/>
<variant name="FirstBootAfterUpdate"
summary="For the first boot after Chrome OS update."/>
<variant name="RegularBoot" summary="For a regular boot."/>
</variants>
<variants name="ArcPerformanceAppCategories">
<variant name=".AmongUs" summary="Casual game 2: Among Us"/>
<variant name=".CandyCrush" summary="Casual game 2: Candy Crush"/>
<variant name=".FIFAMobile" summary="Online game: FIFA Mobile"/>
<variant name=".GachaClub" summary="Casual game 2: Gacha Club"/>
<variant name=".GarenaFreeFire" summary="Shooter game: Garena Free Fire"/>
<variant name=".GenshinImpact" summary="Online game: Genshin Impact"/>
<variant name=".Homescapes" summary="Casual game 2: Homescapes"/>
<variant name=".MinecraftConsumerEdition"
summary="Online game 2: Minecraft: Consumer Edition"/>
<variant name=".MinecraftEducationEdition"
summary="Online game 2: Minecraft: Education Edition"/>
<variant name=".Netflix" summary="Video playback app: Netflix"/>
<variant name=".PUBGMobile" summary="Heavy Game: PUBG Mobile"/>
<variant name=".RaidLegends" summary="Online game: Raid: Shadow Legends"/>
<variant name=".Roblox" summary="Online game: Roblox"/>
<variant name=".TocaLife" summary="Online game: Toca Life"/>
<variant name=".Underlords" summary="Online game: Underlords"/>
</variants>
<variants name="ArcSyncAppTypes">
<variant name="Expected" summary="Apps expected to be synced"/>
<variant name="Installed" summary="Apps installed"/>
<variant name="NotInstalled"
summary="Apps that were expected but not installed"/>
</variants>
<variants name="ArcUserTypes">
<variant name=".Child" summary="User with child accounts."/>
<variant name=".DemoMode"
summary="Demo devices with a demo mode robot account."/>
<variant name=".Managed" summary="User with forced Play Store feature"/>
<variant name=".OfflineDemoMode"
summary="Offline enrolled demo mode devices."/>
<variant name=".RobotAccount"
summary="Managed devices with a robot account (Public Session or Kiosk)"/>
<variant name=".Unmanaged" summary="User with optional Play Store feature"/>
</variants>
<variants name="ArcVmDataMigrationType">
<variant name="NewMigration" summary="new migration"/>
<variant name="ResumeMigration" summary="resume migration"/>
</variants>
<variants name="ChromeOSAppType">
<variant name="ArcApp"/>
<variant name="Browser"/>
<variant name="ChromeApp"/>
<variant name="CrostiniApp"/>
<variant name="Others"/>
<variant name="SystemApp"/>
</variants>
<variants name="DeferArcActivationType">
<variant name="Deferred"/>
<variant name="NotDeferred"/>
</variants>
<variants name="DeviceType">
<variant name="Rtc"/>
<variant name="VirtioBalloon"/>
<variant name="VirtioBlock"/>
<variant name="VirtioFs"/>
<variant name="VirtioGpu"/>
<variant name="VirtioNet"/>
<variant name="VirtioOther"/>
<variant name="VirtioVsock"/>
<variant name="VirtioWayland"/>
</variants>
<variants name="SuccessFailure">
<variant name=".Failure" summary="Operation failed"/>
<variant name=".Success" summary="Operation succeeded"/>
</variants>
<variants name="TimedCloudDpcOp">
<variant name=".DeviceSetup"
summary="Step during ManagedProvisioning app to setup the device"/>
<variant name=".SetupService.AddAccount"
summary="Step during the setup service that adds the account"/>
<variant name=".SetupService.InstallApps"
summary="Step during the setup service that installs apps"/>
<variant name=".SetupService.PullAndApplyPolicies"
summary="Step during the setup service that pulls and applies policies"/>
<variant name=".SetupService.Total"
summary="All steps that occur during the setup service"/>
</variants>
<variants name="WaylandEventType">
<variant name=".BinderReleaseClipboardData"
summary="Clipboard data released"/>
<variant name=".Other" summary="Unspecified event"/>
<variant name=".WlBufferRelease" summary="Fenced buffer released"/>
<variant name=".WlKeyboardLeave" summary="Input keyboard leave"/>
<variant name=".WlPointerLeave" summary="Input pointer leave"/>
<variant name=".WlPointerMotion" summary="Input pointer motion"/>
<variant name=".ZauraShellActivated" summary="Aura shell activated"/>
<variant name=".ZauraSurfaceOcclusionChanged"
summary="Surface occlusion changed"/>
<variant name=".ZcrRemoteSurfaceBoundsChangedInOutput"
summary="Window bounds changed"/>
<variant name=".ZcrRemoteSurfaceWindowGeometryChanged"
summary="Window geometry changed"/>
<variant name=".ZcrVsyncTimingUpdate" summary="Vsync update"/>
</variants>
<histogram name="Arc.AbiMigration.BootTime" units="ms"
expires_after="2024-12-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Time taken for ARC to boot during an Abi Migration event. Warning: this
histogram was expired from 08/04/2022 to 07/12/2023; data may be missing.
</summary>
</histogram>
<histogram name="Arc.AbiMigration.DowngradeDelay" units="ms"
expires_after="2024-09-15">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Time taken by ArcAbiMigrationService specifically to downgrade system
packages. Warning: this histogram was expired from 08/04/2022 to 07/12/2023;
data may be missing.
</summary>
</histogram>
<histogram name="Arc.AbiMigration.Event" enum="ArcCorePriAbiMigEvent"
expires_after="2024-09-15">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records event type for ArcAbiMigrationService during Abi Migration. Warning:
this histogram was expired from 08/04/2022 to 07/12/2023; data may be
missing.
</summary>
</histogram>
<histogram name="Arc.AbiMigration.FailedAttempts" units="units"
expires_after="2024-07-13">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the number of failed attempts in trying to perform Primary Abi
Migration. Warning: this histogram was expired from 08/04/2022 to
07/12/2023; data may be missing.
</summary>
</histogram>
<histogram name="Arc.Accessibility.ActiveTime.{ArcAccessibilityFeatures}"
units="ms" expires_after="2025-04-24">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
For each window, measure the time that the window is focused with
{ArcAccessibilityFeatures} enabled. This metric is recorded when the window
loses focus or the window is closed.
</summary>
<token key="ArcAccessibilityFeatures" variants="ArcAccessibilityFeatures"/>
</histogram>
<histogram name="Arc.Accessibility.WindowCount" enum="ArcAccessibilityFeature"
expires_after="2025-05-19">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Count the number of windows with accessibility features enabled when a
window is opened or an accessibility feature is enabled while windows exist.
</summary>
</histogram>
<histogram name="Arc.AdbSideloadingEnablingScreen"
enum="AdbSideloadingPromptEvent" expires_after="2024-07-07">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Record user's choice or error during ADB sideloading opt-in UI after reboot.
This histogram was expired between 2022-05-01 and 2023-09-07. Data might be
missing or incomplete for this period.
</summary>
</histogram>
<histogram name="Arc.AndroidBootTime" units="ms" expires_after="2025-01-19">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>The time elapsed for booting up the ARC instance.</summary>
</histogram>
<histogram name="Arc.Anr.{AnrPeriod}" units="ANRs" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
ANR rate separated by {AnrPeriod} as ANR count happened in this period.
</summary>
<token key="AnrPeriod" variants="AnrPeriods"/>
</histogram>
<histogram name="Arc.Anr.{AnrPeriod}.{ArcBootType}" units="ANRs"
expires_after="2025-01-19">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
ANR rate separated by {AnrPeriod} and {ArcBootType} as ANR count happened in
this period.
</summary>
<token key="AnrPeriod" variants="AnrPeriods"/>
<token key="ArcBootType" variants="ArcBootTypes"/>
</histogram>
<histogram name="Arc.Anr.{AnrSource}" enum="ArcAnr" expires_after="2025-01-19">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Counts ANR events in the system separated by ANR type and {AnrSource}.
</summary>
<token key="AnrSource">
<variant name="ArcAppLauncher" summary="ARC App launcher."/>
<variant name="ArcOther" summary="Other ARC components."/>
<variant name="FirstParty" summary="First party Google apps."/>
<variant name="GmsCore" summary="GMS Core."/>
<variant name="Other" summary="Other apps."/>
<variant name="Overall" summary="Total statistics."/>
<variant name="PlayStore" summary="Play Store."/>
<variant name="PreNotified" summary="Pre-ANR situation is notified."/>
<variant name="RecoveryFailed"
summary="Recovery failed for pre-ANR situation."/>
<variant name="SystemApp" summary="System components."/>
<variant name="SystemServer" summary="System Server."/>
</token>
</histogram>
<histogram name="Arc.App.GmsCoreKill.{ArcBootType}" enum="ArcAppGmsKillType"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Counts the types of app kills caused by GMS core updates {ArcBootType}. See
go/gmscore-killed-my-app. Emitted when the GMS core update is done.
</summary>
<token key="ArcBootType" variants="ArcBootTypes"/>
</histogram>
<histogram name="Arc.App.LowMemoryKills.{ArcAppKillType}Count10Minutes"
units="Apps" expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Number of ARC Apps killed by {ArcAppKillType} in each interval of 10
minutes.
</summary>
<token key="ArcAppKillType" variants="ArcAppKillType"/>
</histogram>
<histogram
name="Arc.App.LowMemoryKills.{ArcBackgroundVms}.{ArcAppKillType}Count10Minutes"
units="Apps" expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Number of ARC Apps killed by {ArcAppKillType} in each interval of 10 minutes
when {ArcBackgroundVms}.
</summary>
<token key="ArcAppKillType" variants="ArcAppKillType"/>
<token key="ArcBackgroundVms" variants="ArcBackgroundVms"/>
</histogram>
<histogram
name="Arc.App.LowMemoryKills{ArcAppKillDailyBackgroundVms}{ArcAppKillDailyType}"
units="Apps" expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Number of ARC Apps killed each day {ArcAppKillDailyType}.
{ArcAppKillDailyBackgroundVms}.
</summary>
<token key="ArcAppKillDailyType" variants="ArcAppKillDailyType"/>
<token key="ArcAppKillDailyBackgroundVms"
variants="ArcAppKillDailyBackgroundVms"/>
</histogram>
<histogram name="Arc.App.PrimaryAbi" enum="AppPrimaryAbi"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Emitted for each app launched with ArcAppLauncher. Records the primary ABI
used for the app. This will let us know if 32-bit binaries are still being
used or if 32-bit support is not needed anymore.
</summary>
</histogram>
<histogram name="Arc.AppCount" units="units" expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of ARC apps open at any given time. Collected every 5 minutes.
This indicates both how many users are engaging with apps and, when they do
engage, how many apps they are engaging with at a time.
</summary>
</histogram>
<histogram name="Arc.AppCount.HasInstalledOrUnknownApp" enum="Boolean"
expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
True if the user (or Chrome app sync) has manually installed one or more
apps. See Arc.AppCount.InstalledApp for more details. UnknownApp is
deprecated and has never been collected. Collected once every time when ARC
starts.
</summary>
</histogram>
<histogram name="Arc.AppCount.{AppType}" units="apps"
expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of Ash Chrome managed ARC {AppType} Collected once every time
when ARC starts.
</summary>
<token key="AppType">
<variant name="DefaultApp"
summary="default apps. Either PAI or one in system/vendor image. Can
be 1+ even for opt-out users."/>
<variant name="InstalledApp"
summary="apps which the user has manually installed. This includes
the one installed via Chrome app sync. 0 for opt-out users."/>
<variant name="StickyApp"
summary="sticky apps in a system/vendor image. This is always 0 for
opt-out users."/>
<variant name="VpnApp" summary="apps that provide vpn."/>
</token>
</histogram>
<histogram name="Arc.AppInstall.CacheHit" enum="BooleanCacheHit"
expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether APK Cache had a hit or miss for an app install request. This
metric is recorded when app is being installed for an affiliated managed
user.
</summary>
</histogram>
<histogram name="Arc.AppInstall.PolicySuccessRate" units="%"
expires_after="2025-01-30">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Record the success rate for all apps within a single policy. This will allow
us to understand the reliability of force installs for a single customer.
The metric is emitted when success/failure results are received for all apps
in a policy or when 30 minutes have elapsed since the policy was received.
</summary>
</histogram>
<histogram
name="Arc.AppInstall.{ArcAppInstallTypes}.InitialSession.NumAppsIncomplete"
units="apps" expires_after="2024-09-15">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Record the number of {ArcAppInstallTypes} that did not complete after the
very first login on a device. This metric is recorded when the ARC session
is stopped IFF it is the first session after opting in during the sync
consent screen.
</summary>
<token key="ArcAppInstallTypes" variants="ArcAppInstallTypes"/>
</histogram>
<histogram
name="Arc.AppInstall.{ArcAppInstallTypes}.InitialSession.NumAppsRequested"
units="apps" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Record the number of {ArcAppInstallTypes} that were requested after the very
first login on a device. This metric is recorded when the ARC session is
stopped IFF it is the first session after opting in during the sync consent
screen.
</summary>
<token key="ArcAppInstallTypes" variants="ArcAppInstallTypes"/>
</histogram>
<histogram name="Arc.AppInstall.{ArcAppInstallTypes}.InitialSession.TimeDelta"
units="ms" expires_after="2024-09-15">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Record the length of time it took to complete installation for one
{ArcAppInstallTypes} after the very first login on a device. This metric is
recorded when the install succeeds IFF it is the first session after opting
in during the sync consent screen.
</summary>
<token key="ArcAppInstallTypes" variants="ArcAppInstallTypes"/>
</histogram>
<histogram name="Arc.AppInstalledReason" enum="InstallationCounterReasonEnum"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Record a reason when an arc application completes installation successfully,
including policy based applications, default applications and user prompted
installations. Warning: this histogram was expired from 09/01/2021 to
10/01/2021; data may be missing.
</summary>
</histogram>
<histogram name="Arc.AppLanguageSwitch.{SettingsPage}.TargetLanguage"
enum="LocaleCodeISO639" expires_after="2025-01-12">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Record the settings page source when users change app language, and which
language users changed the language to.
</summary>
<token key="SettingsPage">
<variant name="AppsManagementPage"
summary="ChromeOS AppsManagement settings page"/>
<variant name="LanguagesPage" summary="ChromeOS Languages settings page"/>
</token>
</histogram>
<histogram name="Arc.AppRequestedInSession" units="count"
expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Number of requests of ARC app launching in a user session.
Note: this is emitted at the beginning of the next user session. This is
because ash-chrome may be shutdown unexepctedly (incl. crashes), so emit the
value at the end of the user session is not reliable enough. Instead, the
number of requests are tracked and stored in the PrefService to survive
chrome restart, and the value is emitted in the next user session.
</summary>
</histogram>
<histogram name="Arc.AppShortcutSearchResult.ShortcutStatus"
enum="ArcAppShortcutStatus" expires_after="2025-02-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Emitted for each ARC app shortcut search result. Records whether the icon is
empty. This will let us know how often the Google Play Store icon is shown
in place of a shortcut.
</summary>
</histogram>
<histogram name="Arc.AppShortcutsRequest.ShortcutStatus"
enum="ArcAppShortcutStatus" expires_after="2025-02-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Emitted for each requested ARC app shortcut. Records whether the icon is
empty. This will let us know how often the Google Play Store icon is shown
in place of a shortcut.
</summary>
</histogram>
<histogram name="Arc.AppsInstalledAtStartup" units="App Count"
expires_after="2024-07-11">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Total number of ARC apps installed on a device measured at startup. Note:
This includes launchable apps that are installed by default, such as Play
Store and Settings, as well as any vendor specific apps.
Warning: this histogram was expired after M92 and brought back 2021-09-17;
expired after M99 and brought back 2022-12-07, then expired after M114 and
brought back 2023-07-11; data may be missing.
</summary>
</histogram>
<histogram name="Arc.AppSync.InitialSession.InstalledAppSize" units="MB"
expires_after="2025-01-02">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the app size of apps installed during the initial session of app
sync. Metrics are emitted when an app sync install is completed IFF it is
the first session after opting in during the sync consent screen.
</summary>
</histogram>
<histogram name="Arc.AppSync.InitialSession.Latency" units="seconds"
expires_after="2025-01-02">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time from the start of app sync until the last finished
installation before the session ended. This is not the latency for total app
sync, since total app sync may occur over multiple sessions. Metrics are
emitted when a user logs off IFF it is the first session after opting in
during the sync consent screen.
</summary>
</histogram>
<histogram name="Arc.AppSync.InitialSession.NumApps{ArcSyncAppTypes}"
units="apps" expires_after="2025-01-02">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the count of {ArcSyncAppTypes} apps during the initial session for
app sync. Metrics are emitted when a user logs off IFF it is the first
session after opting in during the sync consent screen.
</summary>
<token key="ArcSyncAppTypes" variants="ArcSyncAppTypes"/>
</histogram>
<histogram name="Arc.AppUninstallReason" enum="UninstallCounterReasonEnum"
expires_after="2024-12-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Record a reason why an application was uninstalled when uninstall is
completed. Warning: this histogram was expired from 09/01/2021 to 10/01/2021
and from 2023-06-04 to 2023-08-18; data may be missing.
</summary>
</histogram>
<histogram name="Arc.ArcFeatures.ParseResult" enum="ArcFeaturesParseResult"
expires_after="2024-11-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the result of parsing the ARC Features JSON file off rootfs.
Recorded every time the file is parsed, which most commonly happens during
OOBE.
</summary>
</histogram>
<histogram name="Arc.ArcOnDemand.ActivationIsDelayed" enum="Boolean"
expires_after="2025-05-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether ARC activation is delayed by ARC on Demand or not. Recorded
on a regular boot.
</summary>
</histogram>
<histogram name="Arc.ArcOnDemandV2.ActivationShouldBeDelayed" enum="Boolean"
expires_after="2025-05-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Recorded during every regular boot, regardless of feature flag. Returns
whether the ArcOnDemandV2 triggering condition is met (ARC should be
activated later in an on-demand manner). This is different from
ActivationIsDelayed as this focuses on the triggering conditions without
taking into acccount the feature flag.
</summary>
</histogram>
<histogram name="Arc.Auth.AccountCheck.Status{ArcUserTypes}"
enum="ArcAuthAccountCheckStatus" expires_after="never">
<!-- expires-never: Needed for long-term health monitoring of ARC provisioning. -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The status of account check before GMS Sign-in. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes"/>
</histogram>
<histogram name="Arc.Auth.AccountCheck.TimeDelta{ArcUserTypes}" units="ms"
expires_after="never">
<!-- expires-never: Needed for long-term health monitoring of ARC provisioning. -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time waiting for the account status check to be completed. This is
not recorded in case of account status check failure. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes"/>
</histogram>
<histogram name="Arc.Auth.Checkin.Attempts{ArcUserTypes}" units="attempts"
expires_after="never">
<!-- expires-never: Needed for long-term health monitoring of ARC provisioning. -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Number of attempts done while waiting for the check-in task to be completed.
0 means that device was already checked-in. This is recorded in case
check-in task is completed successfully. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes"/>
</histogram>
<histogram name="Arc.Auth.Checkin.TimeDelta{ArcUserTypes}" units="ms"
expires_after="never">
<!-- expires-never: Needed for long-term health monitoring of ARC provisioning. -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time waiting for the check-in task to be completed. This is recorded
in case check-in task is completed successfully. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes"/>
</histogram>
<histogram name="Arc.Auth.MainAccountHashMigration.Status"
enum="ArcMainAccountHashMigrationStatus" expires_after="2024-09-11">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Contains the status of the main account hash migration resolution. We record
this metric when migrating the main account hash from java hashcode to use a
cryptographic hash. This is done at the bootup time.
</summary>
</histogram>
<histogram name="Arc.Auth.MainAccountResolution.Status{ArcUserTypes}"
enum="ArcAuthMainAccountResolutionStatus" expires_after="2025-02-23">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Contains the status of main account resolution. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.Auth.NetworkWait.TimeDelta{ArcUserTypes}" units="ms"
expires_after="never">
<!-- expires-never: Needed for long-term health monitoring of ARC provisioning. -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time waiting for network connection before starting other
authorization operations. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes"/>
</histogram>
<histogram name="Arc.Auth.NumAccounts" units="count" expires_after="2025-01-12">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Tracks the number of accounts in ARC. This is recorded only once per
session, at login time.
</summary>
</histogram>
<histogram name="Arc.Auth.PercentAccounts" units="%" expires_after="2024-09-11">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Tracks the percentage of the accounts in session that are also available in
ARC. This is recorded only once per session, at login time.
</summary>
</histogram>
<histogram name="Arc.Auth.Reauth.Reason{ArcUserTypes}"
enum="ArcAuthReauthReason" expires_after="never">
<!-- expires-never: Needed for long-term health monitoring of ARC provisioning. -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records why ARC restarted the provisioning flow by reauthenticating and
adding the user to ARC. This happens when ARC detects missing AndroidID or
primary user in the Account Manager. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes"/>
</histogram>
<histogram name="Arc.Auth.RequestAccountInfoResult.Primary"
enum="ArcAuthCodeStatus" expires_after="2025-09-11">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Contains the status of the account info and auth code fetch for primary
account. Recorded when ARC requests account information (e.g. when account
is added, when token is updated).
</summary>
</histogram>
<histogram name="Arc.Auth.RequestAccountInfoResult.Secondary"
enum="ArcAuthCodeStatus" expires_after="2025-09-11">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Contains the status of the account info and auth code fetch for secondary
account. Recorded when ARC requests account information (e.g. when account
is added, when token is updated).
</summary>
</histogram>
<histogram name="Arc.Auth.SignIn.TimeDelta{ArcUserTypes}" units="ms"
expires_after="never">
<!-- expires-never: Needed for long-term health monitoring of ARC provisioning. -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time waiting for GMS sign-in to complete. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes"/>
</histogram>
<histogram
name="Arc.CloudDpc{TimedCloudDpcOp}.TimeDelta{SuccessFailure}{ArcUserTypes}"
units="ms" expires_after="2025-02-09">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The amount of time it took to complete the {TimedCloudDpcOp}
({SuccessFailure}) operation in CloudDPC. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes"/>
<token key="TimedCloudDpcOp" variants="TimedCloudDpcOp"/>
<token key="SuccessFailure" variants="SuccessFailure"/>
</histogram>
<histogram name="Arc.CompanionLibraryApisCounter"
enum="CompanionLibraryApisList" expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the number of times ChromeOS Companion Library API called. Counter
adding when its Stub library receive the call from applications.
</summary>
</histogram>
<histogram name="Arc.CompatMode.InitialResizeLockState"
enum="ArcResizeLockState" expires_after="2025-02-23">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The initial resize lock state of ARC apps. The histogram is emitted when any
ARC window is initialized.
</summary>
</histogram>
<histogram name="Arc.ContainerLifetimeEvent" enum="ArcContainerLifetimeEvent"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<summary>
The number of ARC container lifetime events. One START event and up to one
non-START event are recorded per ARC session, which ends when the user opts
out from ARC or signs out.
Warning: this histogram was expired after 2022-04-03 and brought back
2022-12-07; data may be missing.
</summary>
</histogram>
<histogram name="Arc.ContainerRestartAfterCrashCount" units="units"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<summary>
The number of times ARC container crashes and automatically restarts in one
ARC session, which ends when the user opts out from ARC or signs out.
Warning: this histogram was expired after 2022-04-24 and brought back
2022-12-07; data may be missing.
</summary>
</histogram>
<histogram name="Arc.CpuRestrictionDisabled{ArcThrottleObservers}" units="ms"
expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time that throttling was disabled due to a particular throttle
observer. The duration begins when a new throttle observer becomes active,
and measures until it becomes inactive or another throttle observer becomes
effective. {ArcThrottleObservers}
</summary>
<token key="ArcThrottleObservers">
<variant name=".ArcAppLaunchRequested"
summary="ARC app launch in progress."/>
<variant name=".ArcIsBooting" summary="ARC is booting or restarting."/>
<variant name=".ArcKioskMode" summary="ARC works in Kiosk mode."/>
<variant name=".ArcPipWindowIsVisible"
summary="An ARC PIP window is active."/>
<variant name=".ArcPower" summary="ARC handles pre-ANR conditions."/>
<variant name=".ArcSwitch"
summary="ARC throttling is disabled by switch. Not expected in
production."/>
<variant name=".ArcWindowIsActiveWindow"
summary="An ARC window is active."/>
</token>
</histogram>
<histogram name="Arc.CpuRestrictionVmResult" enum="ArcCpuRestrictionVmResult"
expires_after="2024-09-15">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the result of setting ARC CPU restrictions in ARCVM.
</summary>
</histogram>
<histogram name="Arc.CumulativeUseTime" units="seconds"
expires_after="2024-11-17">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
ARC use time. The use time is incremented in regular intervals while android
container is active. Reported at most once a day, at which point accumulated
time is reset (which means that sum of reported times for a OS version would
give an estimate of ARC usage time per OS version).
Warning: this histogram was expired after 2021-03-12 and brought back
2021-09-17; expired 2022-05-01 and brought back 2022-12-07; data may be
missing.
</summary>
</histogram>
<histogram name="Arc.DataRemoved.Success" enum="Boolean"
expires_after="2024-09-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>True if data was successfully removed on request.</summary>
</histogram>
<histogram name="Arc.DataRestore.Duration" units="ms"
expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The duration of the SELinux data restoration flow. Warning: this histogram
was expired from 2023-04-09 to 2023-08-30; data may be missing.
</summary>
</histogram>
<histogram name="Arc.DataRestore.Status" enum="ArcDataRestoreStatus"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Tracks status of SELinux contexts restore flows of Android /data. This also
means ARC++ boot delay.
</summary>
</histogram>
<histogram name="Arc.DeferActivation.Category"
enum="DeferArcActivationCategory" expires_after="2025-01-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records how "deferring ARC activation until user session start up task
completion" worked.
</summary>
</histogram>
<histogram name="Arc.DeferActivation.Result" enum="DeferArcActivationResult"
expires_after="2025-01-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the decision of "deferring ARC activation until user
session start up task completion", which is prediction, was succeeded
or failed.
</summary>
</histogram>
<histogram
name="Arc.DeferActivation.{DeferArcActivationType}{SuccessFailure}.ElapsedTime"
units="ms" expires_after="2025-01-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
How long does it take since the activation necessity check until the
following activation for each group of deferring ARC pattern and its
success/failure status.
</summary>
<token key="DeferArcActivationType" variants="DeferArcActivationType"/>
<token key="SuccessFailure" variants="SuccessFailure"/>
</histogram>
<histogram
name="Arc.DeferActivation.{DeferArcActivationType}{SuccessFailure}.Reason"
enum="AllowActivationReason" expires_after="2025-01-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The reason why the activation is allowed for each group of deferring ARC
pattern and its success/failure status.
</summary>
<token key="DeferArcActivationType" variants="DeferArcActivationType"/>
<token key="SuccessFailure" variants="SuccessFailure"/>
</histogram>
<histogram name="Arc.EngagementTime.ArcTotal" units="ms"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Total of Arc.EngagementTime.Background and Arc.EngagementTime.Foreground.
Note that this differs from Arc.EngagementTime.Total in that this is the
ARC++ engagement time, while Arc.EngagementTime.Total is the CrOS total
engagement time on devices with ARC++ enabled. See Arc.EngagementTime.Total
for definition of engagement and further details.
</summary>
</histogram>
<histogram name="Arc.EngagementTime.Background" units="ms"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Times when user is engaged and ARC++ apps are running in the background, but
the user isn't focusing on an ARC++ app window. See Arc.EngagementTime.Total
for definition of engagement and details.
</summary>
</histogram>
<histogram name="Arc.EngagementTime.Foreground" units="ms"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Times when user is engaged and focuses on an ARC++ app window. See
Arc.EngagementTime.Total for definition of engagement and details.
</summary>
</histogram>
<histogram name="Arc.EngagementTime.Total" units="ms"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Total CrOS user session time (from login to logout) excluding times when
user "disengages": screen is locked or dims down due to user idle.
Engagement time metrics, along with foreground and background time, are only
collected on users with ARC++ enabled. All four metrics are accumulated and
recorded to UMA once a day. For Total ARC++ engagement time, please see
Arc.EngagementTime.ArcTotal.
</summary>
</histogram>
<histogram name="Arc.FirstAppLaunchDelay.TimeDelta" units="ms"
expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time from the when user requests app launch before ARC boot and ARC
is booted. Note, ARC booted does not mean app is actually shown. You may
consider Arc.FirstAppLaunchDelay.TimeDeltaUntilAppLaunch also. Unlike
Arc.FirstAppLaunchDelay.TimeDeltaUntilAppLaunch, this metric is recorded
only up to once a user session. Zero when the container has already been up
and running when the user launches the ARC app.
</summary>
</histogram>
<histogram name="Arc.FirstAppLaunchDelay.TimeDeltaUntilAppLaunch" units="ms"
expires_after="2024-11-17">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
How long the user sees the spinning icon waiting for ARC boot. This metric
is not recorded at all if the user launches apps only after ARC is booted.
Unlike Arc.FirstAppLaunchDelay.TimeDelta, this metric might be recorded
multiple times per a user session, for example when users starts multiple
ARC apps while ARC is booting.
</summary>
</histogram>
<histogram name="Arc.FirstAppLaunchRequest.TimeDelta" units="ms"
expires_after="2024-03-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time from the when UI is shown after login to when the user
activates first ARC app.
</summary>
</histogram>
<histogram name="Arc.GameControls.ButtonOptionsMenuFunctionTriggered"
enum="GameControlsButtonOptionsMenuFunction" expires_after="2025-04-07">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records how often a specific function within the game controls button
options menu is triggered.
</summary>
</histogram>
<histogram name="Arc.GameControls.EditDeleteMenuFuctionTriggered"
enum="GameControlsEditDeleteMenuFunction" expires_after="2025-04-07">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records how often a specific function within the game controls edit/delete
menu is triggered.
</summary>
</histogram>
<histogram name="Arc.GameControls.EditingListFunctionTriggered"
enum="GameControlsEditingListFunction" expires_after="2025-04-07">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records how often a specific function within the game controls editing list
is triggered.
</summary>
</histogram>
<histogram
name="Arc.GameControls.{FeatureOrHint}ToggleWithMappingSource.{OnOrOff}"
enum="GameControlsMappingSource" expires_after="2025-04-07">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the game controls feature or hint is toggled on or off with current
mapping source.
</summary>
<token key="FeatureOrHint">
<variant name="Feature"/>
<variant name="Hint"/>
</token>
<token key="OnOrOff">
<variant name="Off"/>
<variant name="On"/>
</token>
</histogram>
<histogram name="Arc.GhostWindowViewType" units="ArcGhostWindowViewType"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Number of the view type of ARC app ghost window. Counted when the ghost
window created or the view updated.
</summary>
</histogram>
<histogram name="Arc.GuestZram.ReclaimedProcess" units="count"
expires_after="2025-02-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Number of reclaimed process. Counted when there is a successful guest zram
reclaim.
</summary>
</histogram>
<histogram name="Arc.GuestZram.SuccessfulReclaim" enum="Boolean"
expires_after="2024-10-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Outcome of an ARC Guest Zram reclaim operation. True if at least one process
was successfully reclaimed, false otherwise.
</summary>
</histogram>
<histogram name="Arc.GuestZram.TotalReclaimTime" units="ms"
expires_after="2025-02-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time to reclaim memory from all processs. Recorded only when there
is a successful guest zram reclaim.
</summary>
</histogram>
<histogram name="Arc.GuestZram.UnreclaimedProcess" units="count"
expires_after="2025-02-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Number of unreclaimed process. Counted when there is a successful guest zram
reclaim.
</summary>
</histogram>
<histogram name="Arc.IconLoadFromFileTime.compressedFirst5" units="ms"
expires_after="2021-03-11">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time of first 5 compressed app icons is loaded from file system.
Recorded when the app icon loading completes.
</summary>
</histogram>
<histogram name="Arc.IconLoadFromFileTime.compressedOthers" units="ms"
expires_after="2021-03-11">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time of other compressed app icons is loaded from file system.
Recorded when the app icon loading completes.
</summary>
</histogram>
<histogram name="Arc.IconLoadFromFileTime.uncompressedFirst5" units="ms"
expires_after="2021-03-11">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time of first 5 uncompressed app icons is loaded from file system.
Recorded when the app icon loading completes.
</summary>
</histogram>
<histogram name="Arc.IconLoadFromFileTime.uncompressedOthers" units="ms"
expires_after="2021-03-11">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time of other uncompressed app icons is loaded from file system.
Recorded when the app icon loading completes.
</summary>
</histogram>
<histogram name="Arc.IdleManager.ScreenOffTime" units="ms"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time spent in screen-off mode, induced by inactivity detected in
ARCVM. Recorded each time we wake up from that mode, and also when there's a
loss of connection with ARCVM (logout or crash) while in screen-off mode.
</summary>
</histogram>
<histogram name="Arc.InputOverlay.ActionRepositionOperationType"
enum="ArcInputOverlayRepositionOperationType" expires_after="2024-02-04">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the Action reposition operation types, including touchscreen drag,
mouse drag and keyboard arrow keys, when users move action views to adjust
touch points. Records the events when users release touch, mouse or key.
</summary>
</histogram>
<histogram name="Arc.InputOverlay.ButtonGroupRepositionOperationType"
enum="ArcInputOverlayRepositionOperationType" expires_after="2023-12-19">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the button group reposition operation types, including touchscreen
drag, mouse drag and keyboard arrow keys, when users move the button group.
Records the events when users release touch, mouse or key.
</summary>
</histogram>
<histogram name="Arc.InputOverlay.Customized" enum="BooleanEnabled"
expires_after="2023-10-15">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Count the usage of input overlay editing feature on all associated apps. The
metric is recorded when users press the Customize button. Refer to
InputMenuView::OnButtonCustomizedPressed().
</summary>
</histogram>
<histogram name="Arc.InputOverlay.FeatureState" enum="BooleanEnabled"
expires_after="2023-08-27">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Check whether users play the game with input overlay feature enabled or
disabled on all associated apps. The metric is recorded when users launch
the associated apps and when users have menu state changed upon on closing
the input menu only. Refer to TouchInjector::RecordMenuStateOnLaunch() and
TouchInjector::OnInputMenuViewRemoved().
</summary>
</histogram>
<histogram name="Arc.InputOverlay.MappingHintState" enum="BooleanEnabled"
expires_after="2023-08-27">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Check whether users play the game with input overlay mapping hint enabled or
disabled on all associated apps. The metric is recorded when users launch
the associated apps and when users have menu state changed upon on closing
the input menu only. Refer to TouchInjector::RecordMenuStateOnLaunch() and
TouchInjector::OnInputMenuViewRemoved().
</summary>
</histogram>
<histogram name="Arc.InputOverlay.MenuEntryRepositionOperationType"
enum="ArcInputOverlayRepositionOperationType" expires_after="2023-12-19">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the menu entry button reposition operation types, including
touchscreen drag, mouse drag and keyboard arrow keys, when users move menu
entry button. Records the events when users release touch, mouse or key.
</summary>
</histogram>
<histogram name="Arc.InputOverlay.{UI}RepositionWindowStateType"
enum="ArcInputOverlayWindowStateType" expires_after="2023-08-28">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the window state type when {UI} reposition happens. Records the
events when users release touch, mouse or key.
</summary>
<token key="UI">
<variant name="Action"/>
<variant name="ButtonGroup"/>
<variant name="MenuEntry"/>
</token>
</histogram>
<histogram name="Arc.KeyMint.KeyMintError" enum="ArcKeyMintError"
expires_after="2025-02-02">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Emitted for errors on KeyMint calls. Coverage includes some error types and
only on certain KeyMint calls.
</summary>
</histogram>
<histogram name="Arc.LaunchedWithGhostWindow" units="apps"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>The number of ARC apps launched with ghost window.</summary>
</histogram>
<histogram
name="Arc.LoadAverageX100PerProcessor15MinutesAfterArcStart.{ArcBootType}"
units="0.01 jobs/processor" expires_after="2024-11-03">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The 15-minute load average multiplied by 100 and divided by the number of
logical processors online. Recorded 15 minutes after ARC start.
</summary>
<token key="ArcBootType" variants="ArcBootTypes"/>
</histogram>
<histogram
name="Arc.LoadAverageX100PerProcessor1MinuteAfterArcStart.{ArcBootType}"
units="0.01 jobs/processor" expires_after="2023-11-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The 1-minute load average multiplied by 100 and divided by the number of
logical processors online. Recorded 1 minute after ARC start.
</summary>
<token key="ArcBootType" variants="ArcBootTypes"/>
</histogram>
<histogram
name="Arc.LoadAverageX100PerProcessor5MinutesAfterArcStart.{ArcBootType}"
units="0.01 jobs/processor" expires_after="2023-11-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The 5-minute load average multiplied by 100 and divided by the number of
logical processors online. Recorded 5 minutes after ARC start.
</summary>
<token key="ArcBootType" variants="ArcBootTypes"/>
</histogram>
<histogram name="Arc.NativeBridge" enum="ArcNativeBridgeType"
expires_after="never">
<!-- expires-never: used internally for filtering -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Native bridge used for ARC. Can be unknown and none. This is collected along
with Arc.State during every metrics recording interval, so it is in every
record uploaded to the server (despite crbug.com/929583 which was fixed in
M73). This is required because this value is used to categorize all other
data in the dashboard as collected with specific native bridge in use. Since
M74 this is also included in initial stability logs.
</summary>
</histogram>
<histogram name="Arc.NearbyShare.ArcBridgeFailure"
enum="NearbyShareArcBridgeFailResult" expires_after="2025-03-28">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records any ARC Bridge connection / communication failures using
NearbyShare.
</summary>
</histogram>
<histogram name="Arc.NearbyShare.DataHandlingFailure"
enum="ArcNearbyShareDataHandlingResult" expires_after="2025-03-28">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records any data handling errors with sharing text or files using
NearbyShare.
</summary>
</histogram>
<histogram name="Arc.NearbyShare.FileStreamComplete.TimeDelta" units="ms"
expires_after="2025-03-28">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Time taken by ARC Nearby Share to transfer file streams from ARC's virtual
file system in ContentProviders to Chrome's native file system. The time is
only recorded when file stream completes successfully.
</summary>
</histogram>
<histogram name="Arc.NearbyShare.FileStreamFailure" enum="PlatformFileError"
expires_after="2025-03-28">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the reason for failing to stream a file using NearbyShare. ARC
NearbyShare shares a file after finding a window, and once "share"
is clicked, it attempts to send the file.
</summary>
</histogram>
<histogram name="Arc.NearbyShare.IOFailure" enum="ArcNearbyShareIOErrorResult"
expires_after="2025-03-28">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>Records any IO errors while using NearbyShare.</summary>
</histogram>
<histogram name="Arc.NearbyShare.WindowFound" units="units"
expires_after="2025-03-28">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the success or failure of attempts to find NearbyShare window. ARC
NearbyShare finds a window after the "nearby share" button is
clicked in an app. If NearbyShare successfully finds a window,
"true" is recorded onto the histogram. "false" is
recorded in the case a window is not found.
</summary>
</histogram>
<histogram name="Arc.Net.ArcNetworkError" enum="ArcNetworkError"
expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records errors that happened inside the ARC networking and WiFi Java stack.
</summary>
</histogram>
<histogram name="Arc.Net.ArcNetworkEvent" enum="ArcNetworkEvent"
expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records events triggered inside ARC networking and WiFi Java stack related
to Android API usage by Android Apps, mojom API usage by the host, and other
events such as VPN connections
</summary>
</histogram>
<histogram name="Arc.Net.DnsQuery.AndroidApi" enum="BooleanSuccess"
expires_after="2025-01-12">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the success result of DNS query resolution inside ARC.
</summary>
</histogram>
<histogram name="Arc.Net.DnsQuery.Other" enum="BooleanSuccess"
expires_after="2025-01-12">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the success result of DNS query resolution inside ARC.
</summary>
</histogram>
<histogram name="Arc.Net.Qos.NewQosSocketCount" units="count"
expires_after="2025-01-12">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the count of newly opened QoS socket connections in a single poll
every time socket connections information is polled regularly in ARC.
</summary>
</histogram>
<histogram name="Arc.Net.Qos.QosSocketPercentage" units="%"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the percentage of QoS socket connections in a single poll every time
socket connections information is polled regularly in ARC.
</summary>
</histogram>
<histogram name="Arc.Notifications.ActionEnabled" enum="BooleanEnabled"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether at least one action button is enabled or not for an Arc
notification when the notification is created.
</summary>
</histogram>
<histogram name="Arc.Notifications.InlineReplyEnabled" enum="BooleanEnabled"
expires_after="2024-12-30">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether inline reply is enabled or not for an Arc notification when
the notification is created.
</summary>
</histogram>
<histogram name="Arc.Notifications.IsCustomNotification"
enum="BooleanIsCustomNotification" expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether an Arc notification is custom notification or not.
</summary>
</histogram>
<histogram name="Arc.Notifications.Style" enum="ArcNotificationStyle"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>Records the style of an Arc notification when it's created.</summary>
</histogram>
<histogram
name="Arc.NotificationView.{ChildView}.{FadeType}.AnimationSmoothness"
units="%" expires_after="2025-01-03">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Relative smoothness of the fade animation of {ChildView} inside a
notification view. 100% represents ideally smooth 60 frames per second.
Emitted when the fade in/out animation is completed.
</summary>
<token key="ChildView">
<variant name="CollapsedSummaryView"/>
<variant name="ContentView"/>
</token>
<token key="FadeType">
<variant name="FadeIn"/>
<variant name="FadeOut"/>
</token>
</histogram>
<histogram name="Arc.OptInAction" enum="ArcOptInAction"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Arc OptIn action taken by user. Warning: this histogram was expired from
2022-03-17 to 2022-04-18; data may be missing.
</summary>
</histogram>
<histogram name="Arc.OptInCancel" enum="ArcOptInCancel"
expires_after="2024-11-17">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>Arc OptIn cancelation reason.</summary>
</histogram>
<histogram name="Arc.OptInNetworkErrorAction" enum="ArcOptInNetworkErrorAction"
expires_after="2024-12-15">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records user action on the optin dialog when a network-related provisioning
failure occurs by type: close window, retry, send feedback and check network
connection.
</summary>
</histogram>
<histogram name="Arc.OptInResult" enum="ArcOptInResult"
expires_after="2025-01-12">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>Arc OptIn flow result.</summary>
</histogram>
<histogram name="Arc.OptInSilentAuthCode" enum="ArcOptInSilentAuthCode"
expires_after="2025-01-12">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Arc Silent Auth Code status. This status is set during the ARC OptIn flow.
</summary>
</histogram>
<histogram name="Arc.OptInSilentAuthCode.Reauthorization"
enum="ArcOptInSilentAuthCode" expires_after="2025-01-12">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Arc Silent Auth Code status. This status is set during the ARC
Device/Primary Account reauthorization flow.
</summary>
</histogram>
<histogram name="Arc.OptInSilentAuthCode.SecondaryAccount"
enum="ArcOptInSilentAuthCode" expires_after="2025-01-19">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Arc Silent Auth Code status. This status is set during the minting of an
auth code for a Secondary Account. It can be set for Secondary Account
signin or reauthorization.
</summary>
</histogram>
<histogram name="Arc.OptinTosLoadResult" enum="BooleanSuccess"
expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the status of loading Play terms of service in in-session optin
dialog. This metric reports false on aborts and failed retries as well.
</summary>
</histogram>
<histogram name="Arc.PlayAutoInstallRequest.State{ArcUserTypes}"
enum="ArcPlayAutoInstallRequestState" expires_after="2024-07-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
State of PlayAutoInstall flow after the request. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.PlayAutoInstallRequest.TimeDelta{ArcUserTypes}" units="ms"
expires_after="2024-07-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time from the when the PlayAutoInstall request was issued and
completed. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.PlayStoreLaunch.TimeDelta" units="ms"
expires_after="2024-03-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time from the when the user launches the Play Store app and to when
the Play Store window is shown to the user.
</summary>
</histogram>
<histogram name="Arc.PlayStoreLaunchWithinAWeek" enum="BooleanUsage"
expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Whether the Play Store has been launched by the user within a week from the
when onboarding (OOBE) is finished. The metric is recorded only once. The
recording happens when Play Store is launched by the user or when a week has
passed since onboarding (a check is done at user session initialization).
</summary>
</histogram>
<histogram name="Arc.PlayStoreSearch.QueryTime" units="ms"
expires_after="2025-01-15">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Time between sending an Play Store app discovery request and the storing
returned results.
This histogram was expired between 2023-03-19 and 2024-01-17 and some data
may be missing.
</summary>
</histogram>
<histogram name="Arc.PlayStoreSearch.ReturnedAppsTotalV2" units="apps"
expires_after="2025-01-15">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The total number of returned apps of a Play Store app discovery query.
This histogram was expired between 2023-09-01 and 2024-01-17 and some data
may be missing.
</summary>
</histogram>
<histogram name="Arc.PlayStoreSearch.ReturnedInstantAppsV2" units="apps"
expires_after="2025-01-15">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of returned instant apps of a Play Store app discovery query.
This histogram was expired between 2023-09-01 and 2024-01-17 and some data
may be missing.
</summary>
</histogram>
<histogram name="Arc.PlayStoreSearch.ReturnedUninstalledAppsV2" units="apps"
expires_after="2025-01-15">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of returned uninstalled apps of a Play Store app discovery query.
This histogram was expired between 2023-09-01 and 2024-01-17 and some data
may be missing.
</summary>
</histogram>
<histogram name="Arc.PlayStoreShown.TimeDelta{ArcUserTypes}" units="ms"
expires_after="2024-03-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time from the when the user agrees ToS to when the Play Store window
is shown to the user. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.Policy.InstallTypesOnDevice" enum="AppInstallType"
expires_after="2025-01-12">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Record which app install types are included in the policy that is applied to
a device. The metric is emitted once when arc_policy_bridge starts and any
time the policy is updated. For example, if there are 5 FORCE_INSTALLED apps
and 3 BLOCKED apps in the policy, the metric will record one count for
FORCE_INSTALLED and one count for BLOCKED.
</summary>
</histogram>
<histogram name="Arc.Policy.Keys" enum="ArcPolicyKey"
expires_after="2025-01-12">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Record which sub-policies are included in the ArcPolicy object that
represents policy restrictions set on ARC. The metric is emitted once when
arc_policy_bridge starts and any time the policy is updated.
</summary>
</histogram>
<histogram name="Arc.Policy.SecondaryAccountAllowedInArc.Status"
enum="SecureConnectPolicyApiStatus" expires_after="2024-12-12">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the result of secure connect api call made to download the value for
SecondaryAccountAllowedInArc policy. This is recorded when a user account is
added as a secondary account (in-session).
</summary>
</histogram>
<histogram name="Arc.Policy.SecondaryAccountAllowedInArc.TimeDelta" units="ms"
expires_after="2024-12-12">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Latency of a SecondaryAccountAllowedInArc policy fetch request. This
measures the amount of time required to fetch the policy value of
SecondaryAccountAllowedInArc from the Secure Connect API. This is recorded
when a user account is added as a secondary account (in-session).
</summary>
</histogram>
<histogram name="Arc.Policy.SecondaryAccountAllowedInArc.Value" enum="Boolean"
expires_after="2024-12-12">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the value of SecondaryAccountAllowedInArc policy. This is recorded
when a user account is added as a secondary account (in-session). Only
recorded on successful policy fetch.
</summary>
</histogram>
<histogram name="Arc.PrintPreview.PreviewEvent" enum="PrintPreviewHelperEvents"
expires_after="2025-02-18">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Print preview events for ARC. Recorded when specific print preview events
occur (print preview requested, preview document created, etc.).
</summary>
</histogram>
<histogram name="Arc.PrintPreview.RendererError" enum="PrintPreviewFailureType"
expires_after="2025-02-18">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Count how frequently a set of pre-defined print preview errors occur for
ARC.
</summary>
</histogram>
<histogram name="Arc.Provisioning.CheckinResult{ArcUserTypes}"
enum="ArcProvisioningCheckinResult" expires_after="never">
<!-- expires-never: Needed for long-term health monitoring of ARC provisioning. -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The result (success or the reason of failure) of GMS check-in operation.
Recorded when ARC++ provisioning flow completes. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes"/>
</histogram>
<histogram name="Arc.Provisioning.DeviceAffiliationAction"
enum="UnaffiliatedDeviceArcAllowedStatus" expires_after="2024-10-24">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Recorded when ARC is allowed on unaffiliated and affiliated devices and
disallowed on unaffiliated devices depending on UnaffiliatedDeviceArcAllowed
policy.
</summary>
</histogram>
<histogram name="Arc.Provisioning.DpcResult{ArcUserTypes}"
enum="ArcProvisioningDpcResult" expires_after="never">
<!-- expires-never: Needed for long-term health monitoring of ARC provisioning. -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The result (success or the reason of failure) of Cloud DPC provisioning.
Recorded when ARC++ provisioning flow completes. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes"/>
</histogram>
<histogram name="Arc.Provisioning.PreSignIn.TimeDelta{ArcUserTypes}" units="ms"
expires_after="never">
<!-- expires-never: Needed for long-term health monitoring of ARC provisioning. -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time from the signing in process start to right before GMS sign-in
or CloudDPC provisioning. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.Provisioning.SigninResult{ArcUserTypes}"
enum="ArcProvisioningSigninResult" expires_after="never">
<!-- expires-never: Needed for long-term health monitoring of ARC provisioning. -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The result (success or the reason of failure) of GMS sign-in operation.
Recorded when ARC++ provisioning flow completes. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes"/>
</histogram>
<histogram name="Arc.Provisioning.Status{ArcUserTypes}"
enum="ArcProvisioningStatus" expires_after="never">
<!-- expires-never: Needed for long-term health monitoring of ARC provisioning. -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The status (success or error) of ARC++ provisioning. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes"/>
</histogram>
<histogram name="Arc.Provisioning.TimeDelta.Failure{ArcUserTypes}" units="ms"
expires_after="2025-08-12">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time from the signing in process start to call to onSignInFailed.
Warning: this histogram was expired from 2022-11-01 to 2023-03-08; data may
be missing. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.Provisioning.TimeDelta.Success{ArcUserTypes}" units="ms"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time from the signing in process start to successful call to
onSignInComplete. Warning: this histogram was expired from 2022-11-01 to
2023-03-08; data may be missing. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.Reauthorization.Result{ArcUserTypes}"
enum="ArcProvisioningStatus" expires_after="2025-09-11">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The result (success or the type of failure) of ARC reauthorization.
{ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes">
<variant name=""/>
</token>
</histogram>
<histogram
name="Arc.Runtime.Performance.CommitDeviation2{ArcPerformanceAppCategories}"
units="microseconds" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Standard deviation for commit time delta from ideal time. Only collected if
the user has app syncing enabled and doesn't have a custom passphrase set.
This metric is reported for all clients. {ArcPerformanceAppCategories}.
</summary>
<token key="ArcPerformanceAppCategories"
variants="ArcPerformanceAppCategories">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.Runtime.Performance.FPS2{ArcPerformanceAppCategories}"
units="fps" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Render frames per second. Only collected if the user has app syncing enabled
and doesn't have a custom passphrase set. {ArcPerformanceAppCategories}
</summary>
<token key="ArcPerformanceAppCategories"
variants="ArcPerformanceAppCategories">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.Runtime.Performance.Generic.FirstFrameRendered" units="ms"
expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Time (in ms) between an app launch request and the detection of the first
rendered frame. Recorded when the frame is detected by the first commit to
the Exo surface.
</summary>
</histogram>
<histogram name="Arc.Runtime.Performance.Generic.FrameTime" units="ms"
expires_after="2024-11-17">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
95 percent of the frames in the first 5 minutes after app launch took
shorter time (in ms) than this value.
</summary>
</histogram>
<histogram name="Arc.Runtime.Performance.Generic.Jankiness" units="%"
expires_after="2025-01-19">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Percentage ratio of janky frames to total frames recorded in a 5 minute
interval.
</summary>
</histogram>
<histogram
name="Arc.Runtime.Performance.JanksPercentage2{ArcPerformanceAppCategories}"
units="%" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Percentage of the number of present frames during the tracing period which
contain UI janks. A jank is defined as a displayed frame with duration
longer than the normal display rate by 190%. {ArcPerformanceAppCategories}
</summary>
<token key="ArcPerformanceAppCategories"
variants="ArcPerformanceAppCategories">
<variant name=""/>
</token>
</histogram>
<histogram
name="Arc.Runtime.Performance.JanksPerMinute2{ArcPerformanceAppCategories}"
units="count" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Count of the number of UI janks per minute that occured during the tracing
period. A jank is defined as a displayed frame with duration longer than the
normal display rate by 190%. {ArcPerformanceAppCategories}
</summary>
<token key="ArcPerformanceAppCategories"
variants="ArcPerformanceAppCategories">
<variant name=""/>
</token>
</histogram>
<histogram
name="Arc.Runtime.Performance.PerceivedFPS2{ArcPerformanceAppCategories}"
units="fps" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Render frames per second, not considering frames which exo could not
present. Only collected if the user has app syncing enabled and doesn't have
a custom passphrase set. {ArcPerformanceAppCategories}
</summary>
<token key="ArcPerformanceAppCategories"
variants="ArcPerformanceAppCategories">
<variant name=""/>
</token>
</histogram>
<histogram
name="Arc.Runtime.Performance.PresentDeviation2{ArcPerformanceAppCategories}"
units="microseconds" expires_after="2024-07-07">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Standard deviation for present time delta from ideal time. Only collected if
the user has app syncing enabled and doesn't have a custom passphrase set.
This metric is reported for all clients. {ArcPerformanceAppCategories}
</summary>
<token key="ArcPerformanceAppCategories"
variants="ArcPerformanceAppCategories">
<variant name=""/>
</token>
</histogram>
<histogram
name="Arc.Runtime.Performance.RenderQuality2{ArcPerformanceAppCategories}"
units="%" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Render quality with maximum 100%. Only collected if the user has app syncing
enabled and doesn't have a custom passphrase set.
{ArcPerformanceAppCategories}
</summary>
<token key="ArcPerformanceAppCategories"
variants="ArcPerformanceAppCategories">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.SdkVersionUpgradeType" enum="ArcSdkVersionUpgradeType"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The types of ARC SDK version upgrade. (e.g. Upgrade from N to P) Reported
when SDK version upgrade is detected during ARC boot.
</summary>
</histogram>
<histogram name="Arc.Secondary.Signin.Result" enum="ArcProvisioningStatus"
expires_after="never">
<!-- expires-never: Needed for long-term health monitoring of ARC provisioning. -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The result (success or the type of failure) of ARC Secondary Account signin/
reauthorization.
</summary>
</histogram>
<histogram name="Arc.Session.HasWebViewUsage" enum="Boolean"
expires_after="2023-12-24">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
True if there has been a WebView usage in an ARC session. This is recorded
when an ARC session is stopped.
</summary>
</histogram>
<histogram name="Arc.Session.MojoDisconnection{ArcUserTypes}"
enum="ArcMojoConnectionType" expires_after="2022-11-11">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
This is updated when the mojo connections to processes in detailing in
ArcMojoConnectionType are closed for reasons other than the ARC container
shutting down or crashing. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.Session.StopReason{ArcUserTypes}" enum="ArcStopReason"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
This is updated in case ARC++ stops for the reasons detailed in
ArcStopReason. For example, this is recorded in case of a graceful ARC++
shutdown or if ARC++ crashes. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.State" enum="BooleanEnabled" expires_after="never">
<!-- expires-never: used internally for filtering -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Whether ARC is enabled or not. Before M56 this was collected only on login
and when ARC was enabled or disabled. From M56 forward this is collected
during every metrics recording interval, so it is in every record uploaded
to the server (despite crbug.com/929583 which was fixed in M73). This is
required because this value is used to categorize all other data in the
dashboard as collected with ARC enabled or not. This is true even for users
who are running on ecryptfs and skipped Ext4 migration; even though ARC Apps
do not run until migration is complete on N or later systems. Since M74 this
is also included in initial stability logs.
</summary>
</histogram>
<histogram name="Arc.StateByUserType{ArcUserTypes}" enum="ArcEnableState"
expires_after="2023-06-07">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Similar to "Arc.State" metric but has separation by user type.
{ArcUserTypes}
Warning: this histogram was expired after 2022-03-05 and brought back
2022-12-07; data may be missing.
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.Supervision.Transition.Result"
enum="ArcSupervisionTransitionResult" expires_after="2025-02-23">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The result (success or the type of failure) of ARC supervision transition
events.
</summary>
</histogram>
<histogram name="Arc.Supervision.Transition.Screen.Success.TimeDelta"
units="ms" expires_after="2025-02-23">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time for a successful supervision transition, during which the
supervision transition screen was displayed.
</summary>
</histogram>
<histogram name="Arc.Supervision.Transition.Screen.Successful"
enum="BooleanSuccess" expires_after="2025-02-23">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Whether supervision transition screen exited due to a successful transition.
</summary>
</histogram>
<histogram name="Arc.SystemHealth.Upgrade.PackagesDeleted"
enum="BooleanDeletedOrNot" expires_after="2025-08-29">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Whether system package updates were deleted during ARC upgrade.
</summary>
</histogram>
<histogram name="Arc.SystemHealth.Upgrade.TimeDelta" units="ms"
expires_after="2025-08-29">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Time taken by ARC System Health Service to run upgrade hygiene tasks.
</summary>
</histogram>
<histogram name="Arc.UiAvailable.AlreadyProvisioned.TimeDelta{ArcUserTypes}"
units="ms" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time from the when ARC++ is started in already provisioned state to
when the ARC is available for the user. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.UiAvailable.InSessionProvisioning.TimeDelta{ArcUserTypes}"
units="ms" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time from the when ARC++ is opted in from the user's session to when
the ARC is available for the user. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.UiAvailable.OobeProvisioning.TimeDelta{ArcUserTypes}"
units="ms" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Elapsed time from the when ARC++ is opted in from OOBE to when the ARC is
available for the user. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.UserInteraction" enum="ArcUserInteraction"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Counts user interactions with ARC by type, such as ARC app launches via the
shelf or launcher.
</summary>
</histogram>
<histogram name="Arc.VmDataMigration.AccessDeniedAtOpenSourceFileFailureType"
enum="ArcVmDataMigrationAccessDeniedAtOpenFileFailureType"
expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The detailed cause of an access denied error at opening a source file during
ARCVM /data migration. Reported each time when the migrator encounters such
an error.
</summary>
</histogram>
<histogram name="Arc.VmDataMigration.AutoResumeCount" units="count"
expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of times ARCVM /data migration has been automatically resumed.
This is reported when an auto-resume is triggered, or the maximum number of
auto-resumes has been hit for the first time. The value 0 means that no
auto-resume has been attempted, and the first auto-resume will be triggered
right after the event. Samples in the overflow bucket means that the maximum
number of auto-resumes has been reached but the migration is not finished
yet, in which case auto-resume is disabled and the user needs to manually
resume the migration. Each value should be recorded at most once per user.
</summary>
</histogram>
<histogram name="Arc.VmDataMigration.BatteryConsumption" units="%"
expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The amount of decrease in battery level during ARCVM /data migration,
defined by the battery level at the beginning of the migration minus the
lowest battery level observed during the migration. Reported at the end of
successful migrations. 0 is reported if the battery level has always been
higher than that at the beginning of the migration.
</summary>
</histogram>
<histogram name="Arc.VmDataMigration.DesiredDiskImageSizeInGB.{SatisfiedOrNot}"
units="GB" expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The desired disk image size for the destination of ARCVM /data migration.
Reported each time the initial screen is shown and the free disk space
requirement is {SatisfiedOrNot}.
</summary>
<token key="SatisfiedOrNot">
<variant name="Satisfied" summary="satisfied"/>
<variant name="Unsatisfied" summary="not satisfied"/>
</token>
</histogram>
<histogram name="Arc.VmDataMigration.Duration" units="seconds"
expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Duration of the ARCVM /data migration. This is reported once when a newly
started migration is completed.
</summary>
</histogram>
<histogram name="Arc.VmDataMigration.EndStatus"
enum="CrOSFileSystemMigrationEndStatus" expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The status of ARCVM /data migration when it ends. This is reported when a
migration finishes successfully, fails, or gets cancelled halfway.
</summary>
</histogram>
<histogram name="Arc.VmDataMigration.FailedErrorCode" enum="PlatformFileError"
expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The error code of a file operation failure that caused the ARCVM /data
migration to fail. Reported when a migration thread encounters a file
operation error. This can be reported multiple times for a migration when
multiple threads fail at around the same time.
</summary>
</histogram>
<histogram name="Arc.VmDataMigration.FailedOperationType"
enum="CrOSFileSystemMigrationFailedOperationType"
expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The type of file operation at which the ARCVM /data migration failed.
Reported when a migration thread encounters a file operation error. This can
be reported multiple times for a migration when multiple threads fail at
around the same time.
</summary>
</histogram>
<histogram name="Arc.VmDataMigration.FailedPathType"
enum="ArcVmDataMigrationFailedPathType" expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The location of files at which ARCVM /data migration failed. Reported when a
migration thread encounters a file operation error. This can be reported
multiple times for a migration when multiple threads fail at around the same
time.
</summary>
</histogram>
<histogram name="Arc.VmDataMigration.GetAndroidDataInfoDuration" units="ms"
expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The time taken for ArcVmDataMigrator's D-Bus method GetAndroidDataInfo to
return a result, measured from the caller (Chrome) side. Reported every time
the migration welcome screen is being set up.
</summary>
</histogram>
<histogram name="Arc.VmDataMigration.InitialBatteryLevel" units="%"
expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The battery level when the user enters the UX flow of ARCVM /data migration.
This is reported for both new migrations and resumed migrations.
</summary>
</histogram>
<histogram name="Arc.VmDataMigration.InitialFreeSpace" units="MB"
expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The total amount of free disk space on the system when a new or resumed
ARCVM /data migration is started. Reported when a migration failed with
ENOSPC (no space error).
</summary>
</histogram>
<histogram name="Arc.VmDataMigration.MigrationFinishReason{ArcUserTypes}"
enum="ArcVmDataMigrationFinishReason" expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The reason why ARCVM /data migration is marked as finished. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes"/>
</histogram>
<histogram name="Arc.VmDataMigration.MigrationStatusOnArcStarted{ArcUserTypes}"
enum="ArcVmDataMigrationStatus" expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The status of ARCVM /data migration at the beginning of each ARC session.
{ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes"/>
</histogram>
<histogram name="Arc.VmDataMigration.NoSpaceFailureFreeSpace" units="MB"
expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The total amount of free disk space on the system when the user encounters
ENOSPC (no space error) during ARCVM /data migration. Reported when a
migration failed with ENOSPC.
</summary>
</histogram>
<histogram name="Arc.VmDataMigration.NoSpaceXattrSize" units="bytes"
expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The total number of bytes of xattr data that we are trying to store on a
file when we encounter an ENOSPC (no space error) during ARCVM /data
migration. This includes both the xattr data already present on the file as
well as the new xattr we are trying to set. Reported when a migration thread
encounters ENOSPC on setting a new xattr. This can be reported multiple
times for a migration when multiple threads fail at around the same time.
</summary>
</histogram>
<histogram name="Arc.VmDataMigration.NotificationShownForTheFirstTime"
enum="BooleanEnabled" expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Counts the number of events that the notification for ARCVM /data migration
is shown for the first first time for the user.
</summary>
</histogram>
<histogram
name="Arc.VmDataMigration.RemainingDays.{ArcVmDataMigrationFrontEndEvents}"
units="days" expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of days until the deadline displayed in the notification or the
confirmation dialog of ARCVM /data migration. The value is initialized as 30
when the notification is shown for the first time, and decremented until it
reaches the minimum value 1. When it reaches the minimum value, it means
that the migration should be performed in the same day and should not be
dismissed, so the notification and the dialog become nondismissible.
Reported when {ArcVmDataMigrationFrontEndEvents}.
</summary>
<token key="ArcVmDataMigrationFrontEndEvents">
<variant name="ConfirmationDialogAccepted"
summary="the accept button of the confirmation dialog is clicked"/>
<variant name="ConfirmationDialogCanceled"
summary="the cancel button of the confirmation dialog is clicked"/>
<variant name="ConfirmationDialogShown"
summary="the confirmation dialog is shown"/>
<variant name="NotificationShown" summary="the notification is shown"/>
</token>
</histogram>
<histogram
name="Arc.VmDataMigration.RequiredFreeDiskSpaceInGB.{SatisfiedOrNot}"
units="GB" expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The size of free disk space required for the ARCVM /data migration. Reported
each time the initial screen is shown and the free disk space requirement is
{SatisfiedOrNot}.
</summary>
<token key="SatisfiedOrNot">
<variant name="Satisfied" summary="satisfied"/>
<variant name="Unsatisfied" summary="not satisfied"/>
</token>
</histogram>
<histogram name="Arc.VmDataMigration.ResumeNotificationShown"
enum="BooleanEnabled" expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Counts how many times the notification for resuming ARCVM /data migration is
shown while the migration is in progress. The notification is shown (and
thus the event is reported) only when auto-resume is disabled after the
maximum number of auto-resumes has been reached but the migration has not
finished yet.
</summary>
</histogram>
<histogram name="Arc.VmDataMigration.ScreenEvent.On{ArcVmDataMigrationType}"
enum="ArcVmDataMigrationScreenEvent" expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records events happening in the screen flow of ARCVM /data migration.
Recorded when an event happens during a {ArcVmDataMigrationType}.
</summary>
<token key="ArcVmDataMigrationType" variants="ArcVmDataMigrationType"/>
</histogram>
<histogram
name="Arc.VmDataMigration.ScreenInitialState.On{ArcVmDataMigrationType}"
enum="ArcVmDataMigrationScreenInitialState" expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The initial state of the screen flow of ARCVM /data migration. Recorded at
the beginning of each {ArcVmDataMigrationType}.
</summary>
<token key="ArcVmDataMigrationType" variants="ArcVmDataMigrationType"/>
</histogram>
<histogram
name="Arc.VmDataMigration.ScreenSetupFailure.On{ArcVmDataMigrationType}"
enum="ArcVmDataMigrationScreenSetupFailure" expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records failures in the setup phase of the screen flow of ARCVM /data
migration. Recorded when a failure happens during a
{ArcVmDataMigrationType}.
</summary>
<token key="ArcVmDataMigrationType" variants="ArcVmDataMigrationType"/>
</histogram>
<histogram name="Arc.VmDataMigration.SetupResult"
enum="ArcVmDataMigrationSetupResult" expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The result of the setup of ARCVM /data migration. Reported before triggering
the migration tool.
</summary>
</histogram>
<histogram name="Arc.VmDataMigration.StartStatus"
enum="CrOSFileSystemMigrationStartStatus" expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The status of ARCVM /data migration when it starts. This is reported when a
new migration or a resumed migration is started.
</summary>
</histogram>
<histogram name="Arc.VmDataMigration.TotalFiles" units="files"
expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Total number of files to be migrated in ARCVM /data migration. Reported once
at the beginning of a new migration.
</summary>
</histogram>
<histogram name="Arc.VmDataMigration.TotalSizeMB" units="MB"
expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Total bytes to be migrated in ARCVM /data migration. Reported once at the
beginning of a new migration.
</summary>
</histogram>
<histogram name="Arc.VmmSwappedOut" enum="VmmSwapOutState"
expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the ARCVM vmm swap status (ARCVM not swapped / ARCVM has been vmm
swapped). "vmm swap" means a part of the ARCVM memory lives in
ChromeOS side disk and will be automatically swap back when vCPU access it.
The recorded "Swapped Out" state means the ARCVM is in the swapped
out state at the end of the recording interval. Collected during every
metrics recording interval if ARCVM is running. Caveat: The metric will be
logged in every UMA record, except the data about the previous session.
</summary>
</histogram>
<histogram name="Arc.VpnServiceBuilderCompatApisCounter"
enum="VpnServiceBuilderCompatApisList" expires_after="2024-09-11">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the number of times an API for adding and excluding route in VPN is
called from ChromeOS Vpn Service Builder Compat Library.
</summary>
</histogram>
<histogram name="Arc.Wakeup.{DeviceType}" units="ms" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Every time a {DeviceType} device wakes ARCVM up from a sleep state (e.g.
s2idle), records how long ARCVM was in that sleep state before being woken
up.
</summary>
<token key="DeviceType" variants="DeviceType"/>
</histogram>
<histogram name="Arc.WallpaperApiUsage" enum="ArcWallpaperApi"
expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the number of times an API for getting / setting wallpaper from
Android is called.
</summary>
</histogram>
<histogram name="Arc.Wayland.LateTiming.Duration{WaylandEventType}" units="ms"
expires_after="2025-02-23">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The duration of the Wayland client event processing time in ARC. This metric
is recorded when the processing end time is late or the duration exceeded
the expected timing threshold for a {WaylandEventType}.
</summary>
<token key="WaylandEventType" variants="WaylandEventType">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.Wayland.LateTiming.Event" enum="WaylandTimingEvent"
expires_after="2025-02-23">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Wayland client event message type in ARC. This metric is recorded when the
message processing end time is late or the duration exceeded the expected
timing threshold.
</summary>
</histogram>
<histogram name="Arc.WindowPredictorLaunch" enum="WindowPredictorLaunchType"
expires_after="2024-04-28">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Number of ARC app ghost window launches by ArcWindowPredictor. Counted when
user manually launches ARC app when ARC is still in boot stage.
</summary>
</histogram>
<histogram name="Arc.WindowPredictorUseCase" enum="WindowPredictorUseCase"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the number of each use case of window predictor. Recorded when the
window perdictor called to launch ARC ghost window intentionally.
</summary>
</histogram>
<histogram name="Arc.WM.AppErrorDialog.Type" enum="AppErrorDialogType"
expires_after="2024-12-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the number of each AppErrorDialogType when an app error dialog is
shown to the user.
</summary>
</histogram>
<histogram name="Arc.WM.WindowClosedDelayTimeV2.ArcApp" units="ms"
expires_after="2025-02-02">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time elapsed from a window closing operation until the window is
destroyed. The data is collected once when a closing operation happens.
</summary>
</histogram>
<histogram name="Arc.WM.WindowDragResizeTime" units="ms"
expires_after="2025-02-23">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time of handling each bounds changing request of drag resizing
operation. The data is collected when ARC window drag resizing operation
happens. Note that this metric might be recorded multiple times for a single
drag operation if multiple bounds changing requests occur in one drag
operation.
</summary>
</histogram>
<histogram name="Arc.WM.WindowEnterTabletModeDelayTimeV2.{ChromeOSAppType}"
units="ms" expires_after="2025-02-02">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time elapsed from entering the tablet mode until the window
state is changed to be maximized in tablet mode. The data is only collected
for the top window shown in tablet mode.
</summary>
<token key="ChromeOSAppType" variants="ChromeOSAppType"/>
</histogram>
<histogram name="Arc.WM.WindowExitTabletModeDelayTimeV2.{ChromeOSAppType}"
units="ms" expires_after="2025-02-02">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time elapsed from exiting the tablet mode until the window state
is changed to be normal in clamshell mode. The data is only collected for
the top window shown in tablet mode.
</summary>
<token key="ChromeOSAppType" variants="ChromeOSAppType"/>
</histogram>
<histogram name="Arc.WM.WindowMaximizedDelayTimeV2.{ChromeOSAppType}"
units="ms" expires_after="2025-02-02">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time elapsed from a window maximizing operation until the window
state is changed to be maximized. The data is collected once when a
maximizing operation happens.
</summary>
<token key="ChromeOSAppType" variants="ChromeOSAppType"/>
</histogram>
<histogram name="Arc.WM.WindowMinimizedDelayTime.{ChromeOSAppType}" units="ms"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time elapsed from window minimizing operation until the window
state is changed to be minimized. The data is collected once when a
minimizing operation happens.
</summary>
<token key="ChromeOSAppType" variants="ChromeOSAppType"/>
</histogram>
<histogram name="Arc.WM.WindowRotateDelayTime.{ChromeOSAppType}" units="ms"
expires_after="2025-02-02">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time elapsed from display rotates in tablet mode until the
window bounds is changed. The data is only collected for the top maximized
window shown in tablet mode.
</summary>
<token key="ChromeOSAppType" variants="ChromeOSAppType"/>
</histogram>
</histograms>
</histogram-configuration>