power_manager_metrics/
power_manager_metrics.rs

1// This file was generated by Cobalt's Registry parser based on the registry YAML
2// in the cobalt_config repository. Edit the YAML there to make changes.
3pub 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
9// Linear bucket constants for power_broker_inspect_event_buffer_capacity per_device_daily_min
10pub 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
14// Linear bucket constants for raw_temperature_migrated
15pub 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
19// Linear bucket constants for min_power_consumption
20pub 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
24// Linear bucket constants for max_power_consumption
25pub 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
29// Linear bucket constants for avg_power_consumption
30pub 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
34// Linear bucket constants for median_power_consumption
35pub 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
39// Metric ID Constants
40// power_broker_inspect_vmo_used_bytes
41pub const POWER_BROKER_INSPECT_VMO_USED_BYTES_METRIC_ID: u32 = 7;
42// power_broker_inspect_vmo_used_per_ten_k
43pub const POWER_BROKER_INSPECT_VMO_USED_PER_TEN_K_METRIC_ID: u32 = 8;
44// power_broker_inspect_event_buffer_capacity
45pub const POWER_BROKER_INSPECT_EVENT_BUFFER_CAPACITY_METRIC_ID: u32 = 9;
46// power_broker_inspect_event_history_duration
47pub const POWER_BROKER_INSPECT_EVENT_HISTORY_DURATION_METRIC_ID: u32 = 10;
48// thermal_limit_result_migrated
49pub const THERMAL_LIMIT_RESULT_MIGRATED_METRIC_ID: u32 = 105;
50// raw_temperature_migrated
51pub const RAW_TEMPERATURE_MIGRATED_METRIC_ID: u32 = 106;
52// min_power_consumption
53pub const MIN_POWER_CONSUMPTION_METRIC_ID: u32 = 1004;
54// max_power_consumption
55pub const MAX_POWER_CONSUMPTION_METRIC_ID: u32 = 1005;
56// avg_power_consumption
57pub const AVG_POWER_CONSUMPTION_METRIC_ID: u32 = 1006;
58// median_power_consumption
59pub const MEDIAN_POWER_CONSUMPTION_METRIC_ID: u32 = 1007;
60
61// Enum for power (Metric Dimension result)
62#[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}
73// Alias for thermal_limit_result_migrated (Metric Dimension result) which has the same event codes
74pub use PowerMetricDimensionResult as ThermalLimitResultMigratedMetricDimensionResult;
75
76// Enum for power (Metric Dimension sensor)
77#[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}
88// Alias for raw_temperature_migrated (Metric Dimension sensor) which has the same event codes
89pub use PowerMetricDimensionSensor as RawTemperatureMigratedMetricDimensionSensor;
90
91// Enum for power (Metric Dimension sensor_target)
92#[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}
104// Alias for min_power_consumption (Metric Dimension sensor_target) which has the same event codes
105pub use PowerMetricDimensionSensorTarget as MinPowerConsumptionMetricDimensionSensorTarget;
106
107// Alias for max_power_consumption (Metric Dimension sensor_target) which has the same event codes
108pub use PowerMetricDimensionSensorTarget as MaxPowerConsumptionMetricDimensionSensorTarget;
109
110// Alias for avg_power_consumption (Metric Dimension sensor_target) which has the same event codes
111pub use PowerMetricDimensionSensorTarget as AvgPowerConsumptionMetricDimensionSensorTarget;
112
113// Alias for median_power_consumption (Metric Dimension sensor_target) which has the same event codes
114pub use PowerMetricDimensionSensorTarget as MedianPowerConsumptionMetricDimensionSensorTarget;
115
116// Enum for power (Metric Dimension idleness)
117#[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}
129// Alias for min_power_consumption (Metric Dimension idleness) which has the same event codes
130pub use PowerMetricDimensionIdleness as MinPowerConsumptionMetricDimensionIdleness;
131
132// Alias for max_power_consumption (Metric Dimension idleness) which has the same event codes
133pub use PowerMetricDimensionIdleness as MaxPowerConsumptionMetricDimensionIdleness;
134
135// Alias for avg_power_consumption (Metric Dimension idleness) which has the same event codes
136pub use PowerMetricDimensionIdleness as AvgPowerConsumptionMetricDimensionIdleness;
137
138// Alias for median_power_consumption (Metric Dimension idleness) which has the same event codes
139pub 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}