<!--
Copyright 2021 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 PluginVm 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="PluginVm.DlcUseResult" enum="PluginVmDlcUseResult"
    expires_after="2024-01-14">
  <owner>kimjae@google.com</owner>
  <owner>timloh@google.com</owner>
  <summary>Recorded at each time PluginVM DLC is installed.</summary>
</histogram>

<histogram name="PluginVm.EngagementTime.Background" units="ms"
    expires_after="2023-08-27">
  <owner>timloh@google.com</owner>
  <owner>joelhockey@google.com</owner>
  <summary>
    Times when user is engaged and Plugin VM apps are running in the background,
    but the user isn't focusing on an Plugin VM app window. See
    PluginVm.EngagementTime.Total for further details.
  </summary>
</histogram>

<histogram name="PluginVm.EngagementTime.Foreground" units="ms"
    expires_after="2023-10-08">
  <owner>timloh@google.com</owner>
  <owner>joelhockey@google.com</owner>
  <summary>
    Times when user is engaged and focuses on a Plugin VM window. See
    PluginVm.EngagementTime.Total for further details.
  </summary>
</histogram>

<histogram name="PluginVm.EngagementTime.PluginVmTotal" units="ms"
    expires_after="2023-10-08">
  <owner>timloh@google.com</owner>
  <owner>joelhockey@google.com</owner>
  <summary>
    Total of PluginVm.EngagementTime.Background and .Foreground, which is the
    time the user is engaged and Plugin VM is running either in the foreground
    or background. See PluginVm.EngagementTime.Total for further details.
  </summary>
</histogram>

<histogram name="PluginVm.EngagementTime.Total" units="ms"
    expires_after="2023-10-08">
  <owner>timloh@google.com</owner>
  <owner>joelhockey@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 Plugin VM enabled. All four metrics are accumulated
    and recorded to UMA once a day. For Total Plugin VM engagement time, see
    PluginVm.EngagementTime.PluginVmTotal.
  </summary>
</histogram>

<histogram name="PluginVm.LaunchResult" enum="PluginVmLaunchResult"
    expires_after="2024-01-14">
  <owner>joelhockey@chromium.org</owner>
  <owner>okalitova@chromium.org</owner>
  <owner>timloh@chromium.org</owner>
  <summary>
    Recorded at each attempt to launch PluginVm, recording whether this attempt
    is successful or not.
  </summary>
</histogram>

<histogram name="PluginVm.SetupFailureReason" enum="PluginVmSetupFailureReason"
    expires_after="2024-01-14">
  <owner>timloh@chromium.org</owner>
  <owner>chromeos-core-services@google.com</owner>
  <summary>Recorded when the Plugin VM installer fails.</summary>
</histogram>

<histogram name="PluginVm.SetupResult" enum="PluginVmSetupResult"
    expires_after="2024-01-14">
  <owner>joelhockey@chromium.org</owner>
  <owner>okalitova@chromium.org</owner>
  <owner>timloh@chromium.org</owner>
  <summary>
    Recorded at each attempt to set up PluginVm, recording the setup result. As
    of M83, errors are grouped together here and broken down in
    PluginVm.SetupFailureReason.
  </summary>
</histogram>

</histograms>

</histogram-configuration>
