<!--
Copyright 2022 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 Kiosk 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>

<histogram name="Kiosk.ChromeApp.PrimaryAppUpdateResult"
    enum="KioskPrimaryAppDownloadResult" expires_after="2026-02-22">
  <owner>yixie@chromium.org</owner>
  <owner>chromeos-kiosk-eng@google.com</owner>
  <summary>
    ChromeOS only. Records the result for an update of primary Chrome app in
    Kiosk.
  </summary>
</histogram>

<histogram name="Kiosk.DeprecatedArcKioskUsers"
    enum="DeprecatedArcKioskUserStatus" expires_after="2025-09-01">
  <owner>pbond@chromium.org</owner>
  <owner>chromeos-kiosk-eng@google.com</owner>
  <summary>
    Reports &quot;hidden&quot; when the login screen hides a ARC kiosk user.
    Reports &quot;deleted&quot; when the login screen attempts to delete an ARC
    kiosk user. Recorded on startup.
  </summary>
</histogram>

<histogram name="Kiosk.Extensions.InstallTimedOut" enum="BooleanYesNo"
    expires_after="2027-05-01">
  <owner>yixie@chromium.org</owner>
  <owner>chromeos-kiosk-eng@google.com</owner>
  <summary>
    Records whether Kiosk launcher times out waiting for extensions to install.
    Only recorded if forced extensions starts installing while a Web Kiosk is
    launching.
  </summary>
</histogram>

<histogram name="Kiosk.Launch.CryptohomeFailure" enum="LoginFailureReason"
    expires_after="2027-01-03">
  <owner>apotapchuk@chromium.org</owner>
  <owner>hidehiko@chromium.org</owner>
  <summary>Tracks cryptohome failure during kiosk launch.</summary>
</histogram>

<histogram name="Kiosk.Launch.Error" enum="KioskLaunchError"
    expires_after="2026-06-28">
  <owner>apotapchuk@chromium.org</owner>
  <owner>hidehiko@chromium.org</owner>
  <summary>
    Tracks Chrome OS Kiosk launch errors. Recorded when a Kiosk app fails to
    launch and returns to the login screen.
  </summary>
</histogram>

<histogram name="Kiosk.LaunchDuration.{KioskType}" units="ms"
    expires_after="2027-01-03">
  <owner>yixie@chromium.org</owner>
  <owner>chromeos-kiosk-eng@google.com</owner>
  <summary>Records the total duration it takes to launch a kiosk app.</summary>
  <token key="KioskType">
    <variant name="ArcvmApp"/>
    <variant name="ChromeApp"/>
    <variant name="IsolatedWebApp"/>
    <variant name="Web"/>
  </token>
</histogram>

<histogram name="Kiosk.LaunchType" enum="KioskLaunchType"
    expires_after="2027-01-03">
  <owner>aghuie@chromium.org</owner>
  <owner>hidehiko@chromium.org</owner>
  <summary>
    Records kiosk launches, whether it is an enterprise or consumer kiosk and
    whether it is an auto launch or manual launch.
  </summary>
</histogram>

<histogram name="Kiosk.NewBrowserWindow" enum="KioskBrowserWindowType"
    expires_after="2027-05-01">
  <owner>pbond@chromium.org</owner>
  <owner>chromeos-kiosk-eng@google.com</owner>
  <summary>
    ChromeOS only. Records a new browser window type once a new browser window
    is attempted to be shown in a kiosk session. Distinguishes settings page,
    closed regular browser, opened regular browser, troubleshooting tools and
    system web app.
  </summary>
</histogram>

<histogram name="Kiosk.RamUsagePercentage" units="%" expires_after="2026-11-15">
  <owner>vkovalova@chromium.org</owner>
  <owner>chromeos-kiosk-eng@google.com</owner>
  <summary>
    ChromeOS only. Records the percentage of RAM in use during Kiosk session. Is
    recorded once per hour.
  </summary>
</histogram>

<histogram name="Kiosk.Session.CountPerDay" units="sessions"
    expires_after="2027-05-01">
  <owner>pbond@chromium.org</owner>
  <owner>chromeos-kiosk-eng@chromium.org</owner>
  <summary>
    ChromeOS only. Count of Kiosk sessions in the last 24h. Logged each time a
    kiosk session is started.
  </summary>
</histogram>

<histogram name="Kiosk.Session.LowDiskHighestSeverity"
    enum="KioskLowDiskSeverity" expires_after="2027-05-01">
  <owner>pbond@chromium.org</owner>
  <owner>chromeos-kiosk-eng@chromium.org</owner>
  <summary>
    ChromeOS only. Records the highest severity of low disk notification of a
    kiosk session. Logged on every kiosk session start, even if there was no
    notification during the last session.
  </summary>
</histogram>

<histogram name="Kiosk.Session.LowDiskSeverity" enum="KioskLowDiskSeverity"
    expires_after="2027-05-01">
  <owner>pbond@chromium.org</owner>
  <owner>chromeos-kiosk-eng@chromium.org</owner>
  <summary>
    ChromeOS only. Records low disk notifications being issued. Logged once a
    low disk notification is supposed to be shown.
  </summary>
</histogram>

<histogram name="Kiosk.Session.NetworkDrops" units="network drops"
    expires_after="2027-05-01">
  <owner>pbond@chromium.org</owner>
  <owner>chromeos-kiosk-eng@chromium.org</owner>
  <summary>
    ChromeOS only. Number of network drops during a kiosk session. Logged on the
    next kiosk session start.
  </summary>
</histogram>

<histogram name="Kiosk.SessionDuration.Crashed" units="ms"
    expires_after="2027-05-01">
  <owner>pbond@chromium.org</owner>
  <owner>chromeos-kiosk-eng@chromium.org</owner>
  <summary>
    ChromeOS only. Duration of a kiosk session that ended with a crash. Metrics
    in this histogram are capped to 1 day (24 hours) to measure the number of
    long sessions compared to short ones. See also
    Kiosk.SessionDurationInDays.Crashed.

    Note: Duration may be longer than actual session duration, because some
    crashes can be detected only on the next session start up. In those cases a
    duration effectively is a time between crashed session start and the
    following kiosk session start.
  </summary>
</histogram>

<histogram name="Kiosk.SessionDuration.Normal" units="ms"
    expires_after="2026-09-13">
  <owner>pbond@chromium.org</owner>
  <owner>chromeos-kiosk-eng@chromium.org</owner>
  <summary>
    ChromeOS only. Duration of a kiosk session that ended successfully. Metrics
    in this histogram are capped to 1 day (24 hours) to measure the number of
    long sessions compared to short ones. See also
    Kiosk.SessionDurationInDays.Normal.
  </summary>
</histogram>

<histogram name="Kiosk.SessionDurationInDays.Crashed" units="days"
    expires_after="2027-05-01">
  <owner>pbond@chromium.org</owner>
  <owner>chromeos-kiosk-eng@chromium.org</owner>
  <summary>
    ChromeOS only. Duration in days of a kiosk session that ended with a crash.
    This metric only tracks kiosk sessions that last longer than 1 day.

    Note: Duration may be longer than actual session duration, because some
    crashes can be detected only on the next session start up. In those cases a
    duration effectively is a time between crashed session start and the
    following kiosk session start.
  </summary>
</histogram>

<histogram name="Kiosk.SessionDurationInDays.Normal" units="days"
    expires_after="2027-05-01">
  <owner>pbond@chromium.org</owner>
  <owner>chromeos-kiosk-eng@chromium.org</owner>
  <summary>
    ChromeOS only. Duration in days of a kiosk session that ended successfully.
    This metric only tracks kiosk sessions that last longer than 1 day.
  </summary>
</histogram>

<histogram name="Kiosk.SessionState" enum="KioskSessionState"
    expires_after="2027-05-01">
  <owner>pbond@chromium.org</owner>
  <owner>chromeos-kiosk-eng@chromium.org</owner>
  <summary>
    ChromeOS only. Records kiosk session states, whether it is started, closed,
    crashed, etc. Emitted when the kiosk session state changes. Crashed kiosk
    sessions can be detected on the following kiosk start.
  </summary>
</histogram>

<histogram name="Kiosk.SwapUsagePercentage" units="%"
    expires_after="2027-05-01">
  <owner>vkovalova@chromium.org</owner>
  <owner>chromeos-kiosk-eng@google.com</owner>
  <summary>
    ChromeOS only. Records the percentage of swap memory in use during Kiosk
    session. Recorded once per hour.
  </summary>
</histogram>

</histograms>

</histogram-configuration>
