blob: 048403df7f748b89d9be20b3c355ddd8b3addfe9 [file] [log] [blame]
<!--
Copyright 2021 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 Power 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>
<!-- Federated Learning and Analytics histograms -->
<variants name="FederatedPopulationName">
<variant name="analytics_test_population" summary="for F.A. test"/>
<variant name="timezone_code_phh" summary="for timezone PHH task"/>
</variants>
<histogram name="FederatedService.ServiceEvent" enum="FederatedServiceEvent"
expires_after="2023-07-01">
<owner>alanlxl@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<owner>cros-federated-team@google.com</owner>
<summary>
The events on FederatedService level, mainly about the fcp library loading.
</summary>
</histogram>
<histogram name="FederatedService.StorageEvent" enum="FederatedStorageEvent"
expires_after="2023-09-10">
<owner>alanlxl@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<owner>cros-federated-team@google.com</owner>
<summary>
The FederatedService storage related events, including DB connection,
disconnection and various errors.
</summary>
</histogram>
<histogram name="FederatedService.{Population}.CpuTimeMicrosec"
units="microseconds" expires_after="2023-07-01">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<owner>cros-federated-team@google.com</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="2023-07-01">
<owner>alanlxl@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<owner>cros-federated-team@google.com</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>
<!-- Machine Learning Service histograms -->
<histogram base="true" name="MachineLearningService.CpuTimeMicrosec"
units="microseconds" expires_after="2023-07-15">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
CPU time (for one CPU core) of one Chrome OS ML Service request. Reported
for all users; users without high-resolution clocks will report 0 for short
requests.
</summary>
</histogram>
<histogram name="MachineLearningService.CpuUsageMilliPercent"
units="1/1000ths of %" expires_after="2023-10-08">
<owner>alanlxl@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<summary>
Fraction of total CPU resources used by Chrome OS ML Service, sampled every
5 minutes.
</summary>
</histogram>
<histogram base="true"
name="MachineLearningService.CreateGraphExecutorResult.Event"
enum="MachineLearningServiceCreateGraphExecutorResultEvent"
expires_after="2023-07-15">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
The result of CreateGraphExecutor, which can be OK or some specific error.
</summary>
</histogram>
<histogram name="MachineLearningService.DocumentScanner.{RequestName}.Event"
enum="MachineLearningServiceDocumentScannerResultEvent"
expires_after="2023-07-01">
<owner>wtlee@chromium.org</owner>
<owner>chromeos-camera-eng@google.com</owner>
<owner>ml-service-team@google.com</owner>
<summary>
The result of DocumentScanner.{RequestName} request, which can be OK or
ERROR.
</summary>
<token key="RequestName">
<variant name="DetectCornersFromJPEG"/>
<variant name="DetectCornersFromNV12"/>
<variant name="DoPostProcessing"/>
</token>
</histogram>
<histogram base="true" name="MachineLearningService.ExecuteResult.Event"
enum="MachineLearningServiceExecuteResultEvent" expires_after="2023-07-15">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
The result of Execute, which can be OK or some specific error.
</summary>
</histogram>
<histogram name="MachineLearningService.GrammarChecker.Check.Event"
enum="Boolean" expires_after="2023-10-01">
<owner>jiwan@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<summary>The result of grammar check, which can be OK or ERROR.</summary>
</histogram>
<histogram name="MachineLearningService.GrammarChecker.LoadModelResult.Event"
enum="MachineLearningServiceLoadModelResultEvent"
expires_after="2023-07-01">
<owner>jiwan@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<summary>
The result of load grammar model, which can be OK or some specific error.
The error code could be logged in machine learning service in chrome or in
chromeos when grammar model is not loaded successfully.
</summary>
</histogram>
<histogram name="MachineLearningService.HandwritingModel.LoadModelResult.Event"
enum="MachineLearningServiceLoadHandwritingModelResultEvent"
expires_after="2023-08-19">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<owner>charleszhao@chromium.org</owner>
<summary>
The result of load handwriting model, which can be OK or some specific
error. The error code could be logged in machine learning service in chrome
or in chromeos when handwriting model is not loaded successfully.
</summary>
</histogram>
<histogram name="MachineLearningService.HandwritingModel.Recognize.Event"
enum="Boolean" expires_after="2023-08-27">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<owner>charleszhao@chromium.org</owner>
<summary>
The result of handwriting recognition, which can be OK or some specific
error.
</summary>
</histogram>
<histogram name="MachineLearningService.LoadModelResult"
enum="MachineLearningServiceLoadModelResultEvent"
expires_after="2023-07-15">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
The error result of LoadModel in cases when the model name could not be
determined. See MachineLearningService.*.LoadModelResult.Event for the
result broken down by model name when the name is known.
</summary>
</histogram>
<histogram base="true" name="MachineLearningService.LoadModelResult.Event"
enum="MachineLearningServiceLoadModelResultEvent"
expires_after="2023-07-15">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
The result of LoadModel, which can be OK or some specific error.
</summary>
</histogram>
<histogram name="MachineLearningService.MojoConnectionEvent"
enum="MachineLearningServiceMojoConnectionEvent" expires_after="2023-09-12">
<owner>alanlxl@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<summary>
Events related to the connection and disconnection of the Mojo IPC channel
between Chrome and the Chrome OS ML Service.
</summary>
</histogram>
<histogram name="MachineLearningService.NumWorkerProcess" units="count"
expires_after="2023-08-27">
<owner>alanlxl@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<summary>
Number of worker processes registered in ml-service. Only used in Chrome OS.
Sampled every 5 minutes.
</summary>
</histogram>
<histogram name="MachineLearningService.PeakTotalMemoryKb" units="KB"
expires_after="2023-10-01">
<owner>alanlxl@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<summary>
Peak total (shared and non-shared) memory used by Chrome OS ML Service over
the last 24 hours. Sampled every 5 minutes, so may miss short-lived spikes.
</summary>
</histogram>
<histogram name="MachineLearningService.ProcessError"
enum="MachineLearningServiceProcessError" expires_after="2023-10-22">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
Process handling errors of ml-service. Emitted when there is error in
process handling. For example, &quot;failed to spawning worker process&quot;
etc. Only used in Chrome OS.
</summary>
</histogram>
<histogram name="MachineLearningService.ReapWorkerProcessErrno"
enum="MachineLearningServiceReapWorkerProcessErrno"
expires_after="2023-07-15">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
The &quot;errno&quot; of waitpid calls used by ml-service's control process
to reap the worker processes. This is only recorded when waitpid meets error
and should be rare. This is a Chrome OS only metric. And we only record the
corresponding enum values of &quot;ECHILD&quot;, &quot;EINTR&quot; and
&quot;EINVAL&quot; because according to the man page of waitpid, they are
the only possible errno. All the other &quot;errno&quot; are treated as
&quot;unknown&quot; error.
</summary>
</histogram>
<histogram name="MachineLearningService.TextSuggester.Suggest.Event"
enum="BooleanError" expires_after="2023-10-15">
<owner>curtismcmullan@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<summary>
The result of a text suggester request, which can be OK or ERROR.
</summary>
</histogram>
<histogram base="true" name="MachineLearningService.TotalMemoryDeltaKb"
units="KB" expires_after="2023-07-15">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
Memory usage increase caused by one Chrome OS ML Service request.
</summary>
</histogram>
<histogram name="MachineLearningService.TotalMemoryKb" units="KB"
expires_after="2023-10-01">
<owner>alanlxl@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<summary>
Total (shared and non-shared) memory used by Chrome OS ML Service, sampled
every 5 minutes.
</summary>
</histogram>
<histogram
name="MachineLearningService.WebPlatformHandwritingModel.GetPrediction.Event"
enum="Boolean" expires_after="2023-08-27">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<owner>charleszhao@chromium.org</owner>
<summary>
The result of Web platform handwriting recognition, which can be either OK
or Error.
</summary>
</histogram>
<histogram
name="MachineLearningService.WebPlatformHandwritingModel.LoadModelResult.Event"
enum="MachineLearningServiceLoadHandwritingModelResultEvent"
expires_after="2023-07-30">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<owner>charleszhao@chromium.org</owner>
<summary>
The result of load web platform handwriting model, which can be OK or some
specific error. The error code could be logged in machine learning service
in chrome or in chromeos when handwriting model is not loaded successfully.
</summary>
</histogram>
<histogram
name="MachineLearningService.WebPlatformTfLiteFlatBufferModel.Compute.Event"
enum="MachineLearningServiceWebPlatformTfLiteFlatBufferModelComputeEvent"
expires_after="2023-11-01">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
The result of compute/inference based on a web platform model loaded, which
can be OK or some specific error. The error code could be logged in machine
learning service in chromeos when the computation fails.
</summary>
</histogram>
<histogram
name="MachineLearningService.WebPlatformTfLiteFlatBufferModel.CreateModelLoaderResult.Event"
enum="MachineLearningServiceWebPlatformTfLiteFlatBufferModelCreateModelLoaderResultEvent"
expires_after="2023-11-01">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
The result of creating web platform model loader, which can be success or
some specific error. The error code could be logged in machine learning
service in chromeos when the model loader can not be created successfully.
</summary>
</histogram>
<histogram
name="MachineLearningService.WebPlatformTfLiteFlatBufferModel.Load.Event"
enum="MachineLearningServiceWebPlatformTfLiteFlatBufferModelLoadEvent"
expires_after="2023-11-01">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
The result of loading a web platform model, which can be OK or some specific
error. The error code could be logged in machine learning service in
chromeos when model can not successfully loaded.
</summary>
</histogram>
<histogram name="MachineLearningService.WorkerProcessAcceptMojoConnectionTime"
units="microseconds" expires_after="2023-08-27">
<owner>alanlxl@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<summary>
The wall time used for the worker process to accept the mojo connection to
control process in ml-service. Only used in Chrome OS.
</summary>
</histogram>
<histogram name="MachineLearningService.WorkerProcessCleanUpTime"
units="microseconds" expires_after="2023-10-22">
<owner>alanlxl@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<summary>
The wall time used by the control process to reap and cleanup the worker
processes in ml-service. Only used in Chrome OS.
</summary>
</histogram>
<histogram name="MachineLearningService.WorkerProcessExitStatus"
units="exit status" expires_after="2023-10-08">
<owner>alanlxl@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<summary>
The exit status of the worker processes of ml-service. Only used in Chrome
OS. This is only emitted when the worker process exits with non-zero status.
And theoretically, there can be 255 different types of status (from 1 to
255).
</summary>
</histogram>
<histogram
name="MachineLearningService.{ObsoleteRequestName}.CreateGraphExecutorResult.Event"
enum="MachineLearningServiceCreateGraphExecutorResultEvent"
expires_after="M95">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
The result of obsolete {ObsoleteRequestName} CreateGraphExecutor request.
</summary>
<token key="ObsoleteRequestName">
<variant name="smart_dim_model_20190521_v3"/>
<variant name="TopCatModel"/>
</token>
</histogram>
<histogram
name="MachineLearningService.{ObsoleteRequestName}.ExecuteResult.Event"
enum="MachineLearningServiceExecuteResultEvent" expires_after="M95">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
The result of obsolete {ObsoleteRequestName} Execute request.
</summary>
<token key="ObsoleteRequestName">
<variant name="smart_dim_model_20190521_v3"/>
<variant name="TopCatModel"/>
</token>
</histogram>
<histogram
name="MachineLearningService.{ObsoleteRequestName}.LoadModelResult.Event"
enum="MachineLearningServiceLoadModelResultEvent" expires_after="M95">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
The result of obsolete {ObsoleteRequestName} LoadModel request.
</summary>
<token key="ObsoleteRequestName">
<variant name="smart_dim_model_20190521_v3"/>
<variant name="TopCatModel"/>
</token>
</histogram>
<histogram
name="MachineLearningService.{ObsoleteRequestName}.PrivateMemoryDeltaKb"
units="KB" expires_after="2019-07-01">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
Deprecated 07/2019, because we change to record total (shared+unshared)
memory rather than only private memory. Replaced by
MachineLearningService.{ObsoleteRequestName}.TotalMemoryDeltaKb.
</summary>
<token key="ObsoleteRequestName">
<variant name="CreateGraphExecutorResult"/>
<variant name="ExecuteResult"/>
<variant name="HandwritingModel.LoadModelResult"/>
<variant name="HandwritingModel.Recognize"/>
<variant name="LoadModelResult"/>
<variant name="TextClassifier.Annotate"/>
<variant name="TextClassifier.FindLanguages"/>
<variant name="TextClassifier.LoadModelResult"/>
<variant name="TextClassifier.SuggestSelection"/>
<variant name="TextSuggester.LoadModelResult"/>
<variant name="TextSuggester.Suggest"/>
<variant name="WebPlatformHandwritingModel.GetPrediction"/>
<variant name="WebPlatformHandwritingModel.LoadModelResult"/>
</token>
</histogram>
<histogram
name="MachineLearningService.{ObsoleteRequestName}.TotalMemoryDeltaKb"
units="KB" expires_after="M95">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
Memory usage increase caused by obsolete {ObsoleteRequestName} request.
</summary>
<token key="ObsoleteRequestName">
<variant name="CreateGraphExecutorResult"/>
<variant name="ExecuteResult"/>
<variant name="LoadModelResult"/>
<variant name="smart_dim_model_20190521_v3.CreateGraphExecutorResult"/>
<variant name="smart_dim_model_20190521_v3.ExecuteResult"/>
<variant name="smart_dim_model_20190521_v3.LoadModelResult"/>
<variant name="TopCatModel.CreateGraphExecutorResult"/>
<variant name="TopCatModel.ExecuteResult"/>
<variant name="TopCatModel.LoadModelResult"/>
</token>
</histogram>
<histogram name="MachineLearningService.{RequestName}.CpuTimeMicrosec"
units="microseconds" expires_after="2023-07-15">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
CPU time (for one CPU core) of {RequestName} request. Reported for all
users; users without high-resolution clocks will report 0 for short
requests.
</summary>
<token key="RequestName">
<variant name="DocumentScanner.DetectCornersFromJPEG"/>
<variant name="DocumentScanner.DetectCornersFromNV12"/>
<variant name="DocumentScanner.DoPostProcessing"/>
<variant name="DocumentScanner.LoadModelResult"/>
<variant name="HandwritingModel.LoadModelResult"/>
<variant name="HandwritingModel.Recognize"/>
<variant name="SmartDimModel.CreateGraphExecutorResult"/>
<variant name="SmartDimModel.ExecuteResult"/>
<variant name="SmartDimModel.LoadModelResult"/>
<variant name="TestModel.CreateGraphExecutorResult"/>
<variant name="TestModel.ExecuteResult"/>
<variant name="TestModel.LoadModelResult"/>
<variant name="TextClassifier.Annotate"/>
<variant name="TextClassifier.FindLanguages"/>
<variant name="TextClassifier.LoadModelResult"/>
<variant name="TextClassifier.SuggestSelection"/>
<variant name="TextSuggester.LoadModelResult"/>
<variant name="TextSuggester.Suggest"/>
<variant name="WebPlatformHandwritingModel.GetPrediction"/>
<variant name="WebPlatformHandwritingModel.LoadModelResult"/>
<variant name="WebPlatformTfLiteFlatBufferModel.Compute"/>
<variant name="WebPlatformTfLiteFlatBufferModel.CreateModelLoaderResult"/>
<variant name="WebPlatformTfLiteFlatBufferModel.Load"/>
</token>
</histogram>
<histogram
name="MachineLearningService.{RequestName}.CreateGraphExecutorResult.Event"
enum="MachineLearningServiceCreateGraphExecutorResultEvent"
expires_after="2023-07-15">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
The result of {RequestName} CreateGraphExecutor request, which can be OK or
some specific error.
</summary>
<token key="RequestName">
<variant name="SmartDimModel"/>
<variant name="TestModel"/>
</token>
</histogram>
<histogram name="MachineLearningService.{RequestName}.ExecuteResult.Event"
enum="MachineLearningServiceExecuteResultEvent" expires_after="2023-07-15">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
The result of {RequestName} Execute request, which can be OK or some
specific error.
</summary>
<token key="RequestName">
<variant name="SmartDimModel"/>
<variant name="TestModel"/>
</token>
</histogram>
<histogram name="MachineLearningService.{RequestName}.LoadModelResult.Event"
enum="MachineLearningServiceLoadModelResultEvent"
expires_after="2023-07-15">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>
The result of {RequestName} LoadModel request, which can be OK or some
specific error.
</summary>
<token key="RequestName">
<variant name="DocumentScanner"/>
<variant name="SmartDimModel"/>
<variant name="TestModel"/>
<variant name="TextClassifier"/>
<variant name="TextSuggester"/>
</token>
</histogram>
<histogram name="MachineLearningService.{RequestName}.TotalMemoryDeltaKb"
units="KB" expires_after="2023-07-01">
<owner>amoylan@chromium.org</owner>
<owner>alanlxl@chromium.org</owner>
<summary>Memory usage increase caused by {RequestName} request.</summary>
<token key="RequestName">
<variant name="DocumentScanner.DetectCornersFromJPEG"/>
<variant name="DocumentScanner.DetectCornersFromNV12"/>
<variant name="DocumentScanner.DoPostProcessing"/>
<variant name="DocumentScanner.LoadModelResult"/>
<variant name="HandwritingModel.LoadModelResult"/>
<variant name="HandwritingModel.Recognize"/>
<variant name="SmartDimModel.CreateGraphExecutorResult"/>
<variant name="SmartDimModel.ExecuteResult"/>
<variant name="SmartDimModel.LoadModelResult"/>
<variant name="TestModel.CreateGraphExecutorResult"/>
<variant name="TestModel.ExecuteResult"/>
<variant name="TestModel.LoadModelResult"/>
<variant name="TextClassifier.Annotate"/>
<variant name="TextClassifier.FindLanguages"/>
<variant name="TextClassifier.LoadModelResult"/>
<variant name="TextClassifier.SuggestSelection"/>
<variant name="TextSuggester.LoadModelResult"/>
<variant name="TextSuggester.Suggest"/>
<variant name="WebPlatformHandwritingModel.GetPrediction"/>
<variant name="WebPlatformHandwritingModel.LoadModelResult"/>
<variant name="WebPlatformTfLiteFlatBufferModel.Compute"/>
<variant name="WebPlatformTfLiteFlatBufferModel.CreateModelLoaderResult"/>
<variant name="WebPlatformTfLiteFlatBufferModel.Load"/>
</token>
</histogram>
</histograms>
</histogram-configuration>