xref: /aosp_15_r20/external/perfetto/protos/perfetto/metrics/android/wattson_tasks_attribution.proto (revision 6dbdd20afdafa5e3ca9b8809fa73465d530080dc)
1/*
2 * Copyright (C) 2024 The Android Open Source Project
3 *
4 * Licensed under the Apache License; Version 2.0 (the "License")= ;
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing; software
11 * distributed under the License is distributed on an "AS IS" BASIS;
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND; either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17syntax = "proto2";
18
19package perfetto.protos;
20
21message AndroidWattsonTasksAttributionMetric {
22  // Each version increment means updated structure format or field
23  optional int32 metric_version = 1;
24  // Each version increment means power model has been updated and estimates
25  // might change for the exact same input. Don't compare estimates across
26  // different power model versions.
27  optional int32 power_model_version = 2;
28  // Lists tasks (e.g. threads, process, package) and associated estimates
29  repeated AndroidWattsonTaskPeriodInfo period_info = 3;
30}
31
32// Groups of power per task for each period
33message AndroidWattsonTaskPeriodInfo {
34  optional int32 period_id = 1;
35  repeated AndroidWattsonTaskInfo task_info = 2;
36}
37
38message AndroidWattsonTaskInfo {
39  // Average estimated power for wall duration in mW
40  optional float estimated_mw = 1;
41  // Total energy over wall duration across CPUs in mWs
42  optional float estimated_mws = 2;
43  // Energy attributed to a thread for causing CPU idle exit
44  optional float idle_transitions_mws = 3;
45  optional string thread_name = 4;
46  optional string process_name = 5;
47  optional string package_name = 6;
48  optional int32 thread_id = 7;
49  optional int32 process_id = 8;
50}
51