<!--
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 Google 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="GoogleUpdate.ErrorHresult" enum="Hresult"
    expires_after="never">
<!-- expires-never: Core metric for monitoring on-demand updates. -->

  <owner>sorin@chromium.org</owner>
  <owner>omaha-team@google.com</owner>
  <summary>The HRESULT for a failed on-demand update check.</summary>
</histogram>

<histogram name="GoogleUpdate.InstallDetails.UpdateCohortId"
    enum="GoogleUpdateHashedCohortId" expires_after="never">
<!-- expires-never: Core metric for monitoring per-milestone regressions. -->

  <owner>sorin@chromium.org</owner>
  <owner>chrome-metrics-team@google.com</owner>
  <owner>omaha-team@google.com</owner>
  <summary>
    The base::PersistentHash of the browser's update cohort ID that was present
    at the time of the metrics upload. This histogram is reported on every UMA
    log on Windows. Unlike cohort name, cohort ID will generally be unique for
    each rollout group and control group.
  </summary>
</histogram>

<histogram name="GoogleUpdate.MacOS.SetUpSystemUpdaterCalled" enum="Boolean"
    expires_after="2027-03-17">
  <owner>sorin@chromium.org</owner>
  <owner>omaha-support@google.com</owner>
  <summary>
    Records when the SetUpSystemUpdater function is called on macOS. This
    function is called when the user clicks the Promote button in the Help page
    or the Keystone promotion infobar.
  </summary>
</histogram>

<histogram name="GoogleUpdate.UpdateErrorCode" enum="GoogleUpdateErrorCode"
    expires_after="never">
<!-- expires-never: Core metric for monitoring on-demand updates. -->

  <owner>sorin@chromium.org</owner>
  <owner>omaha-team@google.com</owner>
  <summary>The error code for a failed on-demand update check.</summary>
</histogram>

<histogram name="GoogleUpdate.UpdaterHealth.ScheduledTaskCount" units="tasks"
    expires_after="2026-12-31">
  <owner>ganesh@chromium.org</owner>
  <owner>omaha-support@google.com</owner>
  <summary>
    Number of scheduled tasks registered for the updater in the Windows task
    scheduler. Recorded when the browser creates the main loop, and subsequently
    at 5 hour intervals as long as the browser is running.
  </summary>
</histogram>

<histogram name="GoogleUpdate.UpdaterHealth.ScheduledTaskEnabled"
    enum="BooleanEnabled" expires_after="2026-12-31">
  <owner>ganesh@chromium.org</owner>
  <owner>omaha-support@google.com</owner>
  <summary>
    Records true if the scheduled task is enabled for the active updater in the
    Windows task scheduler. Recorded when the browser creates the main loop, and
    subsequently at 5 hour intervals as long as the browser is running.
  </summary>
</histogram>

<histogram name="GoogleUpdate.UpdaterHealth.ScheduledTaskPresent"
    enum="BooleanPresent" expires_after="2026-12-31">
  <owner>ganesh@chromium.org</owner>
  <owner>omaha-support@google.com</owner>
  <summary>
    Records true if the scheduled task is present for the active updater in the
    Windows task scheduler. Recorded when the browser creates the main loop, and
    subsequently at 5 hour intervals as long as the browser is running.
  </summary>
</histogram>

<histogram name="GoogleUpdate.UpdaterHealth.ServiceEnabled.{Type}"
    enum="BooleanEnabled" expires_after="2026-12-31">
  <owner>ganesh@chromium.org</owner>
  <owner>omaha-support@google.com</owner>
  <summary>
    Records true if the Windows service is enabled for the active updater.
    Recorded when the browser creates the main loop, and subsequently at 5 hour
    intervals as long as the browser is running. `Type` is either the
    side-by-side service or the internal service.
  </summary>
  <token key="Type">
    <variant name="Internal"
        summary="&quot;Internal&quot; is for the internal service."/>
    <variant name="SxS"
        summary="&quot;SxS&quot; is for the side-by-side service."/>
  </token>
</histogram>

<histogram name="GoogleUpdate.UpdaterHealth.ServicePresent.{Type}"
    enum="BooleanPresent" expires_after="2026-12-31">
  <owner>ganesh@chromium.org</owner>
  <owner>omaha-support@google.com</owner>
  <summary>
    Records true if the Windows service is present for the active updater.
    Recorded when the browser creates the main loop, and subsequently at 5 hour
    intervals as long as the browser is running. `Type` is either the
    side-by-side service or the internal service.
  </summary>
  <token key="Type">
    <variant name="Internal"
        summary="&quot;Internal&quot; is for the internal service."/>
    <variant name="SxS"
        summary="&quot;SxS&quot; is for the side-by-side service."/>
  </token>
</histogram>

<histogram name="GoogleUpdate.UpdaterHealth.UpdaterValid" enum="BooleanValid"
    expires_after="2026-12-31">
  <owner>ganesh@chromium.org</owner>
  <owner>omaha-support@google.com</owner>
  <summary>
    Records true if there is an active updater present on the system. Recorded
    when the browser creates the main loop, and subsequently at 5 hour intervals
    as long as the browser is running.
  </summary>
</histogram>

<histogram name="GoogleUpdate.UpgradeResult" enum="GoogleUpdateUpgradeStatus"
    expires_after="never">
<!-- expires-never: Core metric for monitoring on-demand updates. -->

  <owner>sorin@chromium.org</owner>
  <owner>omaha-team@google.com</owner>
  <summary>
    The result of an on-demand update check. Expired 2024-01-14, and revived
    2024-07-16. Data is incomplete.
  </summary>
</histogram>

</histograms>

</histogram-configuration>
