blob: c8d57a5ac1511480a3ac0b0c3f0faee58f6de692 [file] [log] [blame]
<!--
Copyright 2020 The Chromium Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<!--
This file is used to generate a comprehensive list of 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="ArcPerformanceAppCategories">
<variant name=".CasualGame" summary="Casual game.">
<obsolete>
Replaced with CasualGame2 in 2020/09.
</obsolete>
</variant>
<variant name=".CasualGame2" summary="Casual game 2.">
<obsolete>
Replaced in M91 by GachaClub
</obsolete>
</variant>
<variant name=".GachaClub" summary="Casual game 2: Gacha Club"/>
<variant name=".GarenaFreeFire" summary="Shooter game: Garena Free Fire"/>
<variant name=".HeavyGame" summary="Heavy Game.">
<obsolete>
Replaced in M91 by PUBGMobile
</obsolete>
</variant>
<variant name=".MinecraftEducationEdition"
summary="Online game 2: Minecraft: Education Edition"/>
<variant name=".Netflix" summary="Video playback app: Netflix"/>
<variant name=".OnlineGame" summary="Online game.">
<obsolete>
Replaced in M91 by Roblox
</obsolete>
</variant>
<variant name=".PUBGMobile" summary="Heavy Game: PUBG Mobile"/>
<variant name=".Roblox" summary="Online game: Roblox"/>
<variant name=".ShooterGame" summary="Shooter game.">
<obsolete>
Replaced in M91 by GarenaFreeFire
</obsolete>
</variant>
<variant name=".Video" summary="Video playback app.">
<obsolete>
Replaced in M91 by Netflix
</obsolete>
</variant>
</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>
<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.AccessibilityWithTalkBack" enum="BooleanEnabled"
expires_after="2022-04-10">
<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.AdaptiveIconLoad.FromArcAppIcon"
enum="BooleanIsAdaptiveIcon" expires_after="2020-12-31">
<obsolete>
Obsoleted in November 2021.
</obsolete>
<owner>dominickn@chromium.org</owner>
<owner>lgcheng@google.com</owner>
<owner>nancylingwang@chromium.org</owner>
<summary>
The adaptive Arc app icons are loaded from ArcAppIcon. Recorded whether the
icon is the adaptive icon when the icon is loaded.
</summary>
</histogram>
<histogram name="Arc.AdaptiveIconLoad.FromArcDefaultAppIcon"
enum="BooleanIsAdaptiveIcon" expires_after="2020-12-31">
<obsolete>
Obsoleted in November 2021.
</obsolete>
<owner>dominickn@chromium.org</owner>
<owner>lgcheng@google.com</owner>
<owner>nancylingwang@chromium.org</owner>
<summary>
The adaptive Arc app icons are loaded from ArcAppIcon for default Arc apps.
Recorded whether the icon is the adaptive icon when the icon is loaded.
</summary>
</histogram>
<histogram name="Arc.AdaptiveIconLoad.FromNonArcAppIcon"
enum="BooleanIsAdaptiveIcon" expires_after="2020-12-31">
<obsolete>
Obsoleted in November 2021.
</obsolete>
<owner>dominickn@chromium.org</owner>
<owner>lgcheng@google.com</owner>
<owner>nancylingwang@chromium.org</owner>
<summary>
The adaptive Arc app icons are loaded from Non ArcAppIcon. Recorded whether
the icon is the adaptive icon when the icon is loaded.
</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="2022-04-24">
<owner>elijahtaylor@google.com</owner>
<owner>shihuis@google.com</owner>
<summary>The time elapsed for booting up the ARC instance.</summary>
</histogram>
<histogram name="Arc.Anr.{AnrSource}" enum="ArcAnr" expires_after="2022-05-01">
<owner>khmel@google.com</owner>
<owner>alanding@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.PrimaryAbi" enum="AppPrimaryAbi" expires_after="M102">
<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="2022-04-24">
<owner>elijahtaylor@google.com</owner>
<owner>shihuis@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.AppInstalledReason" enum="InstallationCounterReasonEnum"
expires_after="2022-04-24">
<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.AppListRecommendedImp.AllImpression" units="count"
expires_after="2022-01-09">
<obsolete>
Removed December 2021.
</obsolete>
<owner>thanhdng@chromium.org</owner>
<owner>tby@chromium.org</owner>
<owner>wrong@chromium.org</owner>
<summary>
Record a count of an impression of FAR result. This is a count _any_ time
it's shown, even for a millisecond. Warning: this histogram was expired from
09/01/2021 to 10/01/2021; data may be missing.
</summary>
</histogram>
<histogram name="Arc.AppListRecommendedImp.CountedImpression" units="count"
expires_after="2022-01-09">
<obsolete>
Removed December 2021.
</obsolete>
<owner>thanhdng@chromium.org</owner>
<owner>tby@chromium.org</owner>
<owner>wrong@chromium.org</owner>
<summary>
Record a count of an impression of FAR result. This is a count of heuristic
real impressions: a new showing after a while, a longer showing, etc.
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="2022-07-24">
<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="2022-07-24">
<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="M99">
<owner>elijahtaylor@google.com</owner>
<owner>shihuis@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;
data may be missing.
</summary>
</histogram>
<histogram name="Arc.AppUninstallReason" enum="UninstallCounterReasonEnum"
expires_after="2022-04-24">
<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="2022-07-04">
<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">
<variant name="">
<obsolete>
Base histogram. Use suffixes of this histogram instead.
</obsolete>
</variant>
</token>
</histogram>
<histogram name="Arc.Auth.AccountCheck.TimeDelta{ArcUserTypes}" units="ms"
expires_after="2022-07-04">
<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">
<variant name="">
<obsolete>
Base histogram. Use suffixes of this histogram instead.
</obsolete>
</variant>
</token>
</histogram>
<histogram name="Arc.Auth.AndroidIdSource{ArcUserTypes}"
enum="ArcAuthAndroidIdSource" expires_after="2022-08-09">
<owner>mhasank@google.com</owner>
<owner>arc-core@google.com</owner>
<summary>
The source of AndroidId during ARC provisioning. Recorded when trying to
determine if the device is checked in. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes">
<variant name="">
<obsolete>
Base histogram. Use suffixes of this histogram instead.
</obsolete>
</variant>
</token>
</histogram>
<histogram name="Arc.Auth.Checkin.Attempts{ArcUserTypes}" units="attempts"
expires_after="2022-07-04">
<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">
<variant name="">
<obsolete>
Base histogram. Use suffixes of this histogram instead.
</obsolete>
</variant>
</token>
</histogram>
<histogram name="Arc.Auth.Checkin.TimeDelta{ArcUserTypes}" units="ms"
expires_after="2022-07-04">
<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">
<variant name="">
<obsolete>
Base histogram. Use suffixes of this histogram instead.
</obsolete>
</variant>
</token>
</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="2022-08-01">
<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="2022-07-04">
<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="2022-07-04">
<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">
<variant name="">
<obsolete>
Base histogram. Use suffixes of this histogram instead.
</obsolete>
</variant>
</token>
</histogram>
<histogram name="Arc.Auth.RequestAccountInfoResult.Primary"
enum="ArcAuthCodeStatus" expires_after="2022-08-01">
<owner>anastasiian@google.com</owner>
<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="2022-08-01">
<owner>anastasiian@google.com</owner>
<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="2022-07-04">
<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">
<variant name="">
<obsolete>
Base histogram. Use suffixes of this histogram instead.
</obsolete>
</variant>
</token>
</histogram>
<histogram name="Arc.boot_progress{AndroidBootProgressEvents}" units="ms"
expires_after="M81">
<owner>elijahtaylor@google.com</owner>
<owner>shihuis@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">
<owner>elijahtaylor@google.com</owner>
<owner>xzhou@google.com</owner>
<summary>Code installation result for ARC boot continue.</summary>
</histogram>
<histogram name="Arc.ChromeOsImeLatency" units="ms" expires_after="2022-04-01">
<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="2022-04-24">
<owner>tetsui@google.com</owner>
<owner>arc-framework@google.com</owner>
<summary>The number of clipboard and drag-and-drop events.</summary>
</histogram>
<histogram name="Arc.CodeIntegrityCheckingTotalTime" units="ms"
expires_after="M81">
<owner>elijahtaylor@google.com</owner>
<owner>xzhou@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">
<owner>elijahtaylor@google.com</owner>
<owner>xzhou@google.com</owner>
<summary>Host code relocation result.</summary>
</histogram>
<histogram name="Arc.CodeRelocationTime" units="ms" expires_after="M81">
<owner>elijahtaylor@google.com</owner>
<owner>xzhou@google.com</owner>
<summary>Time needed to relocate boot*.art files.</summary>
</histogram>
<histogram name="Arc.CodeSigningTime" units="ms" expires_after="M85">
<owner>elijahtaylor@google.com</owner>
<owner>xzhou@google.com</owner>
<summary>Time needed to sign boot*.art files.</summary>
</histogram>
<histogram name="Arc.CodeVerificationResult" enum="ArcCodeVerificationResult"
expires_after="M85">
<owner>elijahtaylor@google.com</owner>
<owner>xzhou@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">
<owner>elijahtaylor@google.com</owner>
<owner>xzhou@google.com</owner>
<summary>Time needed to verify host generated code.</summary>
</histogram>
<histogram name="Arc.CompanionLibraryApisCounter"
enum="CompanionLibraryApisList" expires_after="2022-04-10">
<owner>sstan@google.com</owner>
<owner>bartfab@chromium.org</owner>
<owner>giovax@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="2022-07-27">
<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="2022-06-30">
<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.ComplianceReportSinceUpdateNotificationTime" units="ms"
expires_after="M85">
<owner>alexchau@google.com</owner>
<owner>emaxx@google.com</owner>
<summary>
Elapsed time from the policy update notification sent to ARC to the
corresponding successfully obtained compliance report from CloudDPS.
</summary>
</histogram>
<histogram name="Arc.ContainerLifetimeEvent" enum="ArcContainerLifetimeEvent"
expires_after="2022-04-03">
<owner>elijahtaylor@google.com</owner>
<owner>yusukes@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.
</summary>
</histogram>
<histogram name="Arc.ContainerRestartAfterCrashCount" units="units"
expires_after="2022-04-24">
<owner>elijahtaylor@google.com</owner>
<owner>yusukes@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.
</summary>
</histogram>
<histogram name="Arc.CpuRestrictionDisabled{ArcThrottleObservers}" units="ms"
expires_after="2022-09-01">
<owner>wvk@google.com</owner>
<owner>khmel@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="">
<obsolete>
Base histogram. Use suffixes of this histogram instead.
</obsolete>
</variant>
<variant name=".ArcAppLaunchRequested"
summary="ARC app launch in progress."/>
<variant name=".ArcIsBooting" summary="ARC is booting or restarting."/>
<variant name=".ArcPipWindowIsVisible"
summary="An ARC PIP window is active."/>
<variant name=".ArcWindowIsActiveWindow"
summary="An ARC window is active."/>
</token>
</histogram>
<histogram name="Arc.CumulativeUseTime" units="seconds"
expires_after="2022-05-01">
<owner>elijahtaylor@google.com</owner>
<owner>shihuis@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; data may be missing.
</summary>
</histogram>
<histogram name="Arc.CupsPrinting.PageCount" units="units"
expires_after="2020-10-04">
<obsolete>
Removed 2021-09.
</obsolete>
<owner>skau@chromium.org</owner>
<owner>vkuzkokov@google.com</owner>
<summary>
The number of pages sent to a native printer by ARC. Reported for every
print job originating in ARC container and sent to a CUPS printer.
Warning: this histogram was expired after 2020-10-04 and brought back
2021-09-17; data may be missing.
</summary>
</histogram>
<histogram name="Arc.CustomTabs.SessionEndReason"
enum="ArcCustomTabsSessionEndReason" expires_after="2020-08-23">
<owner>hashimoto@google.com</owner>
<owner>shihuis@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">
<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">
<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">
<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="2022-09-01">
<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="2022-09-01">
<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.EngagementTime.ArcTotal" units="ms"
expires_after="2022-04-24">
<owner>maajid@google.com</owner>
<owner>shaochuan@google.com</owner>
<owner>shihuis@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="2022-04-17">
<owner>maajid@google.com</owner>
<owner>shaochuan@google.com</owner>
<owner>shihuis@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="2022-04-03">
<owner>maajid@google.com</owner>
<owner>shaochuan@google.com</owner>
<owner>shihuis@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="2022-04-24">
<owner>maajid@google.com</owner>
<owner>shaochuan@google.com</owner>
<owner>shihuis@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>yusukes@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. Changing the preference
in Settings is tracked by Arc.ExternalStorage.SetVisible.
</summary>
</histogram>
<histogram name="Arc.ExternalStorage.SetVisible" enum="BooleanEnabled"
expires_after="2021-09-01">
<owner>fukino@chromium.org</owner>
<owner>yusukes@chromium.org</owner>
<summary>
When a user clicks a toggle switch in &quot;External storage
preferences&quot; screen, where the new value is ENABLED or not.
</summary>
</histogram>
<histogram name="Arc.FileSystemWatcher.Created" enum="BooleanEnabled"
expires_after="2022-08-26">
<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="2022-08-26">
<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="2022-09-01">
<owner>yusukes@google.com</owner>
<owner>khmel@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="2022-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="2022-09-01">
<owner>yusukes@google.com</owner>
<owner>khmel@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.FirstComplianceReportTime.SinceSignIn" units="ms"
expires_after="M81">
<owner>alexchau@google.com</owner>
<owner>emaxx@google.com</owner>
<summary>
Elapsed time from the signing in process start to a successfully obtained
compliance report from CloudDPS.
</summary>
</histogram>
<histogram name="Arc.FirstComplianceReportTime.SinceStartup" units="ms"
expires_after="M81">
<owner>alexchau@google.com</owner>
<owner>emaxx@google.com</owner>
<summary>
Elapsed time from ARC startup to a successfully obtained compliance report
from CloudDPS. This value is not reported during the first startup when
signing in happens.
</summary>
</histogram>
<histogram name="Arc.Fixup.Entire.Failures" units="units"
expires_after="2022-07-02">
<owner>risan@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="2022-07-02">
<owner>risan@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="2022-07-02">
<owner>risan@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.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.ImageCopyPasteCompatOperationType"
enum="ArcImageCopyPasteCompatOperationType" expires_after="2022-04-01">
<owner>tetsui@chromium.org</owner>
<owner>yhanada@chromium.org</owner>
<summary>
The operation type (copy-paste or drag-drop) and the source of the image
(from browser or Files app), counted when image copy-paste app compat is
triggered. Image copy-paste app compat is a feature that allows insertion of
images to Android apps through commitContent IME API or Android intent, when
the app don't support images in the clipboard. For example, when a user
pastes an image from Files app to an Android app and the app compat logic
succeeds to insert the image, then that is one histogram count. If it fails
(for example the app does not implement commitContent API) or the app
already supports image pasting from the clipboard and the app compat logic
is not used, that will not be counted.
</summary>
</histogram>
<histogram name="Arc.ImeCount" units="units" expires_after="2022-04-01">
<owner>yhanada@chromium.org</owner>
<owner>tetsui@chromium.org</owner>
<summary>
The number of IME apps installed. Collected at startup and when an IME app
is installed or uninstalled.
</summary>
</histogram>
<histogram name="Arc.IntentHelper.OpenAppWithIntentAction"
enum="ArcIntentHelperIntentAction" expires_after="2022-04-17">
<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.IntentHelper.OpenType" enum="ArcIntentHelperOpenType"
expires_after="2020-08-16">
<owner>hashimoto@google.com</owner>
<owner>shihuis@google.com</owner>
<summary>
Types of things opened via ARC IntentHelperHost interface. Recorded when one
of the &quot;open&quot; methods of the interface is called.
</summary>
</histogram>
<histogram name="Arc.LaunchedWithGhostWindow" units="apps"
expires_after="2022-04-24">
<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.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.LowMemoryKiller.Count" units="units" expires_after="M82">
<obsolete>
Removed in Oct 2020. Now reported as Memory.LowMemoryKiller.Count.
</obsolete>
<owner>elijahtaylor@google.com</owner>
<owner>shihuis@google.com</owner>
<summary>Cumulative count of low memory kills in one user session.</summary>
</histogram>
<histogram name="Arc.LowMemoryKiller.FirstKillLatency" units="ms"
expires_after="M82">
<obsolete>
Removed in Oct 2020. Now reported as
Memory.LowMemoryKiller.FirstKillLatency.
</obsolete>
<owner>cywang@google.com</owner>
<owner>elijahtaylor@google.com</owner>
<owner>shihuis@google.com</owner>
<summary>
When Chrome OS is in low memory state, TabManager kills some victims to free
memory. This value is the elapsed time between TabManager receiving the low
memory notification and the first kill.
</summary>
</histogram>
<histogram name="Arc.LowMemoryKiller.FreedSize" units="KB"
expires_after="2021-02-21">
<obsolete>
Removed in Oct 2020. Now reported as Memory.LowMemoryKiller.FreedSize.
</obsolete>
<owner>elijahtaylor@google.com</owner>
<owner>shihuis@google.com</owner>
<summary>The memory size freed by each low memory kill event.</summary>
</histogram>
<histogram name="Arc.LowMemoryKiller.TimeDelta" units="ms"
expires_after="2021-02-21">
<obsolete>
Removed in Oct 2020. Now reported as Memory.LowMemoryKiller.TimeDelta.
</obsolete>
<owner>elijahtaylor@google.com</owner>
<owner>shihuis@google.com</owner>
<summary>The elapsed time to last low memory kill event.</summary>
</histogram>
<histogram name="Arc.NativeBridge" enum="ArcNativeBridgeType"
expires_after="never">
<!-- expires-never: used internally for filtering -->
<owner>elijahtaylor@google.com</owner>
<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="2022-03-27">
<owner>ttefera@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="2022-03-27">
<owner>ttefera@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="2022-07-01">
<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="2022-03-23">
<owner>ttefera@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="2022-03-27">
<owner>ttefera@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="2022-03-09">
<owner>ttefera@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="2022-04-01">
<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="2022-04-01">
<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="2022-07-22">
<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="2022-07-22">
<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.OOMKills.Count" units="kills" expires_after="2021-03-07">
<obsolete>
Removed in Oct 2020. Now reported as Memory.OOMKills.Count.
</obsolete>
<owner>elijahtaylor@google.com</owner>
<owner>shihuis@google.com</owner>
<summary>Cumulative count of OOM kills in one user session.</summary>
</histogram>
<histogram name="Arc.OptInAction" enum="ArcOptInAction"
expires_after="2022-03-17">
<owner>elijahtaylor@google.com</owner>
<owner>shihuis@google.com</owner>
<summary>Arc OptIn action taken by user.</summary>
</histogram>
<histogram name="Arc.OptInCancel" enum="ArcOptInCancel"
expires_after="2022-07-04">
<owner>elijahtaylor@google.com</owner>
<owner>shihuis@google.com</owner>
<summary>Arc OptIn cancelation reason.</summary>
</histogram>
<histogram name="Arc.OptInNetworkErrorAction" enum="ArcOptInNetworkErrorAction"
expires_after="2022-08-01">
<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="2022-04-17">
<owner>elijahtaylor@google.com</owner>
<owner>khmel@google.com</owner>
<summary>Arc OptIn flow result.</summary>
</histogram>
<histogram name="Arc.OptInSilentAuthCode" enum="ArcOptInSilentAuthCode"
expires_after="2022-05-01">
<owner>elijahtaylor@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="2021-03-15">
<owner>khmel@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="2022-05-01">
<owner>khmel@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="2022-09-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="2022-09-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.PlayStoreLaunch.TimeDelta" units="ms"
expires_after="2022-09-01">
<owner>khmel@google.com</owner>
<owner>yusukes@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="2022-07-20">
<owner>tellier@google.com</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">
<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="2022-05-08">
<owner>hejq@chromium.org</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.ReturnedAppsTotal" units="apps"
expires_after="2022-05-01">
<owner>hejq@chromium.org</owner>
<summary>
The total number of returned apps of a Play Store app discovery query.
</summary>
</histogram>
<histogram name="Arc.PlayStoreSearch.ReturnedInstantApps" units="apps"
expires_after="2020-06-28">
<owner>hejq@chromium.org</owner>
<summary>
The number of returned instant apps of a Play Store app discovery query.
</summary>
</histogram>
<histogram name="Arc.PlayStoreSearch.ReturnedUninstalledApps" units="apps"
expires_after="2020-06-28">
<owner>hejq@chromium.org</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="2022-09-01">
<owner>yusukes@google.com</owner>
<owner>khmel@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.PrintPreview.PreviewEvent" enum="PrintPreviewHelperEvents"
expires_after="2022-04-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.RenderAndGeneratePDFTime" units="ms"
expires_after="2021-06-01">
<obsolete>
Removed in May 2021 and merged into PrintPreview.RenderAndGeneratePDFTime.
</obsolete>
<owner>bmgordon@chromium.org</owner>
<owner>project-bolton@google.com</owner>
<summary>
Time taken for ARC to render and generate a PDF for print preview. Includes
time to reflow the page back to normal, but not the time to reflow the page
to prepare for printing.
</summary>
</histogram>
<histogram name="Arc.PrintPreview.RenderAndGeneratePDFTimeAvgPerPage"
units="ms" expires_after="2021-06-01">
<obsolete>
Removed in May 2021 and merged into
PrintPreview.RenderAndGeneratePDFTimeAvgPerPage.
</obsolete>
<owner>bmgordon@chromium.org</owner>
<owner>project-bolton@google.com</owner>
<summary>
Time taken for ARC to render and generate a PDF for print preview divided by
the number of pages. Includes time to reflow the page back to normal, but
not the time to reflow the page to prepare for printing.
</summary>
</histogram>
<histogram name="Arc.PrintPreview.RendererError" enum="PrintPreviewFailureType"
expires_after="2022-05-01">
<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.PrintPreview.RenderToPDFTime" units="ms"
expires_after="2021-06-01">
<obsolete>
Removed in May 2021 and merged into PrintPreview.RenderToPDFTime.
</obsolete>
<owner>bmgordon@chromium.org</owner>
<owner>project-bolton@google.com</owner>
<summary>Time taken for ARC to render a PDF for print preview.</summary>
</histogram>
<histogram name="Arc.Provisioning.CheckInError{ArcUserTypes}"
enum="ArcProvisioningCheckInError" expires_after="2022-08-01">
<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">
<variant name="">
<obsolete>
Base histogram. Use suffixes of this histogram instead.
</obsolete>
</variant>
</token>
</histogram>
<histogram name="Arc.Provisioning.CloudFlowError{ArcUserTypes}"
enum="ArcProvisioningCloudFlowError" expires_after="2022-08-01">
<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">
<variant name="">
<obsolete>
Base histogram. Use suffixes of this histogram instead.
</obsolete>
</variant>
</token>
</histogram>
<histogram name="Arc.Provisioning.Result{ArcUserTypes}"
enum="ArcProvisioningResult" expires_after="2021-07-01">
<obsolete>
Removed in Dec 2020. Now reported as Arc.Provisioning.Status.
</obsolete>
<owner>alexchau@google.com</owner>
<owner>phweiss@google.com</owner>
<summary>
The result (success or the type of failure) of ARC provisioning. The base
value has been deprecated on 2016-09-15 in favour of per user type values.
{ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes">
<variant name="">
<obsolete>
Base histogram. Use suffixes of this histogram instead.
</obsolete>
</variant>
</token>
</histogram>
<histogram name="Arc.Provisioning.SignInError{ArcUserTypes}"
enum="ArcProvisioningSignInError" expires_after="2022-08-01">
<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">
<variant name="">
<obsolete>
Base histogram. Use suffixes of this histogram instead.
</obsolete>
</variant>
</token>
</histogram>
<histogram name="Arc.Provisioning.Status{ArcUserTypes}"
enum="ArcProvisioningStatus" expires_after="2022-08-01">
<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">
<variant name="">
<obsolete>
Base histogram. Use suffixes of this histogram instead.
</obsolete>
</variant>
</token>
</histogram>
<histogram name="Arc.Provisioning.TimeDelta.Failure{ArcUserTypes}" units="ms"
expires_after="2022-08-09">
<owner>alexchau@google.com</owner>
<owner>phweiss@google.com</owner>
<summary>
Elapsed time from the signing in process start to call to onSignInFailed.
{ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.Provisioning.TimeDelta.Success{ArcUserTypes}" units="ms"
expires_after="2022-08-09">
<owner>alexchau@google.com</owner>
<owner>phweiss@google.com</owner>
<summary>
Elapsed time from the signing in process start to successful call to
onSignInComplete. {ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.Reauthorization.Result{ArcUserTypes}"
enum="ArcProvisioningStatus" expires_after="2022-08-04">
<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="2022-09-01">
<owner>khmel@google.com</owner>
<owner>camurcu@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.CommitDeviation{ArcPerformanceAppCategories}"
units="microseconds" expires_after="2021-06-01">
<obsolete>
Removed in Mar 2021. Now reported as
Arc.Runtime.Performance.CommitDeviation2.
</obsolete>
<owner>khmel@google.com</owner>
<owner>camurcu@google.com</owner>
<summary>
Standard deviation for commit time delta from ideal time.
{ArcPerformanceAppCategories}
</summary>
<token key="ArcPerformanceAppCategories"
variants="ArcPerformanceAppCategories">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.Runtime.Performance.FPS2{ArcPerformanceAppCategories}"
units="fps" expires_after="2022-09-01">
<owner>khmel@google.com</owner>
<owner>camurcu@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.FPS{ArcPerformanceAppCategories}"
units="fps" expires_after="2021-06-01">
<obsolete>
Removed in Mar 2021. Now reported as Arc.Runtime.Performance.FPS2.
</obsolete>
<owner>khmel@google.com</owner>
<owner>camurcu@google.com</owner>
<summary>Render frames per second. {ArcPerformanceAppCategories}</summary>
<token key="ArcPerformanceAppCategories"
variants="ArcPerformanceAppCategories">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.Runtime.Performance.Generic.FirstFrameRendered" units="ms"
expires_after="2022-09-01">
<owner>camurcu@google.com</owner>
<owner>khmel@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="2022-09-01">
<owner>camurcu@google.com</owner>
<owner>khmel@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="2022-09-01">
<owner>camurcu@google.com</owner>
<owner>khmel@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="2022-09-01">
<owner>khmel@google.com</owner>
<owner>camurcu@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.Runtime.Performance.RenderQuality{ArcPerformanceAppCategories}"
units="%" expires_after="2021-06-01">
<obsolete>
Removed in Mar 2021. Now reported as Arc.Runtime.Performance.RenderQuality2.
</obsolete>
<owner>khmel@google.com</owner>
<owner>camurcu@google.com</owner>
<summary>
Render quality with maximum 100%. {ArcPerformanceAppCategories}
</summary>
<token key="ArcPerformanceAppCategories"
variants="ArcPerformanceAppCategories">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.SdkVersionUpgradeType" enum="ArcSdkVersionUpgradeType"
expires_after="2022-04-24">
<owner>niwa@google.com</owner>
<owner>yusukes@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="2022-11-21">
<owner>sinhak@google.com</owner>
<owner>jhorwich@google.com</owner>
<owner>khmel@google.com</owner>
<summary>
The result (success or the type of failure) of ARC Secondary Account signin/
reauthorization.
</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="2022-05-01">
<owner>shaochuan@google.com</owner>
<owner>khmel@google.com</owner>
<owner>mmatena@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.ShareFilesOnExit" enum="ArcShareFilesOnExit"
expires_after="M75">
<obsolete>
Removed in September 2021. Feature launched in 2018, no longer tracked.
</obsolete>
<owner>weifangsun@google.com</owner>
<owner>djacobo@google.com</owner>
<summary>
Exit code coming from ARC's share files feature. Used to observe stability
for the feature.
</summary>
</histogram>
<histogram name="Arc.ShutdownTime" units="ms" expires_after="M85">
<owner>elijahtaylor@google.com</owner>
<summary>
The time it takes for ARC to shut down. This value is recorded on ARC
shutdown as the time is takes for the init process to exit after setting
'sys.powerctl shutdown'. It is reported on the next ARC startup to avoid
sending data during shutdown.
</summary>
</histogram>
<histogram name="Arc.State" enum="BooleanEnabled" expires_after="never">
<!-- expires-never: used internally for filtering -->
<owner>elijahtaylor@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="2022-03-25">
<owner>elijahtaylor@google.com</owner>
<owner>shihuis@google.com</owner>
<owner>khmel@google.com</owner>
<summary>
Similar to &quot;Arc.State&quot; metric but has separation by user type.
{ArcUserTypes}
</summary>
<token key="ArcUserTypes" variants="ArcUserTypes">
<variant name=""/>
</token>
</histogram>
<histogram name="Arc.Supervision.Transition.Result"
enum="ArcSupervisionTransitionResult" expires_after="2022-08-03">
<owner>giovax@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="2022-08-01">
<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="2022-08-01">
<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="2022-08-10">
<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="2022-08-10">
<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>elijahtaylor@google.com</owner>
<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="2022-09-01">
<owner>khmel@google.com</owner>
<owner>yusukes@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="2022-09-01">
<owner>khmel@google.com</owner>
<owner>yusukes@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="2022-09-01">
<owner>khmel@google.com</owner>
<owner>yusukes@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="2022-04-03">
<owner>jhorwich@chromium.org</owner>
<owner>elijahtaylor@chromium.org</owner>
<owner>shihuis@google.com</owner>
<owner>maajid@chromium.org</owner>
<summary>
Counts user interactions with ARC by type, such as ARC app launches via the
shelf or launcher.
</summary>
</histogram>
<histogram name="Arc.VolumeMounter.MountFailureCount" units="failures"
expires_after="2022-10-19">
<owner>risan@google.com</owner>
<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="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>