power_manager_metrics/
power_manager_metrics.rs1pub mod power_manager_metrics {
4pub const CUSTOMER_NAME: &str = "fuchsia";
5pub const CUSTOMER_ID: u32 = 1;
6pub const PROJECT_NAME: &str = "power";
7pub const PROJECT_ID: u32 = 3;
8
9pub const POWER_BROKER_INSPECT_EVENT_BUFFER_CAPACITY_PER_DEVICE_DAILY_MIN_INT_BUCKETS_FLOOR: i64 = 1048576;
11pub const POWER_BROKER_INSPECT_EVENT_BUFFER_CAPACITY_PER_DEVICE_DAILY_MIN_INT_BUCKETS_NUM_BUCKETS: u32 = 100;
12pub const POWER_BROKER_INSPECT_EVENT_BUFFER_CAPACITY_PER_DEVICE_DAILY_MIN_INT_BUCKETS_STEP_SIZE: u32 = 262144;
13
14pub const RAW_TEMPERATURE_MIGRATED_INT_BUCKETS_FLOOR: i64 = 20;
16pub const RAW_TEMPERATURE_MIGRATED_INT_BUCKETS_NUM_BUCKETS: u32 = 80;
17pub const RAW_TEMPERATURE_MIGRATED_INT_BUCKETS_STEP_SIZE: u32 = 1;
18
19pub const MIN_POWER_CONSUMPTION_INT_BUCKETS_FLOOR: i64 = 0;
21pub const MIN_POWER_CONSUMPTION_INT_BUCKETS_NUM_BUCKETS: u32 = 100;
22pub const MIN_POWER_CONSUMPTION_INT_BUCKETS_STEP_SIZE: u32 = 50;
23
24pub const MAX_POWER_CONSUMPTION_INT_BUCKETS_FLOOR: i64 = 0;
26pub const MAX_POWER_CONSUMPTION_INT_BUCKETS_NUM_BUCKETS: u32 = 100;
27pub const MAX_POWER_CONSUMPTION_INT_BUCKETS_STEP_SIZE: u32 = 50;
28
29pub const AVG_POWER_CONSUMPTION_INT_BUCKETS_FLOOR: i64 = 0;
31pub const AVG_POWER_CONSUMPTION_INT_BUCKETS_NUM_BUCKETS: u32 = 100;
32pub const AVG_POWER_CONSUMPTION_INT_BUCKETS_STEP_SIZE: u32 = 50;
33
34pub const MEDIAN_POWER_CONSUMPTION_INT_BUCKETS_FLOOR: i64 = 0;
36pub const MEDIAN_POWER_CONSUMPTION_INT_BUCKETS_NUM_BUCKETS: u32 = 100;
37pub const MEDIAN_POWER_CONSUMPTION_INT_BUCKETS_STEP_SIZE: u32 = 50;
38
39pub const POWER_BROKER_INSPECT_VMO_USED_BYTES_METRIC_ID: u32 = 7;
42pub const POWER_BROKER_INSPECT_VMO_USED_PER_TEN_K_METRIC_ID: u32 = 8;
44pub const POWER_BROKER_INSPECT_EVENT_BUFFER_CAPACITY_METRIC_ID: u32 = 9;
46pub const POWER_BROKER_INSPECT_EVENT_HISTORY_DURATION_METRIC_ID: u32 = 10;
48pub const THERMAL_LIMIT_RESULT_MIGRATED_METRIC_ID: u32 = 105;
50pub const RAW_TEMPERATURE_MIGRATED_METRIC_ID: u32 = 106;
52pub const MIN_POWER_CONSUMPTION_METRIC_ID: u32 = 1004;
54pub const MAX_POWER_CONSUMPTION_METRIC_ID: u32 = 1005;
56pub const AVG_POWER_CONSUMPTION_METRIC_ID: u32 = 1006;
58pub const MEDIAN_POWER_CONSUMPTION_METRIC_ID: u32 = 1007;
60
61#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
63pub enum PowerMetricDimensionResult {
64 Mitigated = 0,
65 Shutdown = 1,
66}
67
68impl cobalt_client::traits::AsEventCode for PowerMetricDimensionResult {
69 fn as_event_code(&self) -> u32 {
70 *self as u32
71 }
72}
73pub use PowerMetricDimensionResult as ThermalLimitResultMigratedMetricDimensionResult;
75
76#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
78pub enum PowerMetricDimensionSensor {
79 Ambient = 0,
80 ThermalPolicyInput1 = 1,
81}
82
83impl cobalt_client::traits::AsEventCode for PowerMetricDimensionSensor {
84 fn as_event_code(&self) -> u32 {
85 *self as u32
86 }
87}
88pub use PowerMetricDimensionSensor as RawTemperatureMigratedMetricDimensionSensor;
90
91#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
93pub enum PowerMetricDimensionSensorTarget {
94 Unknown = 0,
95 Mlb = 1,
96 Audio = 2,
97}
98
99impl cobalt_client::traits::AsEventCode for PowerMetricDimensionSensorTarget {
100 fn as_event_code(&self) -> u32 {
101 *self as u32
102 }
103}
104pub use PowerMetricDimensionSensorTarget as MinPowerConsumptionMetricDimensionSensorTarget;
106
107pub use PowerMetricDimensionSensorTarget as MaxPowerConsumptionMetricDimensionSensorTarget;
109
110pub use PowerMetricDimensionSensorTarget as AvgPowerConsumptionMetricDimensionSensorTarget;
112
113pub use PowerMetricDimensionSensorTarget as MedianPowerConsumptionMetricDimensionSensorTarget;
115
116#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
118pub enum PowerMetricDimensionIdleness {
119 Unknown = 0,
120 Idle = 1,
121 Active = 2,
122}
123
124impl cobalt_client::traits::AsEventCode for PowerMetricDimensionIdleness {
125 fn as_event_code(&self) -> u32 {
126 *self as u32
127 }
128}
129pub use PowerMetricDimensionIdleness as MinPowerConsumptionMetricDimensionIdleness;
131
132pub use PowerMetricDimensionIdleness as MaxPowerConsumptionMetricDimensionIdleness;
134
135pub use PowerMetricDimensionIdleness as AvgPowerConsumptionMetricDimensionIdleness;
137
138pub use PowerMetricDimensionIdleness as MedianPowerConsumptionMetricDimensionIdleness;
140
141#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
142pub struct MinPowerConsumptionEventCodes {
143 pub sensor_target: MinPowerConsumptionMetricDimensionSensorTarget,
144 pub idleness: MinPowerConsumptionMetricDimensionIdleness,
145}
146
147impl cobalt_client::traits::AsEventCodes for MinPowerConsumptionEventCodes {
148 fn as_event_codes(&self) -> Vec<u32> {
149 use cobalt_client::traits::AsEventCode;
150 vec![
151 self.sensor_target.as_event_code(),
152 self.idleness.as_event_code(),
153 ]
154 }
155}
156
157#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
158pub struct MaxPowerConsumptionEventCodes {
159 pub sensor_target: MaxPowerConsumptionMetricDimensionSensorTarget,
160 pub idleness: MaxPowerConsumptionMetricDimensionIdleness,
161}
162
163impl cobalt_client::traits::AsEventCodes for MaxPowerConsumptionEventCodes {
164 fn as_event_codes(&self) -> Vec<u32> {
165 use cobalt_client::traits::AsEventCode;
166 vec![
167 self.sensor_target.as_event_code(),
168 self.idleness.as_event_code(),
169 ]
170 }
171}
172
173#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
174pub struct AvgPowerConsumptionEventCodes {
175 pub sensor_target: AvgPowerConsumptionMetricDimensionSensorTarget,
176 pub idleness: AvgPowerConsumptionMetricDimensionIdleness,
177}
178
179impl cobalt_client::traits::AsEventCodes for AvgPowerConsumptionEventCodes {
180 fn as_event_codes(&self) -> Vec<u32> {
181 use cobalt_client::traits::AsEventCode;
182 vec![
183 self.sensor_target.as_event_code(),
184 self.idleness.as_event_code(),
185 ]
186 }
187}
188
189#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
190pub struct MedianPowerConsumptionEventCodes {
191 pub sensor_target: MedianPowerConsumptionMetricDimensionSensorTarget,
192 pub idleness: MedianPowerConsumptionMetricDimensionIdleness,
193}
194
195impl cobalt_client::traits::AsEventCodes for MedianPowerConsumptionEventCodes {
196 fn as_event_codes(&self) -> Vec<u32> {
197 use cobalt_client::traits::AsEventCode;
198 vec![
199 self.sensor_target.as_event_code(),
200 self.idleness.as_event_code(),
201 ]
202 }
203}
204
205}