chromium/tools/metrics/histograms/metadata/installer/histograms.xml

<!--
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 Installer 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="Installer.DevModeErrorCodes" enum="UpdateEngineErrorCode"
    expires_after="M85">
  <owner>[email protected]</owner>
  <summary>Errors from update_engine process when running in dev mode.</summary>
</histogram>

<histogram name="Installer.Postinstall.BiosType" enum="ChromeOSBiosType"
    expires_after="2025-01-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The firmware+bootloader type targeted when installing/updating.

    The main intent is to see distribution of EFI/Legacy on boards where those
    types are both supported.

    This is reported early in postinstall, only on ChromeOS, and only when
    USE=postinst_metrics. There's also an increased risk of losing metrics
    recorded in postinstall, see:
    https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/platform2/installer/docs/postinst_metrics.md
  </summary>
</histogram>

<histogram name="Installer.Postinstall.EfiBootEntryCount" units="entries"
    expires_after="2025-01-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Total number of EFI Boot* entries seen during postinstall, before making any
    modifications.

    Growth in higher buckets across releases warrants additional investigation:
    are we accidentally creating excess entries?

    This is reported during postinstall, only on ChromeOS, and only when
    USE=postinst_metrics. There's also an increased risk of losing metrics
    recorded in postinstall, see:
    https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/platform2/installer/docs/postinst_metrics.md
  </summary>
</histogram>

<histogram name="Installer.Postinstall.EfiBootEntryFailedLoad" units="entries"
    expires_after="2025-01-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The number of EFI Boot* entries that we couldn't load.

    We have seen bugs result in failure to read entries.

    This is reported during postinstall, only on ChromeOS, and only when
    USE=postinst_metrics. There's also an increased risk of losing metrics
    recorded in postinstall, see:
    https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/platform2/installer/docs/postinst_metrics.md
  </summary>
</histogram>

<histogram name="Installer.Postinstall.EfiManagementEvent"
    enum="ChromeOSEfiManagementEvent" expires_after="2025-01-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Event of interest from EFI boot entry management. Intended mainly to asses
    the frequency of various expected-to-be-rare errors or uncommon occurrances.

    This is reported in multiple, potentially-overlapping places, so the total
    number of events is not necessarily meaningful. Instead look at the count of
    individual buckets over time.

    This is reported during postinstall, only on ChromeOS, and only when
    USE=postinst_metrics. There's also an increased risk of losing metrics
    recorded in postinstall, see:
    https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/platform2/installer/docs/postinst_metrics.md
  </summary>
</histogram>

<histogram name="Installer.Postinstall.ESPMountRetries" units="retries"
    expires_after="2025-01-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    How many retries were necessary when attempting to mount the boot Partition
    after partition updates. Reported once during postinstall. ChromeOS only.
  </summary>
</histogram>

<histogram name="Installer.Postinstall.ManagedEfiBootEntryCount"
    units="entries" expires_after="2025-01-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Number of EFI Boot* entries seen during postinstall that match our
    label/description.

    Any values greater than 1 are potentially concerning, as we try to enforce
    just one.

    This is only reported if all entries load successfully, because otherwise
    our count may be invalid.

    This is reported during postinstall, only on ChromeOS, and only when
    USE=postinst_metrics. There's also an increased risk of losing metrics
    recorded in postinstall, see:
    https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/platform2/installer/docs/postinst_metrics.md
  </summary>
</histogram>

<histogram name="Installer.Postinstall.NonChromebookBiosSuccess.{BiosType}"
    enum="BooleanSuccess" expires_after="2025-01-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Success or Failure of special handling for BiosType: {BiosType}.

    This doesn't indicate overall success or failure of postinstall on these
    systems.

    This is reported after making changes to the EFI System Partition, only on
    ChromeOS, and only when USE=postinst_metrics. There's also an increased risk
    of losing metrics recorded in postinstall, see:
    https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/platform2/installer/docs/postinst_metrics.md
  </summary>
  <token key="BiosType">
    <variant name="EFI" summary=""/>
    <variant name="Legacy" summary=""/>
    <variant name="Secure" summary=""/>
    <variant name="UBoot" summary=""/>
    <variant name="Unknown" summary=""/>
  </token>
</histogram>

<histogram name="Installer.Postinstall.RevenPartitionMigration"
    enum="ChromeOSRevenPartitionMigration" expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Result of running the Reven (ChromeOS Flex) partition migration.

    This is reported at the end of the partition migration, which is run during
    postinstall. The migration is only run with USE=reven_partition_migration.

    Note that some metrics may be lost during postinstall, see:
    https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/platform2/installer/docs/postinst_metrics.md
  </summary>
</histogram>

<histogram name="Installer.PowerwashCount" units="powerwashes"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The number of times a Chrome OS device has been powerwashed (factory reset)
    without subsequently going through recovery and/or changing the dev mode
    switch. Reported once after each powerwash.
  </summary>
</histogram>

<histogram name="Installer.PowerwashDays" units="powerwashdays"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    How many calendar(UTC) days that powerwash occurred before the date that the
    metric is recorded. The histogram is recorded on the next restart after
    powerwash. The purpose of this metric is to get the date when the powerwash
    happened. This histogram is 1 based instead of 0 based and 1 means the
    device was restarted immediately after powerwash completed. The value for
    marjority cases is 1, but some edge cases may greater than 1 which means the
    device was shutdown immediately (by user manually) after the powerwash
    completed and then restarted more than 1 days later. The powerwash date and
    the metric recorded date are all get from client device.
  </summary>
</histogram>

<histogram name="Installer.Recovery.NbrDurationMinutes" units="minutes"
    expires_after="2024-12-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The duration in minutes for the network based recovery to complete.

    This is reported on reboot after a successful recovery.

    This metric is specific to Chrome OS.
  </summary>
</histogram>

<histogram name="Installer.Recovery.Reason" enum="ChromeOSRecoveryReason"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The reason for entering recovery mode immediately prior to a recovery.

    This is reported on reboot after a successful recovery.

    This metric is specific to Chrome OS.
  </summary>
</histogram>

</histograms>

</histogram-configuration>