xref: /aosp_15_r20/external/perfetto/protos/perfetto/metrics/android/wattson_in_time_period.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 AndroidWattsonTimePeriodMetric {
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  repeated AndroidWattsonEstimateInfo period_info = 3;
29}
30
31message AndroidWattsonEstimateInfo {
32  optional int32 period_id = 1;
33  optional string period_name = 2;
34  optional int64 period_dur = 3;
35  optional AndroidWattsonCpuSubsystemEstimate cpu_subsystem = 4;
36}
37
38message AndroidWattsonCpuSubsystemEstimate {
39  // estimates and estimates of subrails
40  optional float estimated_mw = 1;
41  optional float estimated_mws = 2;
42  optional AndroidWattsonPolicyEstimate policy0 = 3;
43  optional AndroidWattsonPolicyEstimate policy1 = 4;
44  optional AndroidWattsonPolicyEstimate policy2 = 5;
45  optional AndroidWattsonPolicyEstimate policy3 = 6;
46  optional AndroidWattsonPolicyEstimate policy4 = 7;
47  optional AndroidWattsonPolicyEstimate policy5 = 8;
48  optional AndroidWattsonPolicyEstimate policy6 = 9;
49  optional AndroidWattsonPolicyEstimate policy7 = 10;
50  optional AndroidWattsonDsuScuEstimate dsu_scu = 11;
51}
52
53message AndroidWattsonPolicyEstimate {
54  optional float estimated_mw = 1;
55  optional float estimated_mws = 2;
56  optional AndroidWattsonCpuEstimate cpu0 = 3;
57  optional AndroidWattsonCpuEstimate cpu1 = 4;
58  optional AndroidWattsonCpuEstimate cpu2 = 5;
59  optional AndroidWattsonCpuEstimate cpu3 = 6;
60  optional AndroidWattsonCpuEstimate cpu4 = 7;
61  optional AndroidWattsonCpuEstimate cpu5 = 8;
62  optional AndroidWattsonCpuEstimate cpu6 = 9;
63  optional AndroidWattsonCpuEstimate cpu7 = 10;
64}
65
66message AndroidWattsonCpuEstimate {
67  optional float estimated_mw = 1;
68  optional float estimated_mws = 2;
69}
70
71message AndroidWattsonDsuScuEstimate {
72  optional float estimated_mw = 1;
73  optional float estimated_mws = 2;
74}
75