<!--
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 histograms owned
by the Performance Manager team along with a detailed description for
each histogram.
-->

<histogram-configuration>

<histograms>

<histogram name="PerformanceManager.Experimental.AccessibilityModeFlag"
    enum="AccessibilityModeFlagEnum" expires_after="2023-10-21">
  <owner>anthonyvd@chromium.org</owner>
  <owner>chrome-catan@google.com</owner>
  <summary>
    Whether individual accessibility mode flags are set. Recorded with every UMA
    report to attempt to slice other metrics based on which a11y flags are set.
  </summary>
</histogram>

<histogram name="PerformanceManager.Experimental.HasAccessibilityModeFlag"
    enum="Boolean" expires_after="2023-10-21">
  <owner>anthonyvd@chromium.org</owner>
  <owner>chrome-catan@google.com</owner>
  <summary>
    Whether any accessibility mode flags are set. Recorded with every UMA report
    to attempt to slice other metrics based on whether a11y is active.
  </summary>
</histogram>

<histogram name="PerformanceManager.UserTuning.EfficiencyMode"
    enum="EfficiencyMode" expires_after="2023-09-10">
  <owner>anthonyvd@chromium.org</owner>
  <owner>chrome-catan@google.com</owner>
  <summary>
    Logged on each UMA upload to represent which user-controllable Efficiency
    Mode setting the browser is in during the reported window. If the mode was
    changed between uploads, MIXED will be reported for that interval.

    This histogram is used internally to filter other histograms by efficiency
    mode.
  </summary>
</histogram>

<histogram
    name="PerformanceManager.V8DetailedMemory.{Destination}.MeasurementMode"
    enum="V8DetailedMemoryMeasurementMode" expires_after="2023-05-23">
  <owner>joenotcharles@google.com</owner>
  <owner>chrome-catan@google.com</owner>
  <summary>
    Logged every time V8DetailedMemoryReporter.GetV8MemoryUsage is sent to a
    renderer, with the measurement mode. This can be used to find the volume of
    measurement requests to track their performance overhead.

    {Destination}
  </summary>
  <token key="Destination">
    <variant name="AllRenderers"
        summary="This metric records measurement requests stemming from
                 V8DetailedMemoryRequest::StartMeasurement, which are sent to
                 all renderer processes. Scale all counts by the number of
                 renderer processes when comparing between subpopulations."/>
    <variant name="SingleRenderer"
        summary="This metric records measurement requests stemming from
                 V8DetailedMemoryRequest::StartMeasurementForProcess, which
                 are sent to a single renderer process. Counts don't need to
                 be scaled."/>
  </token>
</histogram>

</histograms>

</histogram-configuration>
