<!--
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 Borealis histograms
along with a detailed description for each histogram.
For best practices on writing histogram descriptions, see
https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md
Please follow the instructions in the OWNERS file in this directory to find a
reviewer. If no OWNERS file exists, please consider signing up at
go/reviewing-metrics (Googlers only), as all subdirectories are expected to
have an OWNERS file. As a last resort you can send the CL to
[email protected].
-->
<histogram-configuration>
<histograms>
<histogram name="Borealis.Audio.UsedPath.{Direction}" enum="BorealisAudioPath"
expires_after="2024-12-08">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>
Record the usage of each audio path. The value will be incremented if the
path is open during the check period, which is once every 5 minutes, when
Borealis VM is running.
</summary>
<token key="Direction">
<variant name="Input"/>
<variant name="Output"/>
</token>
</histogram>
<histogram name="Borealis.Audio.UsedSubdevices" units="count"
expires_after="2024-12-08">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>
The number of audio subdevices that are used by games that are running on
proton. This is recorded periodically when the game is running.
</summary>
</histogram>
<histogram name="Borealis.Audio.Xrun.Alsa.Output" units="count"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>
The number of xrun occurences during playback with ALSA device. This is
recorded periodically when the game is running.
</summary>
</histogram>
<histogram name="Borealis.Disk.HighestDirtyPagesDaily" units="KiB"
expires_after="2024-11-14">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>
The highest dirty page value observed in Borealis that day (taken
from`/proc/meminfo`). Reported daily.
</summary>
</histogram>
<histogram name="Borealis.Disk.InodeRatioAtStartup" units="KiB"
expires_after="2024-11-14">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>
The amount of bytes used per an inode, on average, in Borealis. This is
recorded once during each startup, when maitred emits disk related metrics.
</summary>
</histogram>
<histogram name="Borealis.Disk.StatefulReadsDaily" units="KiB"
expires_after="2024-12-30">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>Borealis stateful KiB read per day. Reported daily.</summary>
</histogram>
<histogram name="Borealis.Disk.StatefulWritesDaily" units="KiB"
expires_after="2024-10-28">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>Borealis stateful KiB written per day. Reported daily.</summary>
</histogram>
<histogram name="Borealis.Disk.SwapReadsDaily" units="KiB"
expires_after="2024-10-28">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>Borealis swap file KiB read per day. Reported daily.</summary>
</histogram>
<histogram name="Borealis.Disk.SwapWritesDaily" units="KiB"
expires_after="2024-10-28">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>Borealis swap file KiB written per day. Reported daily.</summary>
</histogram>
<histogram name="Borealis.Disk.VMUsageToTotalSpacePercentageAtStartup"
units="%" expires_after="2024-11-14">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>
The percent of space that the VM is using in comparison to the total size of
the disk (i.e VM_usage/total_disk_size). This is recorded once during each
startup, when maitred emits disk related metrics.
</summary>
</histogram>
<histogram name="Borealis.Disk.VMUsageToTotalUsagePercentageAtStartup"
units="%" expires_after="2024-11-14">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>
The percent of space that the VM is using in comparison to the total amount
of space being used (i.e VM_usage/total_usage). This is recorded once during
each startup, when maitred emits disk related metrics.
</summary>
</histogram>
<histogram name="Borealis.EngagementTime.{Variant}" units="ms"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>
{Variant} Engagement time metrics, along with foreground and background
time, are only collected on users with Borealis enabled. All four metrics
are accumulated and recorded to UMA once a day.
</summary>
<token key="Variant">
<variant name="Background"
summary="Times when a user is engaged and Borealis apps are running
in the background, but the user isn't focusing on an
Borealis app window."/>
<variant name="BorealisTotal"
summary="Total of Borealis.EngagementTime.Background and .Foreground,
which is the time the user is engaged and Borealis is
running either in the foreground or background."/>
<variant name="Foreground"
summary="Times when a user is engaged and focuses on a Borealis GUI
window."/>
<variant name="Total"
summary="Total engagement time (including when Borealis isn't
running)."/>
</token>
</histogram>
<histogram name="Borealis.Install.NumAttempts" enum="BooleanAttempted"
expires_after="2024-12-30">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>
The number of Borealis installation attempts. This is recorded each time a
user tries to install Borealis. Specifically, this metric is recorded when a
user clicks on the install or retry button in the Borealis installer. It is
intended that this metric is compared against the sum of
Borealis.Install.Result as a way to measure silent failures.
</summary>
</histogram>
<histogram name="Borealis.Install.OverallTime" units="ms"
expires_after="2025-01-05">
<!-- NB: deprecated; remove instead of extending its expiry date -->
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>
Time taken for a successful installation. An install starts when the
"install" or "retry" installer buttons are clicked and
ends when the install completes successfully, at which point this metric is
recorded. Note that retries are considered as their own individual
installation attempts.
Deprecated; prefer Borealis.Install.OverallTime2.
</summary>
</histogram>
<histogram name="Borealis.Install.OverallTime2" units="ms"
expires_after="2024-12-15">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<improvement direction="LOWER_IS_BETTER"/>
<summary>
Time taken for a successful installation. An install starts when the
"install" or "retry" installer buttons are clicked and
ends when the install completes successfully, at which point this metric is
recorded. Note that retries are considered as their own individual
installation attempts.
(Same as Borealis.Install.OverallTime but with larger bucket sizes.)
</summary>
</histogram>
<histogram name="Borealis.Install.Result" enum="BorealisInstallResult"
expires_after="2025-02-16">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>
The installation result, for example, a successful install, a cancelled
install, or an error. This is recorded after an installation attempt has
ended.
</summary>
</histogram>
<histogram name="Borealis.Install.Source" enum="BorealisLaunchSource"
expires_after="2024-10-11">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>
The referring source for a Borealis installer launch, for example, a
chromeos-steam://install link, the Steam installer app in the Launcher, or a
Unified App Installer click. This is recorded at the start of an
installation attempt.
</summary>
</histogram>
<histogram name="Borealis.Launch.Source" enum="BorealisLaunchSource"
expires_after="2024-10-11">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>
The referring source for a non-installer Borealis launch, for example, a
chromeos-steam://install link, the Steam installer app in the Launcher, a
Unified App Installer click, when uninstalling an app, launching an app by
URL, retrying a previous launch, or the Open Steam button in the installer.
This is recorded when starting to launch a Borealis app: a game, or the
Steam client.
</summary>
</histogram>
<histogram name="Borealis.Shutdown.Attempt" enum="BooleanAttempted"
expires_after="2024-11-14">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>
Recording every attempt to exit Borealis given the that VM was launched.
Recorded regardless of if the shutdown is successful.
</summary>
</histogram>
<histogram name="Borealis.Stability" enum="GuestOsFailureClasses"
expires_after="2024-12-30">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>
A record of post-startup failures in Borealis components. Buckets are
recorded to when we become aware that the corresponding component has
failed.
</summary>
</histogram>
<histogram name="Borealis.Startup.fsckResult" enum="FsckResult"
expires_after="2024-11-14">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>
Return code from running fsck during VM startup. This is recorded once
during each startup, when maitred emits disk related metrics.
</summary>
</histogram>
<histogram name="Borealis.Startup.fsckTime" units="ms"
expires_after="2024-11-14">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>
The time taken for fsck to complete during VM startup. This is recorded once
during each startup, when maitred emits disk related metrics.
</summary>
</histogram>
<histogram name="Borealis.Startup.NumAttempts" enum="BooleanAttempted"
expires_after="2024-12-15">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>Recording every attempt to start Borealis (via the UI).</summary>
</histogram>
<histogram name="Borealis.Startup.OverallTime" units="ms"
expires_after="2024-11-03">
<!-- NB: deprecated; remove instead of extending its expiry date -->
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>
Recording the time taken for each successful attempt to start Borealis (via
the UI). Deprecated; prefer Borealis.Startup.OverallTime2.
</summary>
</histogram>
<histogram name="Borealis.Startup.OverallTime2" units="ms"
expires_after="2025-02-16">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<improvement direction="LOWER_IS_BETTER"/>
<summary>
Recording the time taken for each successful attempt to start the Borealis
VM (via the UI), until the VM is responsive and able to launch the Steam
client.
(Same as Borealis.Startup.OverallTime but with larger bucket sizes.)
</summary>
</histogram>
<histogram name="Borealis.Startup.Result" enum="BorealisStartupResult"
expires_after="2024-12-30">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>
Recording the result of each attempt to start Borealis, whether it was
successful or the error that it faced.
</summary>
</histogram>
<histogram name="Borealis.Startup.TimeToFirstWindow" units="ms"
expires_after="2024-10-13">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<improvement direction="LOWER_IS_BETTER"/>
<summary>
Recording the time taken for each successful attempt to start Borealis (via
the UI), from when the splash screen is shown to when the first window is
shown (probably either an update dialog or a Steam client window).
</summary>
</histogram>
<histogram name="Borealis.VMPerformance.Generic.SlowFrameRatio" units="%"
expires_after="2024-12-30">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>
The percentage of slow frames when a Borealis window is active and being
rendered.It's collected periodically and emitted via Sommelier. Generic
refers to Borealis as a platform. These measurements are for any Sommelier
tracing period in which a Borealis (excluding the Steam client) window was
active for the entirety of that period.
</summary>
</histogram>
<histogram name="Borealis.VMPerformance.Generic.{Variant}" units="fps"
expires_after="2024-12-30">
<owner>[email protected]</owner>
<owner>src/chrome/browser/ash/borealis/OWNERS</owner>
<summary>
These are FPS related performance metrics that are collected within the VM.
They are collected periodically and emitted via Sommelier. Generic refers to
Borealis as a platform. These measurements are for any Sommelier tracing
period in which a Borealis (excluding the Steam client) window was active
for the entirety of that period.
</summary>
<token key="Variant">
<variant name="FPSLow"
summary="Lowest 1% of FPS captured during the capture period. Rounded
to the nearest integer."/>
<variant name="FPSMean"
summary="Average FPS of the capture period. Rounded to the nearest
integer."/>
<variant name="FPSVariance"
summary="FPS variance, calculated with Welford's online algorithm, of
the capture period. Rounded to the nearest integer."/>
</token>
</histogram>
</histograms>
</histogram-configuration>