blob: c1c14097d1663c1082f63e54f50e1feab814e4fe [file]
<!--
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
chromium-metrics-reviews@google.com.
-->
<histogram-configuration>
<histograms>
<variants name="AndroidDataSizeMeasurementTargetDirectories">
<variant name="All"
summary="Android directories /data/app, /data/data, /data/media/0 and
/data/user_de/0 combined"/>
<variant name="DEStorageRootUserDir"
summary="Android /data/user_de/0 directory"/>
<variant name="ExternalDataRootUserDir"
summary="Android /data/media/0 directory"/>
<variant name="InternalDataDir" summary="Android /data/data directory"/>
<variant name="UserInstalledAppDir" summary="Android /data/app directory"/>
</variants>
<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="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 &gt;= CACHED_APP_MIN_ADJ"/>
<variant name="LMKD.Foreground"
summary="LMKD with oom_score_adj &lt;= FOREGROUND_APP_ADJ"/>
<variant name="LMKD.Perceptible"
summary="LMKD with FOREGROUND_APP_ADJ &lt; oom_score_adj &lt;
CACHED_APP_MIN_ADJ"/>
<variant name="Pressure.Cached"
summary="ApplyHostMemoryPressure with ProcessState &gt;=
PROCESS_STATE_CACHED_ACTIVITY"/>
<variant name="Pressure.Foreground"
summary="ApplyHostMemoryPressue with ProcessState &lt;
PROCESS_STATE_TOP or ProcessState == PROCESS_STATE_TOP and
focused"/>
<variant name="Pressure.Perceptible"
summary="ApplyHostMemoryPressure with PROCESS_STATE_TOP &lt;=
ProcessState &lt; 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=".GachaClub" summary="Casual game 2: Gacha Club"/>
<variant name=".GarenaFreeFire" summary="Shooter game: Garena Free Fire"/>
<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=".Roblox" summary="Online game: Roblox"/>
</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=".ActiveDirectory"
summary="User with active directory account"/>
<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="FileTypeByDirectoryOrNot">
<variant name="Directories" summary="directories"/>
<variant name="Files"
summary="files (all file system entries including directories)"/>
<variant name="NonDirectories" summary="non-directory files"/>
</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="2022-08-03">
<owner>vraheja@chromium.org</owner>
<owner>arc-core@google.com</owner>
<summary>Time taken for ARC to boot during an Abi Migration event.</summary>
</histogram>
<histogram name="Arc.AbiMigration.DowngradeDelay" units="ms"
expires_after="2022-08-03">
<owner>vraheja@chromium.org</owner>
<owner>arc-core@google.com</owner>
<summary>
Time taken by ArcAbiMigrationService specifically to downgrade system
packages.
</summary>
</histogram>
<histogram name="Arc.AbiMigration.Event" enum="ArcCorePriAbiMigEvent"
expires_after="2022-08-24">
<owner>vraheja@google.com</owner>
<owner>arc-core@google.com</owner>
<summary>
Records event type for ArcAbiMigrationService during Abi Migration.
</summary>
</histogram>
<histogram name="Arc.AbiMigration.FailedAttempts" units="units"
expires_after="2022-08-24">
<owner>vraheja@chromium.org</owner>
<owner>arc-core@google.com</owner>
<summary>
Records the number of failed attempts in trying to perform Primary Abi
Migration.
</summary>
</histogram>
<histogram name="Arc.Accessibility.ActiveTime.{ArcAccessibilityFeatures}"
units="ms" expires_after="2023-04-10">
<owner>sahok@chromium.org</owner>
<owner>arc-framework@google.com</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="2023-08-27">
<owner>sahok@chromium.org</owner>
<owner>arc-framework@google.com</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.AccessibilityWithTalkBack" enum="BooleanEnabled"
expires_after="2023-04-10">
<obsolete>
Removed 2022/03.
</obsolete>
<owner>hirokisato@chromium.org</owner>
<owner>arc-framework@google.com</owner>
<summary>
Whether the ARC window is opened with TalkBack enabled or not. Counted when
a user opens a window or toggles the feature. Checked only when the spoken
feedback is enabled in Chrome OS.
</summary>
</histogram>
<histogram name="Arc.AdbSideloadingEnablingScreen"
enum="AdbSideloadingPromptEvent" expires_after="2022-05-01">
<owner>vraheja@chromium.org</owner>
<owner>tbuckley@chromium.org</owner>
<summary>
Record user's choice or error during ADB sideloading opt-in UI after reboot.
</summary>
</histogram>
<histogram name="Arc.AndroidBootTime" units="ms" expires_after="2023-09-01">
<owner>khmel@google.com</owner>
<owner>arc-performance@google.com</owner>
<summary>The time elapsed for booting up the ARC instance.</summary>
</histogram>
<histogram name="Arc.AndroidData.PerApp.Size" units="KB"
expires_after="2023-09-03">
<owner>momohatt@google.com</owner>
<owner>arc-storage@google.com</owner>
<summary>
The total size of data an application has in Android /data directory. This
is defined as the per-application sum of the size of application-specific
directories in /data/app, /data/data, /data/media/0/Android/(data|obb) and
/data/user_de/0. The data is collected once per device, on the first ARC
boot after the device upgrades to a ChromeOS version with this metric.
</summary>
</histogram>
<histogram name="Arc.AndroidData.PerApp.{FileTypeByDirectoryOrNot}"
units="count" expires_after="2023-07-01">
<owner>momohatt@google.com</owner>
<owner>arc-storage@google.com</owner>
<summary>
The total number of {FileTypeByDirectoryOrNot} an application has in Android
/data directory. This is defined as the per-application sum of the numbers
in application-specific directories under /data/app, /data/data,
/data/media/0/Android/(data|obb) and /data/user_de/0. The data is collected
once per device, on the first ARC boot after the device upgrades to a
ChromeOS version with this metric.
</summary>
<token key="FileTypeByDirectoryOrNot" variants="FileTypeByDirectoryOrNot"/>
</histogram>
<histogram name="Arc.AndroidData.Total.{Target}.Size" units="KB"
expires_after="2023-07-01">
<owner>momohatt@google.com</owner>
<owner>arc-storage@google.com</owner>
<summary>
The size of {Target}. The data is collected once per device, on the first
ARC boot after the device upgrades to a ChromeOS version with this metric.
</summary>
<token key="Target" variants="AndroidDataSizeMeasurementTargetDirectories"/>
</histogram>
<histogram name="Arc.AndroidData.Total.{Target}.{FileTypeByDirectoryOrNot}"
units="count" expires_after="2023-07-01">
<owner>momohatt@google.com</owner>
<owner>arc-storage@google.com</owner>
<summary>
The number of {FileTypeByDirectoryOrNot} in {Target}. The data is collected
once per device, on the first ARC boot after the device upgrades to a
ChromeOS version with this metric.
</summary>
<token key="FileTypeByDirectoryOrNot" variants="FileTypeByDirectoryOrNot"/>
<token key="Target" variants="AndroidDataSizeMeasurementTargetDirectories"/>
</histogram>
<histogram name="Arc.AndroidData.TraversalDuration" units="ms"
expires_after="2023-09-03">
<owner>momohatt@google.com</owner>
<owner>arc-storage@google.com</owner>
<summary>
The duration of the file system traversal to take the statistics about the
content of Android /data directory. The data is collected once per device,
on the first ARC boot after the device upgrades to a ChromeOS version that
ships with this metric.
</summary>
</histogram>
<histogram name="Arc.Anr.{AnrPeriod}" units="ANRs" expires_after="2023-09-01">
<owner>khmel@google.com</owner>
<owner>alanding@google.com</owner>
<owner>arc-performance@google.com</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="2023-09-01">
<owner>khmel@google.com</owner>
<owner>arc-performance@google.com</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="2023-09-01">
<owner>khmel@google.com</owner>
<owner>alanding@google.com</owner>
<owner>arc-performance@google.com</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.LowMemoryKills.{ArcAppKillType}Count10Minutes"
units="Apps" expires_after="2023-04-07">
<owner>cwd@google.com</owner>
<owner>cros-vm-technology@google.com</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="2023-04-07">
<owner>cwd@google.com</owner>
<owner>cros-vm-technology@google.com</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="2023-09-29">
<owner>cwd@google.com</owner>
<owner>cros-vm-technology@google.com</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="2023-10-01">
<owner>batoon@google.com</owner>
<owner>arc-core@google.com</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="2023-10-08">
<owner>khmel@google.com</owner>
<owner>fahdi@google.com</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="2023-10-22">
<owner>khmel@google.com</owner>
<owner>arcvm-eng@google.com</owner>
<summary>
True if the user (or Chrome app sync) has manually installed one or more
apps or Ash has one or more &quot;unknown&quot; apps. See
Arc.AppCount.InstalledApp and Arc.AppCount.UnknownApp for more details.
Collected once every time when ARC starts.
</summary>
</histogram>
<histogram name="Arc.AppCount.{AppType}" units="apps"
expires_after="2022-09-23">
<owner>khmel@google.com</owner>
<owner>arcvm-eng@google.com</owner>
<summary>
The number of ARC {AppType}s that are managed by Chrome (Ash). Collected
once every time when ARC starts.
</summary>
<token key="AppType">
<variant name="DefaultApp"
summary="'Default' ARC app. Either PAI or one in system/vendor image.
Can be 1+ even for opt-out users."/>
<variant name="InstalledApp"
summary="ARC app 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' ARC app in a system/vendor image. This is always 0
for opt-out users."/>
<variant name="UnknownApp"
summary="[Deprecated in M104] ARC app whose type is unknown to Ash."/>
</token>
</histogram>
<histogram name="Arc.AppInstall.Manual.InitialSession.NumAppsIncomplete"
units="ms" expires_after="2023-09-15">
<owner>batoon@google.com</owner>
<owner>arc-core@google.com</owner>
<summary>
Record the number of manual installs 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>
</histogram>
<histogram name="Arc.AppInstall.Manual.InitialSession.TimeDelta" units="ms"
expires_after="2023-09-15">
<owner>batoon@google.com</owner>
<owner>arc-core@google.com</owner>
<summary>
Record the length of time it took to complete a manual install after the
very first login on a device. This metric is recorded when a manual install
succeeds IFF it is the first session after opting in during the sync consent
screen.
</summary>
</histogram>
<histogram name="Arc.AppInstall.PolicySuccessRate" units="%"
expires_after="2023-10-08">
<owner>batoon@google.com</owner>
<owner>arc-commercial@google.com</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.AppInstalledReason" enum="InstallationCounterReasonEnum"
expires_after="2023-10-08">
<owner>thanhdng@chromium.org</owner>
<owner>tby@chromium.org</owner>
<owner>wrong@chromium.org</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.AppShortcuts.BuildMenuTime" units="ms"
expires_after="2022-03-13">
<owner>mmourgos@chromium.org</owner>
<owner>newcomer@chromium.org</owner>
<summary>
Record the time to build ARC app shortcut items on menu model. We get the
needed metadata from Android and decode icons in the utility process. It is
an asynchronous procedure so we need to know the longest waiting time.
</summary>
</histogram>
<histogram name="Arc.AppShortcutSearchResult.ShortcutStatus"
enum="ArcAppShortcutStatus" expires_after="2023-10-15">
<owner>batoon@google.com</owner>
<owner>arc-core@google.com</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="2023-10-15">
<owner>batoon@google.com</owner>
<owner>arc-core@google.com</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="M114">
<owner>jhorwich@google.com</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; data may be missing.
</summary>
</histogram>
<histogram name="Arc.AppSync.InitialSession.InstalledAppSize" units="MB"
expires_after="2023-09-24">
<owner>batoon@google.com</owner>
<owner>arc-core@google.com</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="2023-06-20">
<owner>batoon@google.com</owner>
<owner>arc-core@google.com</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="2023-06-20">
<owner>batoon@google.com</owner>
<owner>arc-core@google.com</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="2023-06-04">
<owner>thanhdng@chromium.org</owner>
<owner>tby@chromium.org</owner>
<owner>wrong@chromium.org</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; data may be missing.
</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>mhasank@google.com</owner>
<owner>arc-core@google.com</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>mhasank@google.com</owner>
<owner>arc-core@google.com</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>mhasank@google.com</owner>
<owner>arc-core@google.com</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>mhasank@google.com</owner>
<owner>arc-core@google.com</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.CodeFetcher.ProxyBypass{ArcUserTypes}" enum="Boolean"
expires_after="M96">
<owner>acostinas@google.com</owner>
<owner>chromeos-commercial-networking@google.com</owner>
<summary>
If the network is configured to use a mandatory Proxy Auto-Configuration
(PAC) script which is unreachable, all network requests will fail. In this
case, the code which fetches the auth code used for Google Play Store
sign-in will retry to connect directly to the Google endpoint, bypassing the
proxy. This histogram is only recorded if the auth code was fetched
successfully. A &quot;false&quot; entry means the code was successfully
fetched at the first try, regardless of proxy configuration. A
&quot;true&quot; entry means that the network is configured to use a
mandatory PAC script which is unreachable and code was successfully fetched
at the second try, when the unreachable proxy was bypassed. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.Auth.MainAccountHashMigration.Status"
enum="ArcMainAccountHashMigrationStatus" expires_after="2023-08-20">
<owner>vsomani@google.com</owner>
<owner>arc-core@google.com</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="2023-10-24">
<owner>mhasank@google.com</owner>
<owner>arc-core@google.com</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>mhasank@google.com</owner>
<owner>arc-core@google.com</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="2023-09-03">
<owner>anastasiian@google.com</owner>
<owner>mhasank@google.com</owner>
<owner>arc-core@google.com</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="2023-09-03">
<owner>anastasiian@google.com</owner>
<owner>mhasank@google.com</owner>
<owner>arc-core@google.com</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>mhasank@google.com</owner>
<owner>arc-core@google.com</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="2023-10-24">
<owner>mhasank@google.com</owner>
<owner>arc-core@google.com</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="2023-10-24">
<owner>mhasank@google.com</owner>
<owner>arc-core@google.com</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>mhasank@google.com</owner>
<owner>arc-core@google.com</owner>
<summary>
Elapsed time waiting for GMS sign-in to complete. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes"/>
</histogram>
<histogram name="Arc.boot_progress{AndroidBootProgressEvents}" units="ms"
expires_after="M81">
<obsolete>
Deprecated Dec 2022. Code that emits this histogram is in ArcMetricsService
in Android and needs removal (b/261750670)
</obsolete>
<owner>jhorwich@google.com</owner>
<owner>arc-core@google.com</owner>
<summary>
The relative time of a boot progress event since the ARC starts.
{AndroidBootProgressEvents}
</summary>
<token key="AndroidBootProgressEvents">
<variant name=""/>
<variant name="_ams_ready"
summary="For the boot_progress_ams_ready event."/>
<variant name="_enable_screen"
summary="For the boot_progress_enable_screen event."/>
<variant name="_pms_data_scan_start"
summary="For the boot_progress_pms_data_scan_start event."/>
<variant name="_pms_ready"
summary="For the boot_progress_pms_ready event."/>
<variant name="_pms_scan_end"
summary="For the boot_progress_pms_scan_end event."/>
<variant name="_pms_start"
summary="For the boot_progress_pms_start event."/>
<variant name="_pms_system_scan_start"
summary="For the boot_progress_pms_system_scan_start event."/>
<variant name="_preload_end"
summary="For the boot_progress_preload_end event."/>
<variant name="_preload_start"
summary="For the boot_progress_preload_start event."/>
<variant name="_start" summary="For the boot_progress_start event."/>
<variant name="_system_run"
summary="For the boot_progress_system_run event."/>
</token>
</histogram>
<histogram name="Arc.BootContinueCodeInstallationResult"
enum="ArcBootContinueCodeInstallationResult" expires_after="M81">
<obsolete>
Deprecated Dec 2022. Code that emits this histogram is in arc_setup in
Chrome OS and needs removal (b/261750670)
</obsolete>
<owner>jhorwich@google.com</owner>
<summary>Code installation result for ARC boot continue.</summary>
</histogram>
<histogram name="Arc.ChromeOsImeLatency" units="ms" expires_after="2022-04-01">
<obsolete>
Deprecated Mar 2022.
</obsolete>
<owner>yhanada@google.com</owner>
<owner>arc-framework@google.com</owner>
<summary>
Chrome OS IME's latency on ARC++ apps. This value is the elapsed time
between a key event sent to Chrome OS IME from ArcImeService and an IME
command corresponding to the key event arriving to ArcImeService.
</summary>
</histogram>
<histogram name="Arc.ClipboardDragDrop" enum="ArcClipboardDragDropEvent"
expires_after="2023-09-03">
<owner>yhanada@google.com</owner>
<owner>arc-framework@google.com</owner>
<summary>The number of clipboard and drag-and-drop events.</summary>
</histogram>
<histogram
name="Arc.CloudDpc{TimedCloudDpcOp}.TimeDelta{SuccessFailure}{ArcUserTypes}"
units="ms" expires_after="2024-01-30">
<owner>batoon@google.com</owner>
<owner>mhasank@google.com</owner>
<owner>arc-commercial@google.com</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.CodeIntegrityCheckingTotalTime" units="ms"
expires_after="M81">
<obsolete>
Deprecated Dec 2022. Code that emits this histogram is in arc_setup in
Chrome OS and needs removal (b/261750670)
</obsolete>
<owner>jhorwich@google.com</owner>
<summary>
Total time needed to check the integrity of host generated code. If
signature checking fails, it also includes the time to regenerate and sign
the code.
</summary>
</histogram>
<histogram name="Arc.CodeRelocationResult" enum="ArcCodeRelocationResult"
expires_after="M81">
<obsolete>
Deprecated Dec 2022. Code that emits this histogram is in arc_setup in
Chrome OS and needs removal (b/261750670)
</obsolete>
<owner>jhorwich@google.com</owner>
<summary>Host code relocation result.</summary>
</histogram>
<histogram name="Arc.CodeRelocationTime" units="ms" expires_after="M81">
<obsolete>
Deprecated Dec 2022. Code that emits this histogram is in arc_setup in
Chrome OS and needs removal (b/261750670)
</obsolete>
<owner>jhorwich@google.com</owner>
<summary>Time needed to relocate boot*.art files.</summary>
</histogram>
<histogram name="Arc.CodeSigningTime" units="ms" expires_after="M85">
<obsolete>
Deprecated Dec 2022. Code that emits this histogram is in arc_setup in
Chrome OS and needs removal (b/261750670)
</obsolete>
<owner>jhorwich@google.com</owner>
<summary>Time needed to sign boot*.art files.</summary>
</histogram>
<histogram name="Arc.CodeVerificationResult" enum="ArcCodeVerificationResult"
expires_after="M85">
<obsolete>
Deprecated Dec 2022. Code that emits this histogram is in arc_setup in
Chrome OS and needs removal (b/261750670)
</obsolete>
<owner>jhorwich@google.com</owner>
<summary>
Code verification result for host generated code for boot for login screen.
</summary>
</histogram>
<histogram name="Arc.CodeVerificationTime" units="ms" expires_after="M85">
<obsolete>
Deprecated Dec 2022. Code that emits this histogram is in arc_setup in
Chrome OS and needs removal (b/261750670)
</obsolete>
<owner>jhorwich@google.com</owner>
<summary>Time needed to verify host generated code.</summary>
</histogram>
<histogram name="Arc.CompanionLibraryApisCounter"
enum="CompanionLibraryApisList" expires_after="2023-10-08">
<owner>sstan@google.com</owner>
<owner>mhasank@google.com</owner>
<owner>arc-commercial@google.com</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="2023-08-20">
<owner>toshikikikuchi@google.com</owner>
<owner>takise@google.com</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.CompatMode.RightClickConversion"
enum="ArcRightClickConversionResult" expires_after="2023-10-22">
<owner>yhanada@google.com</owner>
<owner>arc-framework@google.com</owner>
<summary>
The number of times right click events on ARC++ apps are converted to
simulated long press.
</summary>
</histogram>
<histogram name="Arc.ContainerLifetimeEvent" enum="ArcContainerLifetimeEvent"
expires_after="2023-10-08">
<owner>khmel@google.com</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="2023-10-08">
<owner>khmel@google.com</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="2023-09-01">
<owner>khmel@google.com</owner>
<owner>alanding@google.com</owner>
<owner>arc-performance@google.com</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="2023-09-01">
<owner>khmel@google.com</owner>
<owner>alanding@google.com</owner>
<owner>arc-performance@google.com</owner>
<summary>
Records the result of setting ARC CPU restrictions in ARCVM.
</summary>
</histogram>
<histogram name="Arc.CumulativeUseTime" units="seconds"
expires_after="2023-10-08">
<owner>jhorwich@google.com</owner>
<owner>fahdi@google.com</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.CustomTabs.SessionEndReason"
enum="ArcCustomTabsSessionEndReason" expires_after="2020-08-23">
<obsolete>
Removed as of 05/2022
</obsolete>
<owner>hashimoto@google.com</owner>
<summary>
Reason why a custom tab session ended. Recorded when a session ends.
</summary>
</histogram>
<histogram name="Arc.CustomTabs.SessionLifetime2.All" units="ms"
expires_after="2020-10-04">
<obsolete>
Removed as of 05/2022
</obsolete>
<owner>hashimoto@google.com</owner>
<summary>Lifetime of each session. Recorded when a session ends.</summary>
</histogram>
<histogram name="Arc.CustomTabs.SessionLifetime2.Closed" units="ms"
expires_after="2020-05-31">
<obsolete>
Removed as of 05/2022
</obsolete>
<owner>hashimoto@google.com</owner>
<summary>
Lifetime of each session. Recorded when a session is closed.
</summary>
</histogram>
<histogram name="Arc.CustomTabs.SessionLifetime2.ForwardedToNormalTab"
units="ms" expires_after="2020-05-31">
<obsolete>
Removed as of 05/2022
</obsolete>
<owner>hashimoto@google.com</owner>
<summary>
Lifetime of each session. Recorded when a session ends because the tab was
forwarded to a normal tab.
</summary>
</histogram>
<histogram name="Arc.DataRestore.Duration" units="ms"
expires_after="2023-04-09">
<owner>khmel@google.com</owner>
<owner>arc-core@google.com</owner>
<summary>The duration of the SELinux data restoration flow.</summary>
</histogram>
<histogram name="Arc.DataRestore.Status" enum="ArcDataRestoreStatus"
expires_after="2023-09-03">
<owner>khmel@google.com</owner>
<owner>arc-core@google.com</owner>
<summary>
Tracks status of SELinux contexts restore flows of Android /data for ARC++ P
container. This also means ARC++ container boot delay.
</summary>
</histogram>
<histogram name="Arc.DelayedActivation.ActivationIsDelayed" enum="Boolean"
expires_after="2023-10-27">
<owner>hashimoto@chromium.org</owner>
<owner>yuholong@chromium.org</owner>
<owner>arcvm-eng@google.com</owner>
<summary>
True if ARC is going to be activated later in an on-demand manner on a
regular boot. False if ARC is going to be automatically activated without
delay.
</summary>
</histogram>
<histogram name="Arc.DelayedActivation.Delay" units="ms"
expires_after="2023-10-27">
<owner>hashimoto@chromium.org</owner>
<owner>yuholong@chromium.org</owner>
<owner>arcvm-eng@google.com</owner>
<summary>
Elapsed time from when the ARC is enabled to ARC activation on a regular
boot. Recorded only when activation is delayed.
</summary>
</histogram>
<histogram name="Arc.EngagementTime.ArcTotal" units="ms"
expires_after="2023-10-08">
<owner>mduggan@google.com</owner>
<owner>yhanada@google.com</owner>
<owner>arc-framework@google.com</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="2023-10-08">
<owner>mduggan@google.com</owner>
<owner>yhanada@google.com</owner>
<owner>arc-framework@google.com</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="2023-10-08">
<owner>mduggan@google.com</owner>
<owner>yhanada@google.com</owner>
<owner>arc-framework@google.com</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="2023-10-08">
<owner>mduggan@google.com</owner>
<owner>yhanada@google.com</owner>
<owner>arc-framework@google.com</owner>
<summary>
Total CrOS user session time (from login to logout) excluding times when
user &quot;disengages&quot;: 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.ExternalStorage.MountedMediaVisibility"
enum="BooleanEnabled" expires_after="2022-05-01">
<owner>fukino@chromium.org</owner>
<owner>youkichihosoi@chromium.org</owner>
<summary>
When a removable media is mounted, whether Android apps have full access to
the media. Users can allow full access in Settings.
</summary>
</histogram>
<histogram name="Arc.FileSystemWatcher.Created" enum="BooleanEnabled"
expires_after="2023-03-19">
<owner>risan@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</owner>
<summary>
How many times ArcFileSystemWatcher is created. Used as baseline for
Arc.FileSystemWatcher.ExceedLimit.
</summary>
</histogram>
<histogram name="Arc.FileSystemWatcher.ExceedLimit"
enum="ArcFileSystemWatcherExceedLimitState" expires_after="2023-10-08">
<owner>risan@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</owner>
<summary>
How many times inotify in ArcFileSystemWatcher exceeds its limit.
ArcFileSystemWatcher watches file system events on files shared with ARC by
using inotify, and requests MediaFileProvider in ARC to index media files
when needed. But the FilePathWatcher imposes a limit for the number of
watches that can be used by ArcFileSystemWatcher. Therefore, it is probable
that some media files are left unindexed.
</summary>
</histogram>
<histogram name="Arc.FirstAppLaunchDelay.TimeDelta" units="ms"
expires_after="2023-09-01">
<owner>khmel@google.com</owner>
<owner>arc-performance@google.com</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="2023-09-01">
<owner>khmel@google.com</owner>
<owner>alanding@google.com</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="2023-09-01">
<owner>khmel@google.com</owner>
<owner>arc-performance@google.com</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.Fixup.Entire.Failures" units="units"
expires_after="2024-01-01">
<owner>momohatt@google.com</owner>
<owner>arc-storage@google.com</owner>
<summary>
The number of apps that have at least one file or directory that is failed
to be fixed during the fixup process that is triggered after ARC P to R
upgrade.
</summary>
</histogram>
<histogram name="Arc.Fixup.{Scale}.Directories" units="units"
expires_after="2024-01-01">
<owner>momohatt@google.com</owner>
<owner>arc-storage@google.com</owner>
<summary>
The number of directories that are fixed during the {Scale} fixup process
that is triggered after ARC P to R upgrade.
</summary>
<token key="Scale">
<variant name="Entire" summary="the entire fixup process"/>
<variant name="PerApp" summary="per Android app"/>
</token>
</histogram>
<histogram name="Arc.Fixup.{Scale}.Duration" units="ms"
expires_after="2024-01-01">
<owner>momohatt@google.com</owner>
<owner>arc-storage@google.com</owner>
<summary>
The duration of the {Scale} fixup process that is triggered after ARC P to R
upgrade.
</summary>
<token key="Scale">
<variant name="Entire" summary="the entire fixup process"/>
<variant name="PerApp" summary="per Android app"/>
</token>
</histogram>
<histogram name="Arc.GhostWindowViewType" units="ArcGhostWindowViewType"
expires_after="2023-10-08">
<owner>sstan@chromium.org</owner>
<owner>arc-framework-tok@google.com</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="2023-10-01">
<owner>hungmn@google.com</owner>
<owner>raging@google.com</owner>
<owner>yuholong@google.com</owner>
<owner>arcvm-eng@google.com</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="2023-10-01">
<owner>hungmn@google.com</owner>
<owner>raging@google.com</owner>
<owner>yuholong@google.com</owner>
<owner>arcvm-eng@google.com</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="2023-10-01">
<owner>hungmn@google.com</owner>
<owner>raging@google.com</owner>
<owner>yuholong@google.com</owner>
<owner>arcvm-eng@google.com</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="2023-10-01">
<owner>hungmn@google.com</owner>
<owner>raging@google.com</owner>
<owner>yuholong@google.com</owner>
<owner>arcvm-eng@google.com</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>khmel@google.com</owner>
<owner>lgcheng@google.com</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>khmel@google.com</owner>
<owner>lgcheng@google.com</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>khmel@google.com</owner>
<owner>lgcheng@google.com</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>khmel@google.com</owner>
<owner>lgcheng@google.com</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.InputOverlay.ActionRepositionOperationType"
enum="ArcInputOverlayRepositionOperationType" expires_after="2023-10-01">
<owner>cuicuiruan@google.com</owner>
<owner>arc-gaming@google.com</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-06-13">
<owner>cuicuiruan@google.com</owner>
<owner>arc-gaming@google.com</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>cuicuiruan@google.com</owner>
<owner>arc-gaming@google.com</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>cuicuiruan@google.com</owner>
<owner>arc-gaming@google.com</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>cuicuiruan@google.com</owner>
<owner>arc-gaming@google.com</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-06-13">
<owner>cuicuiruan@google.com</owner>
<owner>arc-gaming@google.com</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>cuicuiruan@google.com</owner>
<owner>arc-gaming@google.com</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.IntentHelper.OpenAppWithIntentAction"
enum="ArcIntentHelperIntentAction" expires_after="2023-07-30">
<owner>tsergeant@chromium.org</owner>
<owner>chromeos-apps-foundation-team@google.com</owner>
<summary>
Recorded when an ARC app opens a Chrome OS app with an intent (e.g., when
Sharing from an Android app to a Web App installed through the Play Store).
Records the action being handled by the Chrome OS app, like Viewing a URL or
Sending content.
</summary>
</histogram>
<histogram name="Arc.LaunchedWithGhostWindow" units="apps"
expires_after="2023-07-09">
<owner>sstan@chromium.org</owner>
<owner>nancylingwang@chromium.org</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="2023-11-01">
<owner>hashimoto@google.com</owner>
<owner>khmel@google.com</owner>
<owner>arc-performance@google.com</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>hashimoto@google.com</owner>
<owner>khmel@google.com</owner>
<owner>arc-performance@google.com</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>hashimoto@google.com</owner>
<owner>khmel@google.com</owner>
<owner>arc-performance@google.com</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.LowLatencyStylusLibrary.PredictionTarget" units="ms"
expires_after="2022-04-24">
<owner>phshah@chromium.org</owner>
<owner>arc-app-dev@google.com</owner>
<summary>
Prediction target used in ChromeOS Low-latency Stylus Library.
</summary>
</histogram>
<histogram name="Arc.LowLatencyStylusLibraryApisCounter"
enum="LowLatencyStylusLibraryApisList" expires_after="2022-04-24">
<owner>phshah@chromium.org</owner>
<owner>arc-app-dev@google.com</owner>
<summary>
Records the number of times ChromeOS Low-latency Stylus Library API called.
Counter adding when its Stub library receive the call from applications.
</summary>
</histogram>
<histogram name="Arc.NativeBridge" enum="ArcNativeBridgeType"
expires_after="never">
<!-- expires-never: used internally for filtering -->
<owner>levarum@google.com</owner>
<owner>chrome-metrics-team@google.com</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="2023-09-27">
<owner>alanding@google.com</owner>
<owner>arc-app-dev@google.com</owner>
<summary>
Records any ARC Bridge connection / communication failures using
NearbyShare.
</summary>
</histogram>
<histogram name="Arc.NearbyShare.DataHandlingFailure"
enum="ArcNearbyShareDataHandlingResult" expires_after="2023-09-27">
<owner>alanding@google.com</owner>
<owner>arc-app-dev@google.com</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="2023-09-27">
<owner>alanding@google.com</owner>
<owner>arc-app-dev@google.com</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="2023-09-27">
<owner>alanding@google.com</owner>
<owner>arc-app-dev@google.com</owner>
<summary>
Records the reason for failing to stream a file using NearbyShare. ARC
NearbyShare shares a file after finding a window, and once &quot;share&quot;
is clicked, it attempts to send the file.
</summary>
</histogram>
<histogram name="Arc.NearbyShare.IOFailure" enum="ArcNearbyShareIOErrorResult"
expires_after="2023-09-27">
<owner>alanding@google.com</owner>
<owner>arc-app-dev@google.com</owner>
<summary>Records any IO errors while using NearbyShare.</summary>
</histogram>
<histogram name="Arc.NearbyShare.WindowFound" units="units"
expires_after="2023-09-27">
<owner>alanding@google.com</owner>
<owner>arc-app-dev@google.com</owner>
<summary>
Records the success or failure of attempts to find NearbyShare window. ARC
NearbyShare finds a window after the &quot;nearby share&quot; button is
clicked in an app. If NearbyShare successfully finds a window,
&quot;true&quot; is recorded onto the histogram. &quot;false&quot; is
recorded in the case a window is not found.
</summary>
</histogram>
<histogram name="Arc.Net.ArcNetworkError" enum="ArcNetworkError"
expires_after="2023-10-15">
<owner>hugobenichi@google.com</owner>
<owner>cros-networking@google.com</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="2023-09-10">
<owner>hugobenichi@google.com</owner>
<owner>cros-networking@google.com</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="2023-09-10">
<owner>mhasank@google.com</owner>
<owner>arc-core@google.com</owner>
<summary>
Records the success result of DNS query resolution inside ARC.
</summary>
</histogram>
<histogram name="Arc.Net.DnsQuery.Other" enum="BooleanSuccess"
expires_after="2023-09-10">
<owner>mhasank@google.com</owner>
<owner>arc-core@google.com</owner>
<summary>
Records the success result of DNS query resolution inside ARC.
</summary>
</histogram>
<histogram name="Arc.Notifications.ActionEnabled" enum="BooleanEnabled"
expires_after="2023-10-22">
<owner>yaoqq@google.com</owner>
<owner>arc-framework@google.com</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.ExpandState"
enum="ArcNotificationExpandState" expires_after="2023-10-22">
<owner>yaoqq@google.com</owner>
<owner>arc-framework@google.com</owner>
<summary>
Records the expand state of an Arc notification, the status of
fixed_size/expandable is logged when the notification is created, while the
status of expanded/collapsed is logged when the user expands/collapses it.
Need to note that if it's a grouped notification we are tracking the state
of the summary(top level) notification of the group, since we can't easily
acquire the state for the child notifications of the group.
</summary>
</histogram>
<histogram name="Arc.Notifications.InlineReplyEnabled" enum="BooleanEnabled"
expires_after="2023-10-22">
<owner>yaoqq@google.com</owner>
<owner>arc-framework@google.com</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="2023-10-22">
<owner>shuminghao@google.com</owner>
<owner>arc-framework@google.com</owner>
<summary>
Records whether an Arc notification is custom notification or not.
</summary>
</histogram>
<histogram name="Arc.Notifications.Style" enum="ArcNotificationStyle"
expires_after="2023-10-22">
<owner>yaoqq@google.com</owner>
<owner>arc-framework@google.com</owner>
<summary>Records the style of an Arc notification when it's created.</summary>
</histogram>
<histogram name="Arc.OptInAction" enum="ArcOptInAction"
expires_after="2023-10-22">
<owner>mhasank@google.com</owner>
<owner>arc-core@google.com</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="2023-09-16">
<owner>mhasank@google.com</owner>
<owner>arc-core@google.com</owner>
<summary>Arc OptIn cancelation reason.</summary>
</histogram>
<histogram name="Arc.OptInNetworkErrorAction" enum="ArcOptInNetworkErrorAction"
expires_after="2023-08-13">
<owner>mhasank@google.com</owner>
<owner>arc-core@google.com</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="2023-09-17">
<owner>mhasank@google.com</owner>
<owner>khmel@google.com</owner>
<owner>arc-core@google.com</owner>
<summary>Arc OptIn flow result.</summary>
</histogram>
<histogram name="Arc.OptInSilentAuthCode" enum="ArcOptInSilentAuthCode"
expires_after="2024-01-30">
<owner>mhasank@google.com</owner>
<owner>khmel@google.com</owner>
<owner>arc-core@google.com</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="2024-01-10">
<owner>mhasank@google.com</owner>
<owner>khmel@google.com</owner>
<owner>arc-core@google.com</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="2023-09-12">
<owner>mhasank@google.com</owner>
<owner>khmel@google.com</owner>
<owner>arc-core@google.com</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.PlayAutoInstallRequest.State{ArcUserTypes}"
enum="ArcPlayAutoInstallRequestState" expires_after="2023-08-01">
<owner>jhorwich@google.com</owner>
<owner>khmel@google.com</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="2023-08-01">
<owner>jhorwich@google.com</owner>
<owner>khmel@google.com</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.PlayFilesCount.{FileTypeByDirectoryOrNot}" units="count"
expires_after="2023-07-01">
<owner>momohatt@google.com</owner>
<owner>arc-storage@google.com</owner>
<summary>
The number of {FileTypeByDirectoryOrNot} under the &quot;Play files&quot;
folder in ChromeOS Files app except for the &quot;Android&quot; directory.
The data is collected once per device, on the first ARC boot after the
device upgrades to a ChromeOS version with this metric.
</summary>
<token key="FileTypeByDirectoryOrNot" variants="FileTypeByDirectoryOrNot"/>
</histogram>
<histogram name="Arc.PlayStoreLaunch.TimeDelta" units="ms"
expires_after="2023-09-01">
<owner>khmel@google.com</owner>
<owner>arc-performance@google.com</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="2023-10-22">
<owner>rsorokin@chromium.org</owner>
<owner>cros-oac@google.com</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.DefaultResultClickLatency" units="ms"
expires_after="2021-12-31">
<obsolete>
Deprecated in M108. Tiled app results are no longer shown.
</obsolete>
<owner>jennyz@chromium.org</owner>
<owner>newcomer@chromium.org</owner>
<summary>
Time between a default play store result being activated by user pressing
ENTER key and being displayed.
</summary>
</histogram>
<histogram name="Arc.PlayStoreSearch.QueryTime" units="ms"
expires_after="2023-03-19">
<owner>tby@chromium.org</owner>
<owner>ypitsishin@chromium.org</owner>
<owner>chrome-knowledge-eng@google.com</owner>
<summary>
Time between sending an Play Store app discovery request and the storing
returned results.
</summary>
</histogram>
<histogram name="Arc.PlayStoreSearch.ResultClickLatency" units="ms"
expires_after="2021-12-31">
<owner>jennyz@chromium.org</owner>
<owner>newcomer@chromium.org</owner>
<summary>
Time between a play store result being clicked and being displayed.
</summary>
</histogram>
<histogram name="Arc.PlayStoreSearch.ReturnedAppsTotalV2" units="apps"
expires_after="2023-09-01">
<owner>tby@chromium.org</owner>
<owner>ypitsishin@chromium.org</owner>
<owner>chrome-knowledge-eng@google.com</owner>
<summary>
The total number of returned apps of a Play Store app discovery query.
</summary>
</histogram>
<histogram name="Arc.PlayStoreSearch.ReturnedInstantAppsV2" units="apps"
expires_after="2023-09-01">
<owner>tby@chromium.org</owner>
<owner>ypitsishin@chromium.org</owner>
<owner>chrome-knowledge-eng@google.com</owner>
<summary>
The number of returned instant apps of a Play Store app discovery query.
</summary>
</histogram>
<histogram name="Arc.PlayStoreSearch.ReturnedUninstalledAppsV2" units="apps"
expires_after="2023-09-01">
<owner>tby@chromium.org</owner>
<owner>ypitsishin@chromium.org</owner>
<owner>chrome-knowledge-eng@google.com</owner>
<summary>
The number of returned uninstalled apps of a Play Store app discovery query.
</summary>
</histogram>
<histogram name="Arc.PlayStoreShown.TimeDelta{ArcUserTypes}" units="ms"
expires_after="2023-09-01">
<owner>khmel@google.com</owner>
<owner>arc-performance@google.com</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="2023-09-17">
<owner>batoon@google.com</owner>
<owner>arc-commercial@google.com</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="2023-09-10">
<owner>mhasank@google.com</owner>
<owner>arc-commercial@google.com</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.PrintPreview.PreviewEvent" enum="PrintPreviewHelperEvents"
expires_after="2023-10-04">
<owner>bmgordon@chromium.org</owner>
<owner>project-bolton@google.com</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="2023-06-11">
<owner>bmgordon@chromium.org</owner>
<owner>project-bolton@google.com</owner>
<summary>
Count how frequently a set of pre-defined print preview errors occur for
ARC.
</summary>
</histogram>
<histogram name="Arc.Provisioning.CheckInError{ArcUserTypes}"
enum="ArcProvisioningCheckInError" expires_after="never">
<!-- expires-never: Needed for long-term health monitoring of ARC provisioning. -->
<owner>mhasank@google.com</owner>
<owner>arc-core@google.com</owner>
<summary>
The error that occurred during GMS check-in operation. Recorded when ARC++
provisioning flow fails. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes"/>
</histogram>
<histogram name="Arc.Provisioning.CloudFlowError{ArcUserTypes}"
enum="ArcProvisioningCloudFlowError" expires_after="never">
<!-- expires-never: Needed for long-term health monitoring of ARC provisioning. -->
<owner>mhasank@google.com</owner>
<owner>arc-core@google.com</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>yaohuali@google.com</owner>
<owner>mhasank@google.com</owner>
<owner>arc-commercial@google.com</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.SignInError{ArcUserTypes}"
enum="ArcProvisioningSignInError" expires_after="never">
<!-- expires-never: Needed for long-term health monitoring of ARC provisioning. -->
<owner>mhasank@google.com</owner>
<owner>arc-core@google.com</owner>
<summary>
The error that occured during GMS sign-in operation. Recorded when ARC++
provisioning flow fails. {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>mhasank@google.com</owner>
<owner>arc-core@google.com</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="2024-03-08">
<owner>mhasank@google.com</owner>
<owner>arc-core@google.com</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="2024-03-08">
<owner>mhasank@google.com</owner>
<owner>arc-core@google.com</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="2024-01-01">
<owner>mhasank@google.com</owner>
<owner>arc-core@gmail.com</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="2023-09-01">
<owner>khmel@google.com</owner>
<owner>alanding@google.com</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.
{ArcPerformanceAppCategories}
</summary>
<token key="ArcPerformanceAppCategories"
variants="ArcPerformanceAppCategories">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.Runtime.Performance.FPS2{ArcPerformanceAppCategories}"
units="fps" expires_after="2023-09-01">
<owner>khmel@google.com</owner>
<owner>alanding@google.com</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="2023-09-01">
<owner>khmel@google.com</owner>
<owner>alanding@google.com</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="2023-09-01">
<owner>khmel@google.com</owner>
<owner>alanding@google.com</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="2023-09-01">
<owner>khmel@google.com</owner>
<owner>alanding@google.com</owner>
<summary>
Percentage ratio of janky frames to total frames recorded in a 5 minute
interval.
</summary>
</histogram>
<histogram
name="Arc.Runtime.Performance.RenderQuality2{ArcPerformanceAppCategories}"
units="%" expires_after="2023-09-01">
<owner>khmel@google.com</owner>
<owner>alanding@google.com</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="2023-08-27">
<owner>niwa@google.com</owner>
<owner>arcvm-eng@google.com</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>mhasank@chromium.org</owner>
<owner>jhorwich@google.com</owner>
<owner>khmel@google.com</owner>
<owner>arc-core@google.com</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-10-22">
<owner>hungmn@google.com</owner>
<owner>khmel@google.com</owner>
<owner>arc-performance@google.com</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>shaochuan@google.com</owner>
<owner>khmel@google.com</owner>
<owner>ttylenda@google.com</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="2023-11-01">
<owner>jhorwich@google.com</owner>
<owner>arc-core@google.com</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>jhorwich@google.com</owner>
<owner>ttylenda@google.com</owner>
<owner>chrome-metrics-team@google.com</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>jhorwich@google.com</owner>
<owner>khmel@google.com</owner>
<summary>
Similar to &quot;Arc.State&quot; 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="2023-10-04">
<owner>mhasank@chromium.org</owner>
<owner>arc-commercial@google.com</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="2023-10-04">
<owner>mhasank@chromium.org</owner>
<owner>arc-commercial@google.com</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="2023-10-24">
<owner>mhasank@chromium.org</owner>
<owner>arc-commercial@google.com</owner>
<summary>
Whether supervision transition screen exited due to a successful transition.
</summary>
</histogram>
<histogram name="Arc.SystemHealth.Upgrade.PackagesDeleted"
enum="BooleanDeletedOrNot" expires_after="2023-08-29">
<owner>mhasank@chromium.org</owner>
<owner>arc-core@google.com</owner>
<summary>
Whether system package updates were deleted during ARC upgrade.
</summary>
</histogram>
<histogram name="Arc.SystemHealth.Upgrade.TimeDelta" units="ms"
expires_after="2023-08-29">
<owner>mhasank@chromium.org</owner>
<owner>arc-core@google.com</owner>
<summary>
Time taken by ARC System Health Service to run upgrade hygiene tasks.
</summary>
</histogram>
<histogram name="Arc.Tracing.Tool" enum="ArcTracingToolAction"
expires_after="M82">
<owner>khmel@google.com</owner>
<summary>Action of ARC++ Graphics Tracing tool.</summary>
</histogram>
<histogram name="Arc.UiAvailable.AlreadyProvisioned.TimeDelta{ArcUserTypes}"
units="ms" expires_after="2023-09-01">
<owner>khmel@google.com</owner>
<owner>arc-performance@google.com</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="2023-09-01">
<owner>khmel@google.com</owner>
<owner>arc-performance@google.com</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="2023-09-01">
<owner>khmel@google.com</owner>
<owner>arc-performance@google.com</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="2023-10-08">
<owner>jhorwich@chromium.org</owner>
<owner>arc-core@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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.InitialBatteryLevel" units="%"
expires_after="2024-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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-01-01">
<owner>momohatt@google.com</owner>
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</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.VolumeMounter.MountFailureCount" units="failures"
expires_after="2023-04-19">
<owner>youkichihosoi@google.com</owner>
<owner>arc-storage@google.com</owner>
<summary>
Counts the number of mount failures for a volume shared with ARC. This is
recorded when a volume is successfully mounted by ARC, or when ARC gives up
on mounting a volume. Samples in the underflow bucket (value 0) indicate
that ARC successfully mounted the volume without any failure. Samples in the
overflow bucket indicate that ARC stopped trying to mount the volume after
reaching the retry threshold. Samples in between them with value n indicate
that ARC successfully mounted the volume after n failures (= n retries).
Emitted only on ARC-enabled Chrome OS devices.
</summary>
</histogram>
<histogram name="Arc.VpnServiceBuilderCompatApisCounter"
enum="VpnServiceBuilderCompatApisList" expires_after="2023-10-24">
<owner>mhasank@google.com</owner>
<owner>preranap@google.com</owner>
<owner>arc-commercial@google.com</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.Wayland.LateTiming.Duration{WaylandEventType}" units="ms"
expires_after="2023-09-16">
<owner>alanding@google.com</owner>
<owner>arc-performance@google.com</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="2023-09-16">
<owner>alanding@google.com</owner>
<owner>arc-performance@google.com</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="2023-09-17">
<owner>sstan@google.com</owner>
<owner>arc-framework@google.com</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="ArcAuth.CheckinTime" units="ms" expires_after="M87">
<!-- Deprecated, used to access legacy data -->
<owner>mhasank@google.com</owner>
<owner>arc-core@google.com</owner>
<summary>
Elapsed time waiting for the check-in task to be completed. This is recorded
in case check-in task is completed successfully.
</summary>
</histogram>
<histogram name="ArcAuth.SignInTime" units="ms" expires_after="M87">
<!-- Deprecated, used to access legacy data -->
<owner>mhasank@google.com</owner>
<owner>arc-core@google.com</owner>
<summary>Elapsed time waiting for GMS sign-in to complete.</summary>
</histogram>
</histograms>
</histogram-configuration>