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

<!--
Copyright 2024 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 Federated Service
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="FederatedPopulationName">
  <variant name="input_autocorrect_phh" summary="for e14s autocorrect task"/>
  <variant name="launcher_query_analytics_v1"
      summary="for launcher query analytics task"/>
  <variant name="launcher_query_analytics_v2"
      summary="for launcher query analytics v2 task"/>
  <variant name="timezone_code_phh" summary="for timezone PHH task"/>
</variants>

<histogram name="FederatedService.ServiceEvent" enum="FederatedServiceEvent"
    expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The events on FederatedService level, mainly about the fcp library loading.
  </summary>
</histogram>

<histogram name="FederatedService.StorageEvent" enum="FederatedStorageEvent"
    expires_after="2025-02-09">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The FederatedService storage related events, including DB connection,
    disconnection and various errors.
  </summary>
</histogram>

<histogram name="FederatedService.TrainingConditionToContinue"
    enum="FederatedTrainingConditionResult" expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs training condition check results during a federated round, including
    the overall result (Pass/Failed) and particular reasons of failure. Libfcp
    calls training condition check periodically during a round and once the
    check fails, it aborts the round. Interpret the histogram with the following
    formulas:

    #all_calls = #Pass + #Failed; Failure rate = #Failed / (#Pass + #Failed)

    weight of one reason = #this_reason / #Failed

    Note: in one check, all failed conditions are logged as reasons (v.s. the
    first failed one only). Therefore the sum of all reasons can be greater than
    the number of Failed.
  </summary>
</histogram>

<histogram name="FederatedService.TrainingConditionToStart"
    enum="FederatedTrainingConditionResult" expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Logs training condition check results before a federated round, including
    the overall result (Pass/Failed) and particular reasons of failure.
    Interpret the histogram with the following formulas:

    #all_calls = #Pass + #Failed; Failure rate = #Failed / (#Pass + #Failed)

    weight of one reason = #this_reason / #Failed

    Note: in one check, all failed conditions are logged as reasons (v.s. the
    first failed one only). Therefore the sum of all reasons can be greater than
    the number of Failed.
  </summary>
</histogram>

<histogram name="FederatedService.{Population}.CpuTimeMicrosec"
    units="microseconds" expires_after="2024-11-03">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    CPU time (for one CPU core) of {Population} successful tasks. Reported for
    all users; users without high-resolution clocks will report 0 for short
    requests.
  </summary>
  <token key="Population" variants="FederatedPopulationName"/>
</histogram>

<histogram name="FederatedService.{Population}.Event"
    enum="FederatedClientEvent" expires_after="2025-01-05">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The event of FederatedService population {Population}, including receiving
    examples, task contributed/rejected and various failure reasons.
  </summary>
  <token key="Population" variants="FederatedPopulationName"/>
</histogram>

</histograms>

</histogram-configuration>