chromium/tools/metrics/histograms/metadata/auto/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 Auto 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>

<variants name="AlsBrightnessDirection">
  <variant name="Brighten." summary=""/>
  <variant name="Darken." summary=""/>
</variants>

<histogram
    name="AutoScreenBrightness.AdapterDecisionAtUserChange.BrightnessChange.Cause"
    enum="AutoScreenBrightnessBrightnessChangeCause" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    When user changes brightness manually, we will ask the model whether it also
    thinks brightness should be changed. This enum states the reason why the
    model also thinks brightness should be changed. Chrome OS only.
  </summary>
</histogram>

<histogram base="true"
    name="AutoScreenBrightness.AdapterDecisionAtUserChange.ModelIteration"
    units="count" expires_after="2024-09-25">
<!-- Name completed by histogram_suffixes name="AdapterDecision" -->

  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    When user changes brightness manually, we will ask the model whether it also
    thinks brightness should be changed. We also log the number of model
    iterations if we've set to use personal curve only. Chrome OS only.
  </summary>
</histogram>

<histogram
    name="AutoScreenBrightness.AdapterDecisionAtUserChange.NoBrightnessChange.Cause"
    enum="AutoScreenBrightnessNoBrightnessChangeCause"
    expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    When user changes brightness manually, we will ask the model whether it also
    thinks brightness should be changed. This enum states the reason why the
    model doesn't think brightness should be changed. Chrome OS only.
  </summary>
</histogram>

<histogram
    name="AutoScreenBrightness.AdapterDecisionAtUserChange.Unknown.AlsStd"
    units="count" expires_after="2024-09-25">
<!-- Name completed by histogram_suffixes name="AdapterDecision" -->

  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    When user changes brightness manually, we will ask the model whether it also
    thinks brightness should be changed. We also log the als-stddev in its
    averaging period. This metric records the als-stddev when the associated
    als-delta is unknown. Chrome OS only.
  </summary>
</histogram>

<histogram
    name="AutoScreenBrightness.AdapterDecisionAtUserChange.{AlsBrightnessDirection}AlsDelta"
    units="count" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    When user changes brightness manually, we will ask the model whether it also
    thinks brightness should be changed. We also log the als-delta from the
    previous log-lux (when brightness was last changed) to the current log-lux,
    which includes both the sign of the als-delta and its absolute value. Chrome
    OS only. {AlsBrightnessDirection}
  </summary>
  <token key="AlsBrightnessDirection" variants="AlsBrightnessDirection">
    <variant name=""/>
  </token>
</histogram>

<histogram
    name="AutoScreenBrightness.AdapterDecisionAtUserChange.{AlsBrightnessDirection}AlsStd"
    units="count" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    When user changes brightness manually, we will ask the model whether it also
    thinks brightness should be changed. We also log the als-stddev in its
    averaging period. We log it separately for the case when the associated
    als-delta is positive and negative. Chrome OS only. {AlsBrightnessDirection}
  </summary>
  <token key="AlsBrightnessDirection" variants="AlsBrightnessDirection">
    <variant name=""/>
  </token>
</histogram>

<histogram name="AutoScreenBrightness.AlsReaderStatus"
    enum="AutoScreenBrightnessAlsReaderStatus" expires_after="2024-09-04">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Whether the ALS is enabled or the error otherwise. Chrome OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.BrightnessChange.Cause"
    enum="AutoScreenBrightnessBrightnessChangeCause" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Reason for the model to change brightness. Chrome OS only.</summary>
</histogram>

<histogram name="AutoScreenBrightness.BrightnessChange.ElapsedTime" units="ms"
    expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time between two consecutive auto brightness changes. Chrome OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.BrightnessChange.ModelIteration"
    units="count" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Number of model iterations when brightness is changed by a personal curve.
    Chrome OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.BrightnessMonitorStatus"
    enum="AutoScreenBrightnessBrightnessMonitorStatus"
    expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Whether the brightness monitor is enabled or the error otherwise. Chrome OS
    only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.DailyUserAdjustment.Atlas" units="count"
    expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Number of times that a user has made brightness adjustments on an Atlas
    device with an ambient sensor that is supported by the auto screen
    brightness model. Reported daily. The count is accumulated through the day,
    spanning reboots, and sent once the system clock indicates that a full day
    or more has passed since the last report. If the system is suspended or off
    for more than a day, the current count will be reported immediately the next
    time the system boots, but the skipped days will not be reported. Chrome OS
    only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.DailyUserAdjustment.Eve" units="count"
    expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Number of times that a user has made brightness adjustments on an Eve device
    with an ambient sensor that is supported by the auto screen brightness
    model. Reported daily. The count is accumulated through the day, spanning
    reboots, and sent once the system clock indicates that a full day or more
    has passed since the last report. If the system is suspended or off for more
    than a day, the current count will be reported immediately the next time the
    system boots, but the skipped days will not be reported. Chrome OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.DailyUserAdjustment.Kohaku" units="count"
    expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Number of times that a user has made brightness adjustments on a Kohaku
    device with an ambient sensor that is supported by the auto screen
    brightness model. Reported daily. The count is accumulated through the day,
    spanning reboots, and sent once the system clock indicates that a full day
    or more has passed since the last report. If the system is suspended or off
    for more than a day, the current count will be reported immediately the next
    time the system boots, but the skipped days will not be reported. Chrome OS
    only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.DailyUserAdjustment.NoAls" units="count"
    expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Number of times that a user has made brightness adjustments on a device
    without an ambient sensor. Reported daily. The count is accumulated through
    the day, spanning reboots, and sent once the system clock indicates that a
    full day or more has passed since the last report. If the system is
    suspended or off for more than a day, the current count will be reported
    immediately the next time the system boots, but the skipped days will not be
    reported. Chrome OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.DailyUserAdjustment.Nocturne"
    units="count" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Number of times that a user has made brightness adjustments on a Nocturne
    device with an ambient sensor that is supported by the auto screen
    brightness model. Reported daily. The count is accumulated through the day,
    spanning reboots, and sent once the system clock indicates that a full day
    or more has passed since the last report. If the system is suspended or off
    for more than a day, the current count will be reported immediately the next
    time the system boots, but the skipped days will not be reported. Chrome OS
    only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.DailyUserAdjustment.SupportedAls"
    units="count" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Number of times that a user has made brightness adjustments on a device with
    an ambient sensor that is supported by the auto screen brightness model.
    Reported daily. The count is accumulated through the day, spanning reboots,
    and sent once the system clock indicates that a full day or more has passed
    since the last report. If the system is suspended or off for more than a
    day, the current count will be reported immediately the next time the system
    boots, but the skipped days will not be reported. Chrome OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.DailyUserAdjustment.UnsupportedAls"
    units="count" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Number of times that a user has made brightness adjustments on a device with
    an ambient sensor that is not supported by the auto screen brightness model.
    Reported daily. The count is accumulated through the day, spanning reboots,
    and sent once the system clock indicates that a full day or more has passed
    since the last report. If the system is suspended or off for more than a
    day, the current count will be reported immediately the next time the system
    boots, but the skipped days will not be reported. Chrome OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.DataError"
    enum="AutoScreenBrightnessDataError" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Type of error seen when handling data related to automatic screen brightness
    adjustments. Only reported on Chrome OS.
  </summary>
</histogram>

<histogram
    name="AutoScreenBrightness.ElapsedTimeBetweenModelAndUserAdjustments"
    units="ms" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The elapsed time from a model brightness adjustment to the next user manual
    brightness change. Chrome OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.GlobalCurveResetOnInitialization"
    enum="Boolean" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Whether the global curve is reset at initialization.</summary>
</histogram>

<histogram name="AutoScreenBrightness.InvalidCurveReason"
    enum="AutoScreenBrightnessInvalidCurveReason" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    A monotone cubic spline curve may be invalid from input that used to
    generate it. This metric records why it's invalid. Chrome OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.MissingAlsWhenBrightnessChanged"
    enum="BooleanError" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Whether there was no recorded ALS reading when brightness was changed.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.MissingPriorUserBrightnessRequest"
    enum="BooleanError" expires_after="2024-07-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Under the current implementation of brightness monitor, user brightness
    request should be received before brightness change signal. Adapter operates
    under this assumption. This metric logs an error if a brightness change
    signal is received without a prior brightness request signal. Chrome OS
    only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.ModelIterationCountAtInitialization"
    units="count" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Personal model iteration count when modeller is initialized. Chrome OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.ModelLoadingStatus"
    enum="AutoScreenBrightnessModelLoadingStatus" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>Status of the model loading from disk. Chrome OS only.</summary>
</histogram>

<histogram name="AutoScreenBrightness.ModelTraining.BrightnessChange"
    enum="AutoScreenBrightnessBoundedBrightnessChange"
    expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Whether a new brightness exceeds the preset bound that defines reasonble
    range of change. Chrome OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.ModelTraining.BrightnessOutlier"
    enum="Boolean" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Whether a training data is an outlier and should be discarded by the model
    during training. Chrome OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.ModelTraining.Inaccuracy.NoUpdate"
    units="%" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    When training data comes in, the model may or may not be updated. We measure
    the error of the model as compared with the target value from training data.
    This metric measures the error when model is not updated. Chrome OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.ModelTraining.Inaccuracy.Update"
    units="%" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    When training data comes in, the model may or may not be updated. We measure
    the error of the model as compared with the target value from training data.
    This metric measures the error when model is updated. Chrome OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.ModelTraining.ModelUserConsistent"
    enum="Boolean" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Whether user brightness change is consistent with the model so that model is
    not updated.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.NewCurveSaved.Duration" units="ms"
    expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time elapsed between training start and a new curve saved to disk. Only
    reported if a new curve was created and saved successfully to disk. Chrome
    OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.NewCurveSaved.Success"
    enum="BooleanSuccess" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Whether a new curve was successfully saved to disk. Only reported if a new
    curve was created during the training process. Chrome OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.Opposite.UserModelBrightnessAdjustments"
    units="count" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    When user changes brightness manually, if the previous change was caused by
    the model, then we log bucketized absolute brightness changes of the two
    adjustments. This metric records changes if they are in the opposite
    directions. Chrome OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.ParameterError"
    enum="AutoScreenBrightnessParameterError" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    When there is an error in the automatic screen brightness parameters, this
    records which kind of parameter is invalid. Chrome OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.PersonalCurveValid" enum="BooleanValid"
    expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Whether the user's personal brightness curve is valid. Chrome OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.Same.UserModelBrightnessAdjustments"
    units="count" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    When user changes brightness manually, if the previous change was caused by
    the model, then we log bucketized absolute brightness changes of the two
    adjustments. This metric records changes if they are in the same direction.
    Chrome OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.TrainingCompleteDuration.NewCurve"
    units="ms" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time elapsed to complete training after which a new curve was generated.
    Chrome OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.TrainingCompleteDuration.NoNewCurve"
    units="ms" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time elapsed to complete training after which no new curve was
    generated. Chrome OS only.
  </summary>
</histogram>

<histogram name="AutoScreenBrightness.UserAdjustmentEffect"
    enum="AutoScreenBrightnessUserAdjustmentEffect" expires_after="2024-09-25">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    How user manual screen brightness adjustment changes the model. Chrome OS
    only.
  </summary>
</histogram>

</histograms>

</histogram-configuration>