wlan_metrics_registry/
wlan_metrics_registry.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 const CUSTOMER_NAME: &str = "fuchsia";
4pub const CUSTOMER_ID: u32 = 1;
5pub const PROJECT_NAME: &str = "connectivity_wlan";
6pub const PROJECT_ID: u32 = 3708719327;
7
8// Linear bucket constants for last_scan_age_when_scan_requested_migrated last_scan_age_when_scan_requested_histogram
9pub const LAST_SCAN_AGE_WHEN_SCAN_REQUESTED_MIGRATED_LAST_SCAN_AGE_WHEN_SCAN_REQUESTED_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
10pub const LAST_SCAN_AGE_WHEN_SCAN_REQUESTED_MIGRATED_LAST_SCAN_AGE_WHEN_SCAN_REQUESTED_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 60;
11pub const LAST_SCAN_AGE_WHEN_SCAN_REQUESTED_MIGRATED_LAST_SCAN_AGE_WHEN_SCAN_REQUESTED_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 5000000;
12
13// Exponential bucket constants for policy_connection_attempt_migrated device_daily_occurrence_histogram
14pub const POLICY_CONNECTION_ATTEMPT_MIGRATED_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
15pub const POLICY_CONNECTION_ATTEMPT_MIGRATED_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
16pub const POLICY_CONNECTION_ATTEMPT_MIGRATED_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_INITIAL_STEP: u32 = 1;
17pub const POLICY_CONNECTION_ATTEMPT_MIGRATED_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_STEP_MULTIPLIER: u32 = 2;
18
19// Linear bucket constants for fleetwide_total_time_quality_metric_template__custom device_daily_total_histogram
20pub const FLEETWIDE_TOTAL_TIME_QUALITY_METRIC_TEMPLATE__CUSTOM_DEVICE_DAILY_TOTAL_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
21pub const FLEETWIDE_TOTAL_TIME_QUALITY_METRIC_TEMPLATE__CUSTOM_DEVICE_DAILY_TOTAL_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
22pub const FLEETWIDE_TOTAL_TIME_QUALITY_METRIC_TEMPLATE__CUSTOM_DEVICE_DAILY_TOTAL_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1000000;
23
24// Linear bucket constants for device_local_ratio_monitoring_metric_template__custom device_daily_max_histograms
25pub const DEVICE_LOCAL_RATIO_MONITORING_METRIC_TEMPLATE__CUSTOM_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
26pub const DEVICE_LOCAL_RATIO_MONITORING_METRIC_TEMPLATE__CUSTOM_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 150;
27pub const DEVICE_LOCAL_RATIO_MONITORING_METRIC_TEMPLATE__CUSTOM_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1000;
28
29// Linear bucket constants for occurrence_metric_template device_daily_occurrence_histograms
30pub const OCCURRENCE_METRIC_TEMPLATE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
31pub const OCCURRENCE_METRIC_TEMPLATE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
32pub const OCCURRENCE_METRIC_TEMPLATE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
33
34// Linear bucket constants for occurrence_metric_template device_weekly_occurrence_histograms
35pub const OCCURRENCE_METRIC_TEMPLATE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
36pub const OCCURRENCE_METRIC_TEMPLATE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 100;
37pub const OCCURRENCE_METRIC_TEMPLATE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
38
39// Linear bucket constants for integer_metric_template fleetwide_histogram
40pub const INTEGER_METRIC_TEMPLATE_FLEETWIDE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
41pub const INTEGER_METRIC_TEMPLATE_FLEETWIDE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
42pub const INTEGER_METRIC_TEMPLATE_FLEETWIDE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
43
44// Linear bucket constants for integer_metric_template device_daily_median_histogram
45pub const INTEGER_METRIC_TEMPLATE_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
46pub const INTEGER_METRIC_TEMPLATE_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
47pub const INTEGER_METRIC_TEMPLATE_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
48
49// Linear bucket constants for integer_metric_template device_daily_mean_histogram
50pub const INTEGER_METRIC_TEMPLATE_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
51pub const INTEGER_METRIC_TEMPLATE_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
52pub const INTEGER_METRIC_TEMPLATE_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
53
54// Linear bucket constants for integer_metric_template device_daily_max_histogram
55pub const INTEGER_METRIC_TEMPLATE_DEVICE_DAILY_MAX_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
56pub const INTEGER_METRIC_TEMPLATE_DEVICE_DAILY_MAX_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
57pub const INTEGER_METRIC_TEMPLATE_DEVICE_DAILY_MAX_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
58
59// Linear bucket constants for integer_metric_template device_daily_min_histogram
60pub const INTEGER_METRIC_TEMPLATE_DEVICE_DAILY_MIN_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
61pub const INTEGER_METRIC_TEMPLATE_DEVICE_DAILY_MIN_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
62pub const INTEGER_METRIC_TEMPLATE_DEVICE_DAILY_MIN_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
63
64// Linear bucket constants for total_connected_uptime device_daily_total_histogram
65pub const TOTAL_CONNECTED_UPTIME_DEVICE_DAILY_TOTAL_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
66pub const TOTAL_CONNECTED_UPTIME_DEVICE_DAILY_TOTAL_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 144;
67pub const TOTAL_CONNECTED_UPTIME_DEVICE_DAILY_TOTAL_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 600000000;
68
69// Linear bucket constants for connected_uptime_ratio device_daily_max_histograms__part_1
70pub const CONNECTED_UPTIME_RATIO_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_FLOOR: i64 = 0;
71pub const CONNECTED_UPTIME_RATIO_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_NUM_BUCKETS: u32 = 4;
72pub const CONNECTED_UPTIME_RATIO_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_STEP_SIZE: u32 = 2000;
73
74// Linear bucket constants for connected_uptime_ratio device_daily_max_histograms__part_2
75pub const CONNECTED_UPTIME_RATIO_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_FLOOR: i64 = 8000;
76pub const CONNECTED_UPTIME_RATIO_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_NUM_BUCKETS: u32 = 3;
77pub const CONNECTED_UPTIME_RATIO_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_STEP_SIZE: u32 = 500;
78
79// Linear bucket constants for connected_uptime_ratio device_daily_max_histograms__part_3
80pub const CONNECTED_UPTIME_RATIO_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_FLOOR: i64 = 9500;
81pub const CONNECTED_UPTIME_RATIO_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_NUM_BUCKETS: u32 = 4;
82pub const CONNECTED_UPTIME_RATIO_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_STEP_SIZE: u32 = 100;
83
84// Linear bucket constants for connected_uptime_ratio device_daily_max_histograms__part_4
85pub const CONNECTED_UPTIME_RATIO_DEVICE_DAILY_MAX_HISTOGRAMS__PART_4_INT_BUCKETS_FLOOR: i64 = 9900;
86pub const CONNECTED_UPTIME_RATIO_DEVICE_DAILY_MAX_HISTOGRAMS__PART_4_INT_BUCKETS_NUM_BUCKETS: u32 = 6;
87pub const CONNECTED_UPTIME_RATIO_DEVICE_DAILY_MAX_HISTOGRAMS__PART_4_INT_BUCKETS_STEP_SIZE: u32 = 20;
88
89// Linear bucket constants for disconnect_per_day_connected device_daily_max_histograms
90pub const DISCONNECT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
91pub const DISCONNECT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 150;
92pub const DISCONNECT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1000;
93
94// Linear bucket constants for disconnect_per_day_connected device_daily_max_histograms__part_1
95pub const DISCONNECT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_FLOOR: i64 = 0;
96pub const DISCONNECT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
97pub const DISCONNECT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_STEP_SIZE: u32 = 10000;
98
99// Linear bucket constants for disconnect_per_day_connected device_daily_max_histograms__part_2
100pub const DISCONNECT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_FLOOR: i64 = 100000;
101pub const DISCONNECT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_NUM_BUCKETS: u32 = 4;
102pub const DISCONNECT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_STEP_SIZE: u32 = 50000;
103
104// Linear bucket constants for disconnect_per_day_connected device_daily_max_histograms__part_3
105pub const DISCONNECT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_FLOOR: i64 = 300000;
106pub const DISCONNECT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_NUM_BUCKETS: u32 = 7;
107pub const DISCONNECT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_STEP_SIZE: u32 = 100000;
108
109// Linear bucket constants for time_ratio_with_high_rx_packet_drop device_daily_max_histograms__part_1
110pub const TIME_RATIO_WITH_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_FLOOR: i64 = 0;
111pub const TIME_RATIO_WITH_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
112pub const TIME_RATIO_WITH_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_STEP_SIZE: u32 = 100;
113
114// Linear bucket constants for time_ratio_with_high_rx_packet_drop device_daily_max_histograms__part_2
115pub const TIME_RATIO_WITH_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_FLOOR: i64 = 1000;
116pub const TIME_RATIO_WITH_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_NUM_BUCKETS: u32 = 5;
117pub const TIME_RATIO_WITH_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_STEP_SIZE: u32 = 200;
118
119// Linear bucket constants for time_ratio_with_high_rx_packet_drop device_daily_max_histograms__part_3
120pub const TIME_RATIO_WITH_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_FLOOR: i64 = 2000;
121pub const TIME_RATIO_WITH_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_NUM_BUCKETS: u32 = 5;
122pub const TIME_RATIO_WITH_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_STEP_SIZE: u32 = 400;
123
124// Linear bucket constants for time_ratio_with_high_rx_packet_drop device_daily_max_histograms__part_4
125pub const TIME_RATIO_WITH_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_4_INT_BUCKETS_FLOOR: i64 = 4000;
126pub const TIME_RATIO_WITH_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_4_INT_BUCKETS_NUM_BUCKETS: u32 = 7;
127pub const TIME_RATIO_WITH_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_4_INT_BUCKETS_STEP_SIZE: u32 = 1000;
128
129// Linear bucket constants for time_ratio_with_high_tx_packet_drop device_daily_max_histograms__part_1
130pub const TIME_RATIO_WITH_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_FLOOR: i64 = 0;
131pub const TIME_RATIO_WITH_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
132pub const TIME_RATIO_WITH_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_STEP_SIZE: u32 = 100;
133
134// Linear bucket constants for time_ratio_with_high_tx_packet_drop device_daily_max_histograms__part_2
135pub const TIME_RATIO_WITH_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_FLOOR: i64 = 1000;
136pub const TIME_RATIO_WITH_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_NUM_BUCKETS: u32 = 5;
137pub const TIME_RATIO_WITH_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_STEP_SIZE: u32 = 200;
138
139// Linear bucket constants for time_ratio_with_high_tx_packet_drop device_daily_max_histograms__part_3
140pub const TIME_RATIO_WITH_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_FLOOR: i64 = 2000;
141pub const TIME_RATIO_WITH_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_NUM_BUCKETS: u32 = 5;
142pub const TIME_RATIO_WITH_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_STEP_SIZE: u32 = 400;
143
144// Linear bucket constants for time_ratio_with_high_tx_packet_drop device_daily_max_histograms__part_4
145pub const TIME_RATIO_WITH_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_4_INT_BUCKETS_FLOOR: i64 = 4000;
146pub const TIME_RATIO_WITH_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_4_INT_BUCKETS_NUM_BUCKETS: u32 = 7;
147pub const TIME_RATIO_WITH_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_4_INT_BUCKETS_STEP_SIZE: u32 = 1000;
148
149// Exponential bucket constants for time_ratio_with_no_rx device_daily_max_histograms
150pub const TIME_RATIO_WITH_NO_RX_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
151pub const TIME_RATIO_WITH_NO_RX_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 15;
152pub const TIME_RATIO_WITH_NO_RX_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_INITIAL_STEP: u32 = 1;
153pub const TIME_RATIO_WITH_NO_RX_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_STEP_MULTIPLIER: u32 = 2;
154
155// Linear bucket constants for connection_success_rate device_daily_max_histograms
156pub const CONNECTION_SUCCESS_RATE_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
157pub const CONNECTION_SUCCESS_RATE_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
158pub const CONNECTION_SUCCESS_RATE_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 100;
159
160// Linear bucket constants for time_ratio_with_very_high_rx_packet_drop device_daily_max_histograms__part_1
161pub const TIME_RATIO_WITH_VERY_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_FLOOR: i64 = 0;
162pub const TIME_RATIO_WITH_VERY_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
163pub const TIME_RATIO_WITH_VERY_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_STEP_SIZE: u32 = 100;
164
165// Linear bucket constants for time_ratio_with_very_high_rx_packet_drop device_daily_max_histograms__part_2
166pub const TIME_RATIO_WITH_VERY_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_FLOOR: i64 = 1000;
167pub const TIME_RATIO_WITH_VERY_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_NUM_BUCKETS: u32 = 5;
168pub const TIME_RATIO_WITH_VERY_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_STEP_SIZE: u32 = 200;
169
170// Linear bucket constants for time_ratio_with_very_high_rx_packet_drop device_daily_max_histograms__part_3
171pub const TIME_RATIO_WITH_VERY_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_FLOOR: i64 = 2000;
172pub const TIME_RATIO_WITH_VERY_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_NUM_BUCKETS: u32 = 5;
173pub const TIME_RATIO_WITH_VERY_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_STEP_SIZE: u32 = 400;
174
175// Linear bucket constants for time_ratio_with_very_high_rx_packet_drop device_daily_max_histograms__part_4
176pub const TIME_RATIO_WITH_VERY_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_4_INT_BUCKETS_FLOOR: i64 = 4000;
177pub const TIME_RATIO_WITH_VERY_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_4_INT_BUCKETS_NUM_BUCKETS: u32 = 7;
178pub const TIME_RATIO_WITH_VERY_HIGH_RX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_4_INT_BUCKETS_STEP_SIZE: u32 = 1000;
179
180// Linear bucket constants for time_ratio_with_very_high_tx_packet_drop device_daily_max_histograms__part_1
181pub const TIME_RATIO_WITH_VERY_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_FLOOR: i64 = 0;
182pub const TIME_RATIO_WITH_VERY_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
183pub const TIME_RATIO_WITH_VERY_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_STEP_SIZE: u32 = 100;
184
185// Linear bucket constants for time_ratio_with_very_high_tx_packet_drop device_daily_max_histograms__part_2
186pub const TIME_RATIO_WITH_VERY_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_FLOOR: i64 = 1000;
187pub const TIME_RATIO_WITH_VERY_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_NUM_BUCKETS: u32 = 5;
188pub const TIME_RATIO_WITH_VERY_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_STEP_SIZE: u32 = 200;
189
190// Linear bucket constants for time_ratio_with_very_high_tx_packet_drop device_daily_max_histograms__part_3
191pub const TIME_RATIO_WITH_VERY_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_FLOOR: i64 = 2000;
192pub const TIME_RATIO_WITH_VERY_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_NUM_BUCKETS: u32 = 5;
193pub const TIME_RATIO_WITH_VERY_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_STEP_SIZE: u32 = 400;
194
195// Linear bucket constants for time_ratio_with_very_high_tx_packet_drop device_daily_max_histograms__part_4
196pub const TIME_RATIO_WITH_VERY_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_4_INT_BUCKETS_FLOOR: i64 = 4000;
197pub const TIME_RATIO_WITH_VERY_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_4_INT_BUCKETS_NUM_BUCKETS: u32 = 7;
198pub const TIME_RATIO_WITH_VERY_HIGH_TX_PACKET_DROP_DEVICE_DAILY_MAX_HISTOGRAMS__PART_4_INT_BUCKETS_STEP_SIZE: u32 = 1000;
199
200// Linear bucket constants for policy_roam_disconnect_count_per_day_connected device_daily_max_histograms__part_1
201pub const POLICY_ROAM_DISCONNECT_COUNT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_FLOOR: i64 = 0;
202pub const POLICY_ROAM_DISCONNECT_COUNT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
203pub const POLICY_ROAM_DISCONNECT_COUNT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_STEP_SIZE: u32 = 10000;
204
205// Linear bucket constants for policy_roam_disconnect_count_per_day_connected device_daily_max_histograms__part_2
206pub const POLICY_ROAM_DISCONNECT_COUNT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_FLOOR: i64 = 100000;
207pub const POLICY_ROAM_DISCONNECT_COUNT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_NUM_BUCKETS: u32 = 4;
208pub const POLICY_ROAM_DISCONNECT_COUNT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_STEP_SIZE: u32 = 50000;
209
210// Linear bucket constants for policy_roam_disconnect_count_per_day_connected device_daily_max_histograms__part_3
211pub const POLICY_ROAM_DISCONNECT_COUNT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_FLOOR: i64 = 300000;
212pub const POLICY_ROAM_DISCONNECT_COUNT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_NUM_BUCKETS: u32 = 7;
213pub const POLICY_ROAM_DISCONNECT_COUNT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_STEP_SIZE: u32 = 100000;
214
215// Linear bucket constants for non_roam_disconnect_per_day_connected device_daily_max_histograms__part_1
216pub const NON_ROAM_DISCONNECT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_FLOOR: i64 = 0;
217pub const NON_ROAM_DISCONNECT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
218pub const NON_ROAM_DISCONNECT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_STEP_SIZE: u32 = 10000;
219
220// Linear bucket constants for non_roam_disconnect_per_day_connected device_daily_max_histograms__part_2
221pub const NON_ROAM_DISCONNECT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_FLOOR: i64 = 100000;
222pub const NON_ROAM_DISCONNECT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_NUM_BUCKETS: u32 = 4;
223pub const NON_ROAM_DISCONNECT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_STEP_SIZE: u32 = 50000;
224
225// Linear bucket constants for non_roam_disconnect_per_day_connected device_daily_max_histograms__part_3
226pub const NON_ROAM_DISCONNECT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_FLOOR: i64 = 300000;
227pub const NON_ROAM_DISCONNECT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_NUM_BUCKETS: u32 = 7;
228pub const NON_ROAM_DISCONNECT_PER_DAY_CONNECTED_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_STEP_SIZE: u32 = 100000;
229
230// Linear bucket constants for disconnect_per_day_connected_7d device_daily_max_histograms
231pub const DISCONNECT_PER_DAY_CONNECTED_7D_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
232pub const DISCONNECT_PER_DAY_CONNECTED_7D_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 150;
233pub const DISCONNECT_PER_DAY_CONNECTED_7D_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1000;
234
235// Linear bucket constants for disconnect_per_day_connected_7d device_daily_max_histograms__part_1
236pub const DISCONNECT_PER_DAY_CONNECTED_7D_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_FLOOR: i64 = 0;
237pub const DISCONNECT_PER_DAY_CONNECTED_7D_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_NUM_BUCKETS: u32 = 5;
238pub const DISCONNECT_PER_DAY_CONNECTED_7D_DEVICE_DAILY_MAX_HISTOGRAMS__PART_1_INT_BUCKETS_STEP_SIZE: u32 = 2000;
239
240// Linear bucket constants for disconnect_per_day_connected_7d device_daily_max_histograms__part_2
241pub const DISCONNECT_PER_DAY_CONNECTED_7D_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_FLOOR: i64 = 10000;
242pub const DISCONNECT_PER_DAY_CONNECTED_7D_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_NUM_BUCKETS: u32 = 8;
243pub const DISCONNECT_PER_DAY_CONNECTED_7D_DEVICE_DAILY_MAX_HISTOGRAMS__PART_2_INT_BUCKETS_STEP_SIZE: u32 = 5000;
244
245// Linear bucket constants for disconnect_per_day_connected_7d device_daily_max_histograms__part_3
246pub const DISCONNECT_PER_DAY_CONNECTED_7D_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_FLOOR: i64 = 50000;
247pub const DISCONNECT_PER_DAY_CONNECTED_7D_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
248pub const DISCONNECT_PER_DAY_CONNECTED_7D_DEVICE_DAILY_MAX_HISTOGRAMS__PART_3_INT_BUCKETS_STEP_SIZE: u32 = 10000;
249
250// Linear bucket constants for disconnect_per_day_connected_7d device_daily_max_histograms__part_4
251pub const DISCONNECT_PER_DAY_CONNECTED_7D_DEVICE_DAILY_MAX_HISTOGRAMS__PART_4_INT_BUCKETS_FLOOR: i64 = 150000;
252pub const DISCONNECT_PER_DAY_CONNECTED_7D_DEVICE_DAILY_MAX_HISTOGRAMS__PART_4_INT_BUCKETS_NUM_BUCKETS: u32 = 6;
253pub const DISCONNECT_PER_DAY_CONNECTED_7D_DEVICE_DAILY_MAX_HISTOGRAMS__PART_4_INT_BUCKETS_STEP_SIZE: u32 = 50000;
254
255// Exponential bucket constants for disconnect_breakdown_by_reason_code device_daily_occurrence_histograms
256pub const DISCONNECT_BREAKDOWN_BY_REASON_CODE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
257pub const DISCONNECT_BREAKDOWN_BY_REASON_CODE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
258pub const DISCONNECT_BREAKDOWN_BY_REASON_CODE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_INITIAL_STEP: u32 = 1;
259pub const DISCONNECT_BREAKDOWN_BY_REASON_CODE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_MULTIPLIER: u32 = 2;
260
261// Exponential bucket constants for disconnect_breakdown_by_reason_code device_weekly_occurrence_histograms
262pub const DISCONNECT_BREAKDOWN_BY_REASON_CODE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
263pub const DISCONNECT_BREAKDOWN_BY_REASON_CODE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
264pub const DISCONNECT_BREAKDOWN_BY_REASON_CODE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_INITIAL_STEP: u32 = 1;
265pub const DISCONNECT_BREAKDOWN_BY_REASON_CODE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_MULTIPLIER: u32 = 2;
266
267// Exponential bucket constants for connect_attempt_breakdown_by_status_code device_daily_occurrence_histograms
268pub const CONNECT_ATTEMPT_BREAKDOWN_BY_STATUS_CODE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
269pub const CONNECT_ATTEMPT_BREAKDOWN_BY_STATUS_CODE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
270pub const CONNECT_ATTEMPT_BREAKDOWN_BY_STATUS_CODE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_INITIAL_STEP: u32 = 1;
271pub const CONNECT_ATTEMPT_BREAKDOWN_BY_STATUS_CODE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_MULTIPLIER: u32 = 2;
272
273// Exponential bucket constants for connect_attempt_breakdown_by_status_code device_weekly_occurrence_histograms
274pub const CONNECT_ATTEMPT_BREAKDOWN_BY_STATUS_CODE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
275pub const CONNECT_ATTEMPT_BREAKDOWN_BY_STATUS_CODE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
276pub const CONNECT_ATTEMPT_BREAKDOWN_BY_STATUS_CODE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_INITIAL_STEP: u32 = 1;
277pub const CONNECT_ATTEMPT_BREAKDOWN_BY_STATUS_CODE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_MULTIPLIER: u32 = 2;
278
279// Exponential bucket constants for connect_attempt_on_normal_device_breakdown_by_status_code device_daily_occurrence_histograms
280pub const CONNECT_ATTEMPT_ON_NORMAL_DEVICE_BREAKDOWN_BY_STATUS_CODE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
281pub const CONNECT_ATTEMPT_ON_NORMAL_DEVICE_BREAKDOWN_BY_STATUS_CODE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
282pub const CONNECT_ATTEMPT_ON_NORMAL_DEVICE_BREAKDOWN_BY_STATUS_CODE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_INITIAL_STEP: u32 = 1;
283pub const CONNECT_ATTEMPT_ON_NORMAL_DEVICE_BREAKDOWN_BY_STATUS_CODE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_MULTIPLIER: u32 = 2;
284
285// Exponential bucket constants for connect_attempt_on_normal_device_breakdown_by_status_code device_weekly_occurrence_histograms
286pub const CONNECT_ATTEMPT_ON_NORMAL_DEVICE_BREAKDOWN_BY_STATUS_CODE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
287pub const CONNECT_ATTEMPT_ON_NORMAL_DEVICE_BREAKDOWN_BY_STATUS_CODE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
288pub const CONNECT_ATTEMPT_ON_NORMAL_DEVICE_BREAKDOWN_BY_STATUS_CODE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_INITIAL_STEP: u32 = 1;
289pub const CONNECT_ATTEMPT_ON_NORMAL_DEVICE_BREAKDOWN_BY_STATUS_CODE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_MULTIPLIER: u32 = 2;
290
291// Exponential bucket constants for connect_attempt_on_bad_device_breakdown_by_status_code device_daily_occurrence_histograms
292pub const CONNECT_ATTEMPT_ON_BAD_DEVICE_BREAKDOWN_BY_STATUS_CODE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
293pub const CONNECT_ATTEMPT_ON_BAD_DEVICE_BREAKDOWN_BY_STATUS_CODE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
294pub const CONNECT_ATTEMPT_ON_BAD_DEVICE_BREAKDOWN_BY_STATUS_CODE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_INITIAL_STEP: u32 = 1;
295pub const CONNECT_ATTEMPT_ON_BAD_DEVICE_BREAKDOWN_BY_STATUS_CODE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_MULTIPLIER: u32 = 2;
296
297// Exponential bucket constants for connect_attempt_on_bad_device_breakdown_by_status_code device_weekly_occurrence_histograms
298pub const CONNECT_ATTEMPT_ON_BAD_DEVICE_BREAKDOWN_BY_STATUS_CODE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
299pub const CONNECT_ATTEMPT_ON_BAD_DEVICE_BREAKDOWN_BY_STATUS_CODE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
300pub const CONNECT_ATTEMPT_ON_BAD_DEVICE_BREAKDOWN_BY_STATUS_CODE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_INITIAL_STEP: u32 = 1;
301pub const CONNECT_ATTEMPT_ON_BAD_DEVICE_BREAKDOWN_BY_STATUS_CODE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_MULTIPLIER: u32 = 2;
302
303// Linear bucket constants for policy_roam_scan_count device_daily_occurrence_histograms
304pub const POLICY_ROAM_SCAN_COUNT_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
305pub const POLICY_ROAM_SCAN_COUNT_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 150;
306pub const POLICY_ROAM_SCAN_COUNT_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
307
308// Linear bucket constants for policy_roam_disconnect_count device_daily_occurrence_histograms
309pub const POLICY_ROAM_DISCONNECT_COUNT_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
310pub const POLICY_ROAM_DISCONNECT_COUNT_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 150;
311pub const POLICY_ROAM_DISCONNECT_COUNT_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
312
313// Linear bucket constants for non_roam_disconnect_counts device_daily_occurrence_histograms
314pub const NON_ROAM_DISCONNECT_COUNTS_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
315pub const NON_ROAM_DISCONNECT_COUNTS_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 150;
316pub const NON_ROAM_DISCONNECT_COUNTS_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
317
318// Linear bucket constants for network_disconnect_counts device_daily_occurrence_histograms
319pub const NETWORK_DISCONNECT_COUNTS_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
320pub const NETWORK_DISCONNECT_COUNTS_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 150;
321pub const NETWORK_DISCONNECT_COUNTS_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
322
323// Linear bucket constants for policy_roam_connected_duration_before_roam_attempt fleetwide_histograms
324pub const POLICY_ROAM_CONNECTED_DURATION_BEFORE_ROAM_ATTEMPT_FLEETWIDE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
325pub const POLICY_ROAM_CONNECTED_DURATION_BEFORE_ROAM_ATTEMPT_FLEETWIDE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 360;
326pub const POLICY_ROAM_CONNECTED_DURATION_BEFORE_ROAM_ATTEMPT_FLEETWIDE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
327
328// Linear bucket constants for connected_duration_before_non_roam_disconnect fleetwide_histograms
329pub const CONNECTED_DURATION_BEFORE_NON_ROAM_DISCONNECT_FLEETWIDE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
330pub const CONNECTED_DURATION_BEFORE_NON_ROAM_DISCONNECT_FLEETWIDE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 360;
331pub const CONNECTED_DURATION_BEFORE_NON_ROAM_DISCONNECT_FLEETWIDE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
332
333// Linear bucket constants for connected_duration_before_disconnect fleetwide_histograms
334pub const CONNECTED_DURATION_BEFORE_DISCONNECT_FLEETWIDE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
335pub const CONNECTED_DURATION_BEFORE_DISCONNECT_FLEETWIDE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 360;
336pub const CONNECTED_DURATION_BEFORE_DISCONNECT_FLEETWIDE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
337
338// Linear bucket constants for connection_rssi
339pub const CONNECTION_RSSI_INT_BUCKETS_FLOOR: i64 = -128;
340pub const CONNECTION_RSSI_INT_BUCKETS_NUM_BUCKETS: u32 = 129;
341pub const CONNECTION_RSSI_INT_BUCKETS_STEP_SIZE: u32 = 1;
342
343// Linear bucket constants for rssi_velocity
344pub const RSSI_VELOCITY_INT_BUCKETS_FLOOR: i64 = -10;
345pub const RSSI_VELOCITY_INT_BUCKETS_NUM_BUCKETS: u32 = 21;
346pub const RSSI_VELOCITY_INT_BUCKETS_STEP_SIZE: u32 = 1;
347
348// Linear bucket constants for policy_roam_reconnect_duration fleetwide_histograms
349pub const POLICY_ROAM_RECONNECT_DURATION_FLEETWIDE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
350pub const POLICY_ROAM_RECONNECT_DURATION_FLEETWIDE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 600;
351pub const POLICY_ROAM_RECONNECT_DURATION_FLEETWIDE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 100000;
352
353// Linear bucket constants for non_roam_reconnect_duration fleetwide_histograms
354pub const NON_ROAM_RECONNECT_DURATION_FLEETWIDE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
355pub const NON_ROAM_RECONNECT_DURATION_FLEETWIDE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 600;
356pub const NON_ROAM_RECONNECT_DURATION_FLEETWIDE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 100000;
357
358// Linear bucket constants for client_connections_stop_and_start device_daily_occurrence_histograms
359pub const CLIENT_CONNECTIONS_STOP_AND_START_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
360pub const CLIENT_CONNECTIONS_STOP_AND_START_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
361pub const CLIENT_CONNECTIONS_STOP_AND_START_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
362
363// Linear bucket constants for manual_network_change device_daily_occurrence_histograms
364pub const MANUAL_NETWORK_CHANGE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
365pub const MANUAL_NETWORK_CHANGE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
366pub const MANUAL_NETWORK_CHANGE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
367
368// Linear bucket constants for policy_roam_percent_good_decision device_daily_max_histograms
369pub const POLICY_ROAM_PERCENT_GOOD_DECISION_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
370pub const POLICY_ROAM_PERCENT_GOOD_DECISION_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
371pub const POLICY_ROAM_PERCENT_GOOD_DECISION_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 100;
372
373// Linear bucket constants for policy_roam_percent_good_decision_at_least_five device_daily_max_histograms
374pub const POLICY_ROAM_PERCENT_GOOD_DECISION_AT_LEAST_FIVE_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
375pub const POLICY_ROAM_PERCENT_GOOD_DECISION_AT_LEAST_FIVE_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
376pub const POLICY_ROAM_PERCENT_GOOD_DECISION_AT_LEAST_FIVE_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 100;
377
378// Linear bucket constants for policy_roam_to_insufficent_count device_daily_occurrence_histograms
379pub const POLICY_ROAM_TO_INSUFFICENT_COUNT_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
380pub const POLICY_ROAM_TO_INSUFFICENT_COUNT_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
381pub const POLICY_ROAM_TO_INSUFFICENT_COUNT_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
382
383// Linear bucket constants for interface_creation_failure device_daily_occurrence_histograms
384pub const INTERFACE_CREATION_FAILURE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
385pub const INTERFACE_CREATION_FAILURE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 51;
386pub const INTERFACE_CREATION_FAILURE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
387
388// Linear bucket constants for interface_destruction_failure device_daily_occurrence_histograms
389pub const INTERFACE_DESTRUCTION_FAILURE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
390pub const INTERFACE_DESTRUCTION_FAILURE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 51;
391pub const INTERFACE_DESTRUCTION_FAILURE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
392
393// Linear bucket constants for ap_start_failure device_daily_occurrence_histograms
394pub const AP_START_FAILURE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
395pub const AP_START_FAILURE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 51;
396pub const AP_START_FAILURE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
397
398// Linear bucket constants for client_scan_failure device_daily_occurrence_histograms
399pub const CLIENT_SCAN_FAILURE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
400pub const CLIENT_SCAN_FAILURE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 501;
401pub const CLIENT_SCAN_FAILURE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
402
403// Linear bucket constants for aborted_scan device_daily_occurrence_histograms
404pub const ABORTED_SCAN_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
405pub const ABORTED_SCAN_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 501;
406pub const ABORTED_SCAN_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
407
408// Linear bucket constants for empty_scan_results device_daily_occurrence_histograms
409pub const EMPTY_SCAN_RESULTS_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
410pub const EMPTY_SCAN_RESULTS_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 501;
411pub const EMPTY_SCAN_RESULTS_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
412
413// Linear bucket constants for connection_failures device_daily_occurrence_histograms
414pub const CONNECTION_FAILURES_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
415pub const CONNECTION_FAILURES_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 501;
416pub const CONNECTION_FAILURES_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
417
418// Linear bucket constants for consecutive_counter_stats_failures device_daily_max_histograms
419pub const CONSECUTIVE_COUNTER_STATS_FAILURES_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
420pub const CONSECUTIVE_COUNTER_STATS_FAILURES_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
421pub const CONSECUTIVE_COUNTER_STATS_FAILURES_DEVICE_DAILY_MAX_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
422
423// Linear bucket constants for recovery_occurrence device_daily_occurrence_histograms
424pub const RECOVERY_OCCURRENCE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
425pub const RECOVERY_OCCURRENCE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
426pub const RECOVERY_OCCURRENCE_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
427
428// Linear bucket constants for recovery_occurrence device_weekly_occurrence_histograms
429pub const RECOVERY_OCCURRENCE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
430pub const RECOVERY_OCCURRENCE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
431pub const RECOVERY_OCCURRENCE_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
432
433// Linear bucket constants for interface_creation_recovery_outcome device_daily_occurrence_histograms
434pub const INTERFACE_CREATION_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
435pub const INTERFACE_CREATION_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
436pub const INTERFACE_CREATION_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
437
438// Linear bucket constants for interface_creation_recovery_outcome device_weekly_occurrence_histograms
439pub const INTERFACE_CREATION_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
440pub const INTERFACE_CREATION_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
441pub const INTERFACE_CREATION_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
442
443// Linear bucket constants for interface_destruction_recovery_outcome device_daily_occurrence_histograms
444pub const INTERFACE_DESTRUCTION_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
445pub const INTERFACE_DESTRUCTION_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
446pub const INTERFACE_DESTRUCTION_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
447
448// Linear bucket constants for interface_destruction_recovery_outcome device_weekly_occurrence_histograms
449pub const INTERFACE_DESTRUCTION_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
450pub const INTERFACE_DESTRUCTION_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
451pub const INTERFACE_DESTRUCTION_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
452
453// Linear bucket constants for connect_failure_recovery_outcome device_daily_occurrence_histograms
454pub const CONNECT_FAILURE_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
455pub const CONNECT_FAILURE_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
456pub const CONNECT_FAILURE_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
457
458// Linear bucket constants for connect_failure_recovery_outcome device_weekly_occurrence_histograms
459pub const CONNECT_FAILURE_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
460pub const CONNECT_FAILURE_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
461pub const CONNECT_FAILURE_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
462
463// Linear bucket constants for scan_failure_recovery_outcome device_daily_occurrence_histograms
464pub const SCAN_FAILURE_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
465pub const SCAN_FAILURE_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
466pub const SCAN_FAILURE_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
467
468// Linear bucket constants for scan_failure_recovery_outcome device_weekly_occurrence_histograms
469pub const SCAN_FAILURE_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
470pub const SCAN_FAILURE_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
471pub const SCAN_FAILURE_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
472
473// Linear bucket constants for scan_cancellation_recovery_outcome device_daily_occurrence_histograms
474pub const SCAN_CANCELLATION_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
475pub const SCAN_CANCELLATION_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
476pub const SCAN_CANCELLATION_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
477
478// Linear bucket constants for scan_cancellation_recovery_outcome device_weekly_occurrence_histograms
479pub const SCAN_CANCELLATION_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
480pub const SCAN_CANCELLATION_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
481pub const SCAN_CANCELLATION_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
482
483// Linear bucket constants for empty_scan_results_recovery_outcome device_daily_occurrence_histograms
484pub const EMPTY_SCAN_RESULTS_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
485pub const EMPTY_SCAN_RESULTS_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
486pub const EMPTY_SCAN_RESULTS_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
487
488// Linear bucket constants for empty_scan_results_recovery_outcome device_weekly_occurrence_histograms
489pub const EMPTY_SCAN_RESULTS_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
490pub const EMPTY_SCAN_RESULTS_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
491pub const EMPTY_SCAN_RESULTS_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
492
493// Linear bucket constants for start_access_point_recovery_outcome device_daily_occurrence_histograms
494pub const START_ACCESS_POINT_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
495pub const START_ACCESS_POINT_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
496pub const START_ACCESS_POINT_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
497
498// Linear bucket constants for start_access_point_recovery_outcome device_weekly_occurrence_histograms
499pub const START_ACCESS_POINT_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
500pub const START_ACCESS_POINT_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
501pub const START_ACCESS_POINT_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
502
503// Linear bucket constants for policy_roam_scan_count_by_roam_reason device_daily_occurrence_histograms
504pub const POLICY_ROAM_SCAN_COUNT_BY_ROAM_REASON_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
505pub const POLICY_ROAM_SCAN_COUNT_BY_ROAM_REASON_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 150;
506pub const POLICY_ROAM_SCAN_COUNT_BY_ROAM_REASON_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
507
508// Linear bucket constants for policy_roam_attempt_count_by_roam_reason device_daily_occurrence_histograms
509pub const POLICY_ROAM_ATTEMPT_COUNT_BY_ROAM_REASON_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
510pub const POLICY_ROAM_ATTEMPT_COUNT_BY_ROAM_REASON_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 150;
511pub const POLICY_ROAM_ATTEMPT_COUNT_BY_ROAM_REASON_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
512
513// Linear bucket constants for sme_operation_timeout device_daily_occurrence_histograms
514pub const SME_OPERATION_TIMEOUT_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
515pub const SME_OPERATION_TIMEOUT_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
516pub const SME_OPERATION_TIMEOUT_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
517
518// Linear bucket constants for sme_operation_timeout device_weekly_occurrence_histograms
519pub const SME_OPERATION_TIMEOUT_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
520pub const SME_OPERATION_TIMEOUT_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
521pub const SME_OPERATION_TIMEOUT_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
522
523// Linear bucket constants for timeout_recovery_outcome device_daily_occurrence_histograms
524pub const TIMEOUT_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
525pub const TIMEOUT_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
526pub const TIMEOUT_RECOVERY_OUTCOME_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
527
528// Linear bucket constants for timeout_recovery_outcome device_weekly_occurrence_histograms
529pub const TIMEOUT_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
530pub const TIMEOUT_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
531pub const TIMEOUT_RECOVERY_OUTCOME_DEVICE_WEEKLY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
532
533// Linear bucket constants for power_level_at_suspend device_daily_occurrence_histograms
534pub const POWER_LEVEL_AT_SUSPEND_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
535pub const POWER_LEVEL_AT_SUSPEND_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 50;
536pub const POWER_LEVEL_AT_SUSPEND_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 5;
537
538// Linear bucket constants for unclear_power_level_demand device_daily_occurrence_histograms
539pub const UNCLEAR_POWER_LEVEL_DEMAND_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
540pub const UNCLEAR_POWER_LEVEL_DEMAND_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
541pub const UNCLEAR_POWER_LEVEL_DEMAND_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
542
543// Linear bucket constants for policy_roam_attempt_count device_daily_occurrence_histograms
544pub const POLICY_ROAM_ATTEMPT_COUNT_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
545pub const POLICY_ROAM_ATTEMPT_COUNT_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 150;
546pub const POLICY_ROAM_ATTEMPT_COUNT_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
547
548// Linear bucket constants for policy_roam_disconnect_count_by_roam_reason device_daily_occurrence_histograms
549pub const POLICY_ROAM_DISCONNECT_COUNT_BY_ROAM_REASON_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
550pub const POLICY_ROAM_DISCONNECT_COUNT_BY_ROAM_REASON_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 150;
551pub const POLICY_ROAM_DISCONNECT_COUNT_BY_ROAM_REASON_DEVICE_DAILY_OCCURRENCE_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
552
553// Exponential bucket constants for policy_connection_attempts device_daily_occurrence_histogram
554pub const POLICY_CONNECTION_ATTEMPTS_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
555pub const POLICY_CONNECTION_ATTEMPTS_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
556pub const POLICY_CONNECTION_ATTEMPTS_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_INITIAL_STEP: u32 = 1;
557pub const POLICY_CONNECTION_ATTEMPTS_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_STEP_MULTIPLIER: u32 = 2;
558
559// Linear bucket constants for policy_fidl_connection_attempts_during_short_connection_detailed device_daily_occurrence_histogram
560pub const POLICY_FIDL_CONNECTION_ATTEMPTS_DURING_SHORT_CONNECTION_DETAILED_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
561pub const POLICY_FIDL_CONNECTION_ATTEMPTS_DURING_SHORT_CONNECTION_DETAILED_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 30;
562pub const POLICY_FIDL_CONNECTION_ATTEMPTS_DURING_SHORT_CONNECTION_DETAILED_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
563
564// Linear bucket constants for policy_fidl_connection_attempts_during_short_connection device_daily_occurrence_histogram
565pub const POLICY_FIDL_CONNECTION_ATTEMPTS_DURING_SHORT_CONNECTION_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
566pub const POLICY_FIDL_CONNECTION_ATTEMPTS_DURING_SHORT_CONNECTION_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 30;
567pub const POLICY_FIDL_CONNECTION_ATTEMPTS_DURING_SHORT_CONNECTION_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
568
569// Exponential bucket constants for network_selection_count device_daily_occurrence_histogram
570pub const NETWORK_SELECTION_COUNT_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
571pub const NETWORK_SELECTION_COUNT_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
572pub const NETWORK_SELECTION_COUNT_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_INITIAL_STEP: u32 = 1;
573pub const NETWORK_SELECTION_COUNT_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_STEP_MULTIPLIER: u32 = 2;
574
575// Linear bucket constants for num_networks_selected fleetwide_histogram
576pub const NUM_NETWORKS_SELECTED_FLEETWIDE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
577pub const NUM_NETWORKS_SELECTED_FLEETWIDE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 11;
578pub const NUM_NETWORKS_SELECTED_FLEETWIDE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
579
580// Linear bucket constants for num_networks_selected device_daily_mean_histogram
581pub const NUM_NETWORKS_SELECTED_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
582pub const NUM_NETWORKS_SELECTED_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 11;
583pub const NUM_NETWORKS_SELECTED_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
584
585// Linear bucket constants for num_networks_selected device_daily_median_histogram
586pub const NUM_NETWORKS_SELECTED_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
587pub const NUM_NETWORKS_SELECTED_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 11;
588pub const NUM_NETWORKS_SELECTED_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
589
590// Exponential bucket constants for bss_selection_count_detailed device_daily_occurrence_histogram
591pub const BSS_SELECTION_COUNT_DETAILED_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
592pub const BSS_SELECTION_COUNT_DETAILED_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
593pub const BSS_SELECTION_COUNT_DETAILED_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_INITIAL_STEP: u32 = 1;
594pub const BSS_SELECTION_COUNT_DETAILED_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_STEP_MULTIPLIER: u32 = 2;
595
596// Exponential bucket constants for bss_selection_count device_daily_occurrence_histogram
597pub const BSS_SELECTION_COUNT_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
598pub const BSS_SELECTION_COUNT_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 10;
599pub const BSS_SELECTION_COUNT_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_INITIAL_STEP: u32 = 1;
600pub const BSS_SELECTION_COUNT_DEVICE_DAILY_OCCURRENCE_HISTOGRAM_INT_BUCKETS_STEP_MULTIPLIER: u32 = 2;
601
602// Linear bucket constants for num_bss_considered_in_selection_detailed fleetwide_histogram
603pub const NUM_BSS_CONSIDERED_IN_SELECTION_DETAILED_FLEETWIDE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
604pub const NUM_BSS_CONSIDERED_IN_SELECTION_DETAILED_FLEETWIDE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 21;
605pub const NUM_BSS_CONSIDERED_IN_SELECTION_DETAILED_FLEETWIDE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
606
607// Linear bucket constants for num_bss_considered_in_selection device_daily_mean_histogram
608pub const NUM_BSS_CONSIDERED_IN_SELECTION_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
609pub const NUM_BSS_CONSIDERED_IN_SELECTION_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 21;
610pub const NUM_BSS_CONSIDERED_IN_SELECTION_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
611
612// Linear bucket constants for num_bss_considered_in_selection device_daily_median_histogram
613pub const NUM_BSS_CONSIDERED_IN_SELECTION_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
614pub const NUM_BSS_CONSIDERED_IN_SELECTION_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 21;
615pub const NUM_BSS_CONSIDERED_IN_SELECTION_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
616
617// Linear bucket constants for num_bss_considered_in_selection device_daily_max_histogram
618pub const NUM_BSS_CONSIDERED_IN_SELECTION_DEVICE_DAILY_MAX_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
619pub const NUM_BSS_CONSIDERED_IN_SELECTION_DEVICE_DAILY_MAX_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 21;
620pub const NUM_BSS_CONSIDERED_IN_SELECTION_DEVICE_DAILY_MAX_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
621
622// Linear bucket constants for num_networks_represented_in_bss_selection fleetwide_histogram
623pub const NUM_NETWORKS_REPRESENTED_IN_BSS_SELECTION_FLEETWIDE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
624pub const NUM_NETWORKS_REPRESENTED_IN_BSS_SELECTION_FLEETWIDE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 11;
625pub const NUM_NETWORKS_REPRESENTED_IN_BSS_SELECTION_FLEETWIDE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
626
627// Linear bucket constants for num_networks_represented_in_bss_selection device_daily_mean_histogram
628pub const NUM_NETWORKS_REPRESENTED_IN_BSS_SELECTION_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
629pub const NUM_NETWORKS_REPRESENTED_IN_BSS_SELECTION_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 11;
630pub const NUM_NETWORKS_REPRESENTED_IN_BSS_SELECTION_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
631
632// Linear bucket constants for num_networks_represented_in_bss_selection device_daily_median_histogram
633pub const NUM_NETWORKS_REPRESENTED_IN_BSS_SELECTION_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
634pub const NUM_NETWORKS_REPRESENTED_IN_BSS_SELECTION_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 11;
635pub const NUM_NETWORKS_REPRESENTED_IN_BSS_SELECTION_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
636
637// Linear bucket constants for num_networks_represented_in_bss_selection device_daily_max_histogram
638pub const NUM_NETWORKS_REPRESENTED_IN_BSS_SELECTION_DEVICE_DAILY_MAX_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
639pub const NUM_NETWORKS_REPRESENTED_IN_BSS_SELECTION_DEVICE_DAILY_MAX_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 30;
640pub const NUM_NETWORKS_REPRESENTED_IN_BSS_SELECTION_DEVICE_DAILY_MAX_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
641
642// Linear bucket constants for connection_score_average fleetwide_histogram
643pub const CONNECTION_SCORE_AVERAGE_FLEETWIDE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -100;
644pub const CONNECTION_SCORE_AVERAGE_FLEETWIDE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
645pub const CONNECTION_SCORE_AVERAGE_FLEETWIDE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 2;
646
647// Linear bucket constants for connection_score_average device_daily_mean_histogram
648pub const CONNECTION_SCORE_AVERAGE_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -100;
649pub const CONNECTION_SCORE_AVERAGE_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
650pub const CONNECTION_SCORE_AVERAGE_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 2;
651
652// Linear bucket constants for connection_score_average device_daily_median_histogram
653pub const CONNECTION_SCORE_AVERAGE_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -100;
654pub const CONNECTION_SCORE_AVERAGE_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
655pub const CONNECTION_SCORE_AVERAGE_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 2;
656
657// Linear bucket constants for bss_candidate_score fleetwide_histogram
658pub const BSS_CANDIDATE_SCORE_FLEETWIDE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -100;
659pub const BSS_CANDIDATE_SCORE_FLEETWIDE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
660pub const BSS_CANDIDATE_SCORE_FLEETWIDE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 2;
661
662// Linear bucket constants for bss_candidate_score device_daily_mean_histogram
663pub const BSS_CANDIDATE_SCORE_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -100;
664pub const BSS_CANDIDATE_SCORE_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
665pub const BSS_CANDIDATE_SCORE_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 2;
666
667// Linear bucket constants for bss_candidate_score device_daily_median_histogram
668pub const BSS_CANDIDATE_SCORE_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -100;
669pub const BSS_CANDIDATE_SCORE_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
670pub const BSS_CANDIDATE_SCORE_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 2;
671
672// Linear bucket constants for selected_bss_score fleetwide_histogram
673pub const SELECTED_BSS_SCORE_FLEETWIDE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -100;
674pub const SELECTED_BSS_SCORE_FLEETWIDE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
675pub const SELECTED_BSS_SCORE_FLEETWIDE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 2;
676
677// Linear bucket constants for selected_bss_score device_daily_mean_histogram
678pub const SELECTED_BSS_SCORE_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -100;
679pub const SELECTED_BSS_SCORE_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
680pub const SELECTED_BSS_SCORE_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 2;
681
682// Linear bucket constants for selected_bss_score device_daily_median_histogram
683pub const SELECTED_BSS_SCORE_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -100;
684pub const SELECTED_BSS_SCORE_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
685pub const SELECTED_BSS_SCORE_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 2;
686
687// Linear bucket constants for runner_up_candidate_score_delta fleetwide_histogram
688pub const RUNNER_UP_CANDIDATE_SCORE_DELTA_FLEETWIDE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -100;
689pub const RUNNER_UP_CANDIDATE_SCORE_DELTA_FLEETWIDE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
690pub const RUNNER_UP_CANDIDATE_SCORE_DELTA_FLEETWIDE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 2;
691
692// Linear bucket constants for runner_up_candidate_score_delta device_daily_mean_histogram
693pub const RUNNER_UP_CANDIDATE_SCORE_DELTA_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -100;
694pub const RUNNER_UP_CANDIDATE_SCORE_DELTA_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
695pub const RUNNER_UP_CANDIDATE_SCORE_DELTA_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 2;
696
697// Linear bucket constants for runner_up_candidate_score_delta device_daily_median_histogram
698pub const RUNNER_UP_CANDIDATE_SCORE_DELTA_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -100;
699pub const RUNNER_UP_CANDIDATE_SCORE_DELTA_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
700pub const RUNNER_UP_CANDIDATE_SCORE_DELTA_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 2;
701
702// Linear bucket constants for best_candidates_ghz_score_delta fleetwide_histogram
703pub const BEST_CANDIDATES_GHZ_SCORE_DELTA_FLEETWIDE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -100;
704pub const BEST_CANDIDATES_GHZ_SCORE_DELTA_FLEETWIDE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
705pub const BEST_CANDIDATES_GHZ_SCORE_DELTA_FLEETWIDE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 2;
706
707// Linear bucket constants for average_score_delta_after_connection_by_initial_score fleetwide_histogram
708pub const AVERAGE_SCORE_DELTA_AFTER_CONNECTION_BY_INITIAL_SCORE_FLEETWIDE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -100;
709pub const AVERAGE_SCORE_DELTA_AFTER_CONNECTION_BY_INITIAL_SCORE_FLEETWIDE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
710pub const AVERAGE_SCORE_DELTA_AFTER_CONNECTION_BY_INITIAL_SCORE_FLEETWIDE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 2;
711
712// Linear bucket constants for average_score_delta_before_disconnect_by_final_score fleetwide_histogram
713pub const AVERAGE_SCORE_DELTA_BEFORE_DISCONNECT_BY_FINAL_SCORE_FLEETWIDE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -100;
714pub const AVERAGE_SCORE_DELTA_BEFORE_DISCONNECT_BY_FINAL_SCORE_FLEETWIDE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 101;
715pub const AVERAGE_SCORE_DELTA_BEFORE_DISCONNECT_BY_FINAL_SCORE_FLEETWIDE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 2;
716
717// Linear bucket constants for average_rssi_delta_after_connection_by_initial_rssi fleetwide_histogram
718pub const AVERAGE_RSSI_DELTA_AFTER_CONNECTION_BY_INITIAL_RSSI_FLEETWIDE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -128;
719pub const AVERAGE_RSSI_DELTA_AFTER_CONNECTION_BY_INITIAL_RSSI_FLEETWIDE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 129;
720pub const AVERAGE_RSSI_DELTA_AFTER_CONNECTION_BY_INITIAL_RSSI_FLEETWIDE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 2;
721
722// Linear bucket constants for average_rssi_delta_before_disconnect_by_final_rssi fleetwide_histogram
723pub const AVERAGE_RSSI_DELTA_BEFORE_DISCONNECT_BY_FINAL_RSSI_FLEETWIDE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -128;
724pub const AVERAGE_RSSI_DELTA_BEFORE_DISCONNECT_BY_FINAL_RSSI_FLEETWIDE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 129;
725pub const AVERAGE_RSSI_DELTA_BEFORE_DISCONNECT_BY_FINAL_RSSI_FLEETWIDE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 2;
726
727// Linear bucket constants for connection_rssi_average fleetwide_histogram
728pub const CONNECTION_RSSI_AVERAGE_FLEETWIDE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -128;
729pub const CONNECTION_RSSI_AVERAGE_FLEETWIDE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 129;
730pub const CONNECTION_RSSI_AVERAGE_FLEETWIDE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
731
732// Linear bucket constants for connection_rssi_average device_daily_mean_histogram
733pub const CONNECTION_RSSI_AVERAGE_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -128;
734pub const CONNECTION_RSSI_AVERAGE_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 129;
735pub const CONNECTION_RSSI_AVERAGE_DEVICE_DAILY_MEAN_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
736
737// Linear bucket constants for connection_rssi_average device_daily_median_histogram
738pub const CONNECTION_RSSI_AVERAGE_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -128;
739pub const CONNECTION_RSSI_AVERAGE_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 129;
740pub const CONNECTION_RSSI_AVERAGE_DEVICE_DAILY_MEDIAN_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
741
742// Linear bucket constants for policy_roam_transition_rssi_delta_by_roam_reason fleetwide_histogram
743pub const POLICY_ROAM_TRANSITION_RSSI_DELTA_BY_ROAM_REASON_FLEETWIDE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -128;
744pub const POLICY_ROAM_TRANSITION_RSSI_DELTA_BY_ROAM_REASON_FLEETWIDE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 129;
745pub const POLICY_ROAM_TRANSITION_RSSI_DELTA_BY_ROAM_REASON_FLEETWIDE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 2;
746
747// Linear bucket constants for policy_roam_avg_rssi_delta_pre_roam_by_roam_reason fleetwide_histogram
748pub const POLICY_ROAM_AVG_RSSI_DELTA_PRE_ROAM_BY_ROAM_REASON_FLEETWIDE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -128;
749pub const POLICY_ROAM_AVG_RSSI_DELTA_PRE_ROAM_BY_ROAM_REASON_FLEETWIDE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 129;
750pub const POLICY_ROAM_AVG_RSSI_DELTA_PRE_ROAM_BY_ROAM_REASON_FLEETWIDE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 2;
751
752// Linear bucket constants for policy_roam_avg_rssi_delta_post_roam_by_roam_reason fleetwide_histogram
753pub const POLICY_ROAM_AVG_RSSI_DELTA_POST_ROAM_BY_ROAM_REASON_FLEETWIDE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -128;
754pub const POLICY_ROAM_AVG_RSSI_DELTA_POST_ROAM_BY_ROAM_REASON_FLEETWIDE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 129;
755pub const POLICY_ROAM_AVG_RSSI_DELTA_POST_ROAM_BY_ROAM_REASON_FLEETWIDE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 2;
756
757// Linear bucket constants for bss_candidate_rssi fleetwide_histogram
758pub const BSS_CANDIDATE_RSSI_FLEETWIDE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = -128;
759pub const BSS_CANDIDATE_RSSI_FLEETWIDE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 129;
760pub const BSS_CANDIDATE_RSSI_FLEETWIDE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
761
762// Metric ID Constants
763// scan_results_received_migrated
764pub const SCAN_RESULTS_RECEIVED_MIGRATED_METRIC_ID: u32 = 321;
765// saved_network_in_scan_result_migrated
766pub const SAVED_NETWORK_IN_SCAN_RESULT_MIGRATED_METRIC_ID: u32 = 322;
767// saved_networks_migrated
768pub const SAVED_NETWORKS_MIGRATED_METRIC_ID: u32 = 323;
769// saved_configurations_for_saved_network_migrated
770pub const SAVED_CONFIGURATIONS_FOR_SAVED_NETWORK_MIGRATED_METRIC_ID: u32 = 324;
771// last_scan_age_when_scan_requested_migrated
772pub const LAST_SCAN_AGE_WHEN_SCAN_REQUESTED_MIGRATED_METRIC_ID: u32 = 325;
773// active_scan_requested_for_network_selection_migrated
774pub const ACTIVE_SCAN_REQUESTED_FOR_NETWORK_SELECTION_MIGRATED_METRIC_ID: u32 = 326;
775// saved_network_in_scan_result_with_active_scan_migrated
776pub const SAVED_NETWORK_IN_SCAN_RESULT_WITH_ACTIVE_SCAN_MIGRATED_METRIC_ID: u32 = 327;
777// policy_connection_attempt_migrated
778pub const POLICY_CONNECTION_ATTEMPT_MIGRATED_METRIC_ID: u32 = 329;
779// policy_disconnection_migrated
780pub const POLICY_DISCONNECTION_MIGRATED_METRIC_ID: u32 = 330;
781// client_connections_enabled_duration_migrated
782pub const CLIENT_CONNECTIONS_ENABLED_DURATION_MIGRATED_METRIC_ID: u32 = 331;
783// access_point_enabled_duration_migrated
784pub const ACCESS_POINT_ENABLED_DURATION_MIGRATED_METRIC_ID: u32 = 332;
785// brcmfmac_firmware_recovery_attempt_occurrence
786pub const BRCMFMAC_FIRMWARE_RECOVERY_ATTEMPT_OCCURRENCE_METRIC_ID: u32 = 339;
787// brcmfmac_firmware_recovery_occurrence
788pub const BRCMFMAC_FIRMWARE_RECOVERY_OCCURRENCE_METRIC_ID: u32 = 340;
789// active_scan_requested_for_policy_api
790pub const ACTIVE_SCAN_REQUESTED_FOR_POLICY_API_METRIC_ID: u32 = 341;
791// fleetwide_total_time_quality_metric_template
792pub const FLEETWIDE_TOTAL_TIME_QUALITY_METRIC_TEMPLATE_METRIC_ID: u32 = 900;
793// fleetwide_total_time_quality_metric_template__custom
794pub const FLEETWIDE_TOTAL_TIME_QUALITY_METRIC_TEMPLATE__CUSTOM_METRIC_ID: u32 = 901;
795// device_local_ratio_monitoring_metric_template
796pub const DEVICE_LOCAL_RATIO_MONITORING_METRIC_TEMPLATE_METRIC_ID: u32 = 904;
797// device_local_ratio_monitoring_metric_template__custom
798pub const DEVICE_LOCAL_RATIO_MONITORING_METRIC_TEMPLATE__CUSTOM_METRIC_ID: u32 = 905;
799// device_counts_metric_template
800pub const DEVICE_COUNTS_METRIC_TEMPLATE_METRIC_ID: u32 = 906;
801// device_one_daily_occurrence_metric_template
802pub const DEVICE_ONE_DAILY_OCCURRENCE_METRIC_TEMPLATE_METRIC_ID: u32 = 908;
803// device_one_daily_occurrence_metric_template__custom
804pub const DEVICE_ONE_DAILY_OCCURRENCE_METRIC_TEMPLATE__CUSTOM_METRIC_ID: u32 = 909;
805// detailed_occurrence_metric_template
806pub const DETAILED_OCCURRENCE_METRIC_TEMPLATE_METRIC_ID: u32 = 910;
807// detailed_occurrence_metric_template__custom
808pub const DETAILED_OCCURRENCE_METRIC_TEMPLATE__CUSTOM_METRIC_ID: u32 = 911;
809// fleetwide_string_counts_metric_template
810pub const FLEETWIDE_STRING_COUNTS_METRIC_TEMPLATE_METRIC_ID: u32 = 912;
811// fleetwide_string_counts_metric_template__custom
812pub const FLEETWIDE_STRING_COUNTS_METRIC_TEMPLATE__CUSTOM_METRIC_ID: u32 = 913;
813// device_string_counts_metric_template
814pub const DEVICE_STRING_COUNTS_METRIC_TEMPLATE_METRIC_ID: u32 = 916;
815// device_string_counts_metric_template__custom
816pub const DEVICE_STRING_COUNTS_METRIC_TEMPLATE__CUSTOM_METRIC_ID: u32 = 917;
817// occurrence_metric_template
818pub const OCCURRENCE_METRIC_TEMPLATE_METRIC_ID: u32 = 918;
819// integer_metric_template
820pub const INTEGER_METRIC_TEMPLATE_METRIC_ID: u32 = 919;
821// total_wlan_uptime_near_saved_network
822pub const TOTAL_WLAN_UPTIME_NEAR_SAVED_NETWORK_METRIC_ID: u32 = 1000;
823// total_connected_uptime
824pub const TOTAL_CONNECTED_UPTIME_METRIC_ID: u32 = 1001;
825// total_disconnect_count
826pub const TOTAL_DISCONNECT_COUNT_METRIC_ID: u32 = 1002;
827// total_time_with_high_rx_packet_drop
828pub const TOTAL_TIME_WITH_HIGH_RX_PACKET_DROP_METRIC_ID: u32 = 1003;
829// total_time_with_high_tx_packet_drop
830pub const TOTAL_TIME_WITH_HIGH_TX_PACKET_DROP_METRIC_ID: u32 = 1004;
831// total_time_with_no_rx
832pub const TOTAL_TIME_WITH_NO_RX_METRIC_ID: u32 = 1005;
833// total_time_with_very_high_rx_packet_drop
834pub const TOTAL_TIME_WITH_VERY_HIGH_RX_PACKET_DROP_METRIC_ID: u32 = 1006;
835// total_time_with_very_high_tx_packet_drop
836pub const TOTAL_TIME_WITH_VERY_HIGH_TX_PACKET_DROP_METRIC_ID: u32 = 1007;
837// total_roam_disconnect_count
838pub const TOTAL_ROAM_DISCONNECT_COUNT_METRIC_ID: u32 = 1008;
839// total_non_roam_disconnect_count
840pub const TOTAL_NON_ROAM_DISCONNECT_COUNT_METRIC_ID: u32 = 1009;
841// connected_uptime_ratio
842pub const CONNECTED_UPTIME_RATIO_METRIC_ID: u32 = 2000;
843// disconnect_per_day_connected
844pub const DISCONNECT_PER_DAY_CONNECTED_METRIC_ID: u32 = 2001;
845// time_ratio_with_high_rx_packet_drop
846pub const TIME_RATIO_WITH_HIGH_RX_PACKET_DROP_METRIC_ID: u32 = 2002;
847// time_ratio_with_high_tx_packet_drop
848pub const TIME_RATIO_WITH_HIGH_TX_PACKET_DROP_METRIC_ID: u32 = 2003;
849// time_ratio_with_no_rx
850pub const TIME_RATIO_WITH_NO_RX_METRIC_ID: u32 = 2004;
851// connection_success_rate
852pub const CONNECTION_SUCCESS_RATE_METRIC_ID: u32 = 2005;
853// time_ratio_with_very_high_rx_packet_drop
854pub const TIME_RATIO_WITH_VERY_HIGH_RX_PACKET_DROP_METRIC_ID: u32 = 2006;
855// time_ratio_with_very_high_tx_packet_drop
856pub const TIME_RATIO_WITH_VERY_HIGH_TX_PACKET_DROP_METRIC_ID: u32 = 2007;
857// policy_roam_disconnect_count_per_day_connected
858pub const POLICY_ROAM_DISCONNECT_COUNT_PER_DAY_CONNECTED_METRIC_ID: u32 = 2008;
859// non_roam_disconnect_per_day_connected
860pub const NON_ROAM_DISCONNECT_PER_DAY_CONNECTED_METRIC_ID: u32 = 2009;
861// disconnect_per_day_connected_7d
862pub const DISCONNECT_PER_DAY_CONNECTED_7D_METRIC_ID: u32 = 2010;
863// stash_migration_results
864pub const STASH_MIGRATION_RESULTS_METRIC_ID: u32 = 2011;
865// disconnect_breakdown_by_device_uptime
866pub const DISCONNECT_BREAKDOWN_BY_DEVICE_UPTIME_METRIC_ID: u32 = 4003;
867// disconnect_breakdown_by_connected_duration
868pub const DISCONNECT_BREAKDOWN_BY_CONNECTED_DURATION_METRIC_ID: u32 = 4004;
869// disconnect_breakdown_by_reason_code
870pub const DISCONNECT_BREAKDOWN_BY_REASON_CODE_METRIC_ID: u32 = 4005;
871// disconnect_breakdown_by_primary_channel
872pub const DISCONNECT_BREAKDOWN_BY_PRIMARY_CHANNEL_METRIC_ID: u32 = 4006;
873// downtime_breakdown_by_disconnect_reason
874pub const DOWNTIME_BREAKDOWN_BY_DISCONNECT_REASON_METRIC_ID: u32 = 4007;
875// connect_attempt_breakdown_by_status_code
876pub const CONNECT_ATTEMPT_BREAKDOWN_BY_STATUS_CODE_METRIC_ID: u32 = 4008;
877// connect_attempt_on_normal_device_breakdown_by_status_code
878pub const CONNECT_ATTEMPT_ON_NORMAL_DEVICE_BREAKDOWN_BY_STATUS_CODE_METRIC_ID: u32 = 4009;
879// connect_attempt_on_bad_device_breakdown_by_status_code
880pub const CONNECT_ATTEMPT_ON_BAD_DEVICE_BREAKDOWN_BY_STATUS_CODE_METRIC_ID: u32 = 4010;
881// successful_connect_breakdown_by_user_wait_time
882pub const SUCCESSFUL_CONNECT_BREAKDOWN_BY_USER_WAIT_TIME_METRIC_ID: u32 = 4011;
883// successful_connect_breakdown_by_is_multi_bss
884pub const SUCCESSFUL_CONNECT_BREAKDOWN_BY_IS_MULTI_BSS_METRIC_ID: u32 = 4012;
885// successful_connect_breakdown_by_security_type
886pub const SUCCESSFUL_CONNECT_BREAKDOWN_BY_SECURITY_TYPE_METRIC_ID: u32 = 4013;
887// successful_connect_breakdown_by_primary_channel
888pub const SUCCESSFUL_CONNECT_BREAKDOWN_BY_PRIMARY_CHANNEL_METRIC_ID: u32 = 4014;
889// successful_connect_breakdown_by_channel_band
890pub const SUCCESSFUL_CONNECT_BREAKDOWN_BY_CHANNEL_BAND_METRIC_ID: u32 = 4015;
891// daily_connect_success_rate_breakdown_by_is_multi_bss
892pub const DAILY_CONNECT_SUCCESS_RATE_BREAKDOWN_BY_IS_MULTI_BSS_METRIC_ID: u32 = 4018;
893// daily_connect_success_rate_breakdown_by_security_type
894pub const DAILY_CONNECT_SUCCESS_RATE_BREAKDOWN_BY_SECURITY_TYPE_METRIC_ID: u32 = 4019;
895// daily_connect_success_rate_breakdown_by_primary_channel
896pub const DAILY_CONNECT_SUCCESS_RATE_BREAKDOWN_BY_PRIMARY_CHANNEL_METRIC_ID: u32 = 4020;
897// daily_connect_success_rate_breakdown_by_channel_band
898pub const DAILY_CONNECT_SUCCESS_RATE_BREAKDOWN_BY_CHANNEL_BAND_METRIC_ID: u32 = 4021;
899// daily_connect_success_rate_breakdown_by_rssi_bucket
900pub const DAILY_CONNECT_SUCCESS_RATE_BREAKDOWN_BY_RSSI_BUCKET_METRIC_ID: u32 = 4022;
901// daily_connect_success_rate_breakdown_by_snr_bucket
902pub const DAILY_CONNECT_SUCCESS_RATE_BREAKDOWN_BY_SNR_BUCKET_METRIC_ID: u32 = 4023;
903// successful_connect_per_oui
904pub const SUCCESSFUL_CONNECT_PER_OUI_METRIC_ID: u32 = 4024;
905// reconnect_breakdown_by_duration
906pub const RECONNECT_BREAKDOWN_BY_DURATION_METRIC_ID: u32 = 4025;
907// policy_roam_scan_count
908pub const POLICY_ROAM_SCAN_COUNT_METRIC_ID: u32 = 4026;
909// policy_roam_disconnect_count
910pub const POLICY_ROAM_DISCONNECT_COUNT_METRIC_ID: u32 = 4027;
911// non_roam_disconnect_counts
912pub const NON_ROAM_DISCONNECT_COUNTS_METRIC_ID: u32 = 4028;
913// network_disconnect_counts
914pub const NETWORK_DISCONNECT_COUNTS_METRIC_ID: u32 = 4029;
915// policy_roam_connected_duration_before_roam_attempt
916pub const POLICY_ROAM_CONNECTED_DURATION_BEFORE_ROAM_ATTEMPT_METRIC_ID: u32 = 4030;
917// connected_duration_before_non_roam_disconnect
918pub const CONNECTED_DURATION_BEFORE_NON_ROAM_DISCONNECT_METRIC_ID: u32 = 4031;
919// connected_duration_before_disconnect
920pub const CONNECTED_DURATION_BEFORE_DISCONNECT_METRIC_ID: u32 = 4032;
921// connection_rssi
922pub const CONNECTION_RSSI_METRIC_ID: u32 = 4033;
923// rssi_velocity
924pub const RSSI_VELOCITY_METRIC_ID: u32 = 4034;
925// policy_roam_reconnect_duration
926pub const POLICY_ROAM_RECONNECT_DURATION_METRIC_ID: u32 = 4035;
927// non_roam_reconnect_duration
928pub const NON_ROAM_RECONNECT_DURATION_METRIC_ID: u32 = 4036;
929// disconnect_breakdown_by_channel_band
930pub const DISCONNECT_BREAKDOWN_BY_CHANNEL_BAND_METRIC_ID: u32 = 4037;
931// disconnect_breakdown_by_is_multi_bss
932pub const DISCONNECT_BREAKDOWN_BY_IS_MULTI_BSS_METRIC_ID: u32 = 4038;
933// disconnect_breakdown_by_security_type
934pub const DISCONNECT_BREAKDOWN_BY_SECURITY_TYPE_METRIC_ID: u32 = 4039;
935// client_connections_stop_and_start
936pub const CLIENT_CONNECTIONS_STOP_AND_START_METRIC_ID: u32 = 4040;
937// manual_network_change
938pub const MANUAL_NETWORK_CHANGE_METRIC_ID: u32 = 4041;
939// policy_roam_percent_good_decision
940pub const POLICY_ROAM_PERCENT_GOOD_DECISION_METRIC_ID: u32 = 4042;
941// policy_roam_percent_good_decision_at_least_five
942pub const POLICY_ROAM_PERCENT_GOOD_DECISION_AT_LEAST_FIVE_METRIC_ID: u32 = 4043;
943// policy_roam_to_insufficent_count
944pub const POLICY_ROAM_TO_INSUFFICENT_COUNT_METRIC_ID: u32 = 4044;
945// interface_creation_failure
946pub const INTERFACE_CREATION_FAILURE_METRIC_ID: u32 = 4045;
947// interface_destruction_failure
948pub const INTERFACE_DESTRUCTION_FAILURE_METRIC_ID: u32 = 4046;
949// ap_start_failure
950pub const AP_START_FAILURE_METRIC_ID: u32 = 4047;
951// client_scan_failure
952pub const CLIENT_SCAN_FAILURE_METRIC_ID: u32 = 4048;
953// aborted_scan
954pub const ABORTED_SCAN_METRIC_ID: u32 = 4049;
955// empty_scan_results
956pub const EMPTY_SCAN_RESULTS_METRIC_ID: u32 = 4050;
957// connection_failures
958pub const CONNECTION_FAILURES_METRIC_ID: u32 = 4051;
959// consecutive_counter_stats_failures
960pub const CONSECUTIVE_COUNTER_STATS_FAILURES_METRIC_ID: u32 = 4052;
961// successful_scan_request_fulfillment_time
962pub const SUCCESSFUL_SCAN_REQUEST_FULFILLMENT_TIME_METRIC_ID: u32 = 4053;
963// scan_queue_statistics_after_completed_scan
964pub const SCAN_QUEUE_STATISTICS_AFTER_COMPLETED_SCAN_METRIC_ID: u32 = 4054;
965// recovery_occurrence
966pub const RECOVERY_OCCURRENCE_METRIC_ID: u32 = 4055;
967// interface_creation_recovery_outcome
968pub const INTERFACE_CREATION_RECOVERY_OUTCOME_METRIC_ID: u32 = 4056;
969// interface_destruction_recovery_outcome
970pub const INTERFACE_DESTRUCTION_RECOVERY_OUTCOME_METRIC_ID: u32 = 4057;
971// connect_failure_recovery_outcome
972pub const CONNECT_FAILURE_RECOVERY_OUTCOME_METRIC_ID: u32 = 4058;
973// scan_failure_recovery_outcome
974pub const SCAN_FAILURE_RECOVERY_OUTCOME_METRIC_ID: u32 = 4059;
975// scan_cancellation_recovery_outcome
976pub const SCAN_CANCELLATION_RECOVERY_OUTCOME_METRIC_ID: u32 = 4060;
977// empty_scan_results_recovery_outcome
978pub const EMPTY_SCAN_RESULTS_RECOVERY_OUTCOME_METRIC_ID: u32 = 4061;
979// start_access_point_recovery_outcome
980pub const START_ACCESS_POINT_RECOVERY_OUTCOME_METRIC_ID: u32 = 4062;
981// policy_roam_scan_count_by_roam_reason
982pub const POLICY_ROAM_SCAN_COUNT_BY_ROAM_REASON_METRIC_ID: u32 = 4063;
983// policy_roam_attempt_count_by_roam_reason
984pub const POLICY_ROAM_ATTEMPT_COUNT_BY_ROAM_REASON_METRIC_ID: u32 = 4064;
985// policy_roam_success_rate_by_roam_reason
986pub const POLICY_ROAM_SUCCESS_RATE_BY_ROAM_REASON_METRIC_ID: u32 = 4065;
987// sme_operation_timeout
988pub const SME_OPERATION_TIMEOUT_METRIC_ID: u32 = 4066;
989// timeout_recovery_outcome
990pub const TIMEOUT_RECOVERY_OUTCOME_METRIC_ID: u32 = 4067;
991// power_level_at_suspend
992pub const POWER_LEVEL_AT_SUSPEND_METRIC_ID: u32 = 4068;
993// unclear_power_level_demand
994pub const UNCLEAR_POWER_LEVEL_DEMAND_METRIC_ID: u32 = 4069;
995// policy_roam_attempt_count
996pub const POLICY_ROAM_ATTEMPT_COUNT_METRIC_ID: u32 = 4070;
997// policy_roam_success_rate
998pub const POLICY_ROAM_SUCCESS_RATE_METRIC_ID: u32 = 4071;
999// policy_roam_disconnect_count_by_roam_reason
1000pub const POLICY_ROAM_DISCONNECT_COUNT_BY_ROAM_REASON_METRIC_ID: u32 = 4072;
1001// number_of_connected_devices
1002pub const NUMBER_OF_CONNECTED_DEVICES_METRIC_ID: u32 = 5000;
1003// connected_network_security_type
1004pub const CONNECTED_NETWORK_SECURITY_TYPE_METRIC_ID: u32 = 5001;
1005// device_connected_to_ap_that_supports_apsd
1006pub const DEVICE_CONNECTED_TO_AP_THAT_SUPPORTS_APSD_METRIC_ID: u32 = 5002;
1007// device_connected_to_ap_that_supports_link_measurement
1008pub const DEVICE_CONNECTED_TO_AP_THAT_SUPPORTS_LINK_MEASUREMENT_METRIC_ID: u32 = 5003;
1009// device_connected_to_ap_that_supports_neighbor_report
1010pub const DEVICE_CONNECTED_TO_AP_THAT_SUPPORTS_NEIGHBOR_REPORT_METRIC_ID: u32 = 5004;
1011// device_connected_to_ap_that_supports_ft
1012pub const DEVICE_CONNECTED_TO_AP_THAT_SUPPORTS_FT_METRIC_ID: u32 = 5005;
1013// device_connected_to_ap_that_supports_bss_transition_management
1014pub const DEVICE_CONNECTED_TO_AP_THAT_SUPPORTS_BSS_TRANSITION_MANAGEMENT_METRIC_ID: u32 = 5006;
1015// device_connected_to_ap_breakdown_by_is_multi_bss
1016pub const DEVICE_CONNECTED_TO_AP_BREAKDOWN_BY_IS_MULTI_BSS_METRIC_ID: u32 = 5007;
1017// device_connected_to_ap_breakdown_by_primary_channel
1018pub const DEVICE_CONNECTED_TO_AP_BREAKDOWN_BY_PRIMARY_CHANNEL_METRIC_ID: u32 = 5008;
1019// device_connected_to_ap_breakdown_by_channel_band
1020pub const DEVICE_CONNECTED_TO_AP_BREAKDOWN_BY_CHANNEL_BAND_METRIC_ID: u32 = 5009;
1021// device_connected_to_ap_oui_2
1022pub const DEVICE_CONNECTED_TO_AP_OUI_2_METRIC_ID: u32 = 5011;
1023// connect_to_likely_hidden_network
1024pub const CONNECT_TO_LIKELY_HIDDEN_NETWORK_METRIC_ID: u32 = 5012;
1025// policy_connection_attempts
1026pub const POLICY_CONNECTION_ATTEMPTS_METRIC_ID: u32 = 6000;
1027// policy_fidl_connection_attempts_during_short_connection_detailed
1028pub const POLICY_FIDL_CONNECTION_ATTEMPTS_DURING_SHORT_CONNECTION_DETAILED_METRIC_ID: u32 = 6001;
1029// policy_fidl_connection_attempts_during_short_connection
1030pub const POLICY_FIDL_CONNECTION_ATTEMPTS_DURING_SHORT_CONNECTION_METRIC_ID: u32 = 6002;
1031// network_selection_count
1032pub const NETWORK_SELECTION_COUNT_METRIC_ID: u32 = 6100;
1033// num_networks_selected
1034pub const NUM_NETWORKS_SELECTED_METRIC_ID: u32 = 6101;
1035// bss_selection_count_detailed
1036pub const BSS_SELECTION_COUNT_DETAILED_METRIC_ID: u32 = 6200;
1037// bss_selection_count
1038pub const BSS_SELECTION_COUNT_METRIC_ID: u32 = 6201;
1039// num_bss_considered_in_selection_detailed
1040pub const NUM_BSS_CONSIDERED_IN_SELECTION_DETAILED_METRIC_ID: u32 = 6202;
1041// num_bss_considered_in_selection
1042pub const NUM_BSS_CONSIDERED_IN_SELECTION_METRIC_ID: u32 = 6203;
1043// ghz_bands_available_in_bss_selection
1044pub const GHZ_BANDS_AVAILABLE_IN_BSS_SELECTION_METRIC_ID: u32 = 6204;
1045// num_networks_represented_in_bss_selection
1046pub const NUM_NETWORKS_REPRESENTED_IN_BSS_SELECTION_METRIC_ID: u32 = 6205;
1047// connection_score_average
1048pub const CONNECTION_SCORE_AVERAGE_METRIC_ID: u32 = 6300;
1049// bss_candidate_score
1050pub const BSS_CANDIDATE_SCORE_METRIC_ID: u32 = 6301;
1051// selected_bss_score
1052pub const SELECTED_BSS_SCORE_METRIC_ID: u32 = 6302;
1053// runner_up_candidate_score_delta
1054pub const RUNNER_UP_CANDIDATE_SCORE_DELTA_METRIC_ID: u32 = 6303;
1055// best_candidates_ghz_score_delta
1056pub const BEST_CANDIDATES_GHZ_SCORE_DELTA_METRIC_ID: u32 = 6304;
1057// average_score_delta_after_connection_by_initial_score
1058pub const AVERAGE_SCORE_DELTA_AFTER_CONNECTION_BY_INITIAL_SCORE_METRIC_ID: u32 = 6305;
1059// average_score_delta_before_disconnect_by_final_score
1060pub const AVERAGE_SCORE_DELTA_BEFORE_DISCONNECT_BY_FINAL_SCORE_METRIC_ID: u32 = 6306;
1061// average_rssi_delta_after_connection_by_initial_rssi
1062pub const AVERAGE_RSSI_DELTA_AFTER_CONNECTION_BY_INITIAL_RSSI_METRIC_ID: u32 = 6307;
1063// average_rssi_delta_before_disconnect_by_final_rssi
1064pub const AVERAGE_RSSI_DELTA_BEFORE_DISCONNECT_BY_FINAL_RSSI_METRIC_ID: u32 = 6308;
1065// connection_rssi_average
1066pub const CONNECTION_RSSI_AVERAGE_METRIC_ID: u32 = 6309;
1067// policy_roam_transition_rssi_delta_by_roam_reason
1068pub const POLICY_ROAM_TRANSITION_RSSI_DELTA_BY_ROAM_REASON_METRIC_ID: u32 = 6310;
1069// policy_roam_avg_rssi_delta_pre_roam_by_roam_reason
1070pub const POLICY_ROAM_AVG_RSSI_DELTA_PRE_ROAM_BY_ROAM_REASON_METRIC_ID: u32 = 6311;
1071// policy_roam_avg_rssi_delta_post_roam_by_roam_reason
1072pub const POLICY_ROAM_AVG_RSSI_DELTA_POST_ROAM_BY_ROAM_REASON_METRIC_ID: u32 = 6312;
1073// policy_roam_attempt_count_detailed
1074pub const POLICY_ROAM_ATTEMPT_COUNT_DETAILED_METRIC_ID: u32 = 6313;
1075// bss_candidate_rssi
1076pub const BSS_CANDIDATE_RSSI_METRIC_ID: u32 = 6314;
1077
1078// Enum for connectivity_wlan (Metric Dimension saved_networks_count)
1079#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1080pub enum ConnectivityWlanMetricDimensionSavedNetworksCount {
1081  Zero = 0,
1082  One = 1,
1083  TwoToFour = 2,
1084  FiveToTwenty = 3,
1085  TwentyOneToForty = 4,
1086  FortyOneOrMore = 5,
1087}
1088
1089impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionSavedNetworksCount {
1090  fn as_event_code(&self) -> u32 {
1091    *self as u32
1092  }
1093}
1094// Alias for scan_results_received_migrated (Metric Dimension saved_networks_count) which has the same event codes
1095pub use ConnectivityWlanMetricDimensionSavedNetworksCount as ScanResultsReceivedMigratedMetricDimensionSavedNetworksCount;
1096
1097// Enum for connectivity_wlan (Metric Dimension bss_count)
1098#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1099pub enum ConnectivityWlanMetricDimensionBssCount {
1100  Zero = 0,
1101  One = 1,
1102  TwoToFour = 2,
1103  FiveToTen = 3,
1104  ElevenToTwenty = 4,
1105  TwentyOneOrMore = 5,
1106}
1107
1108impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionBssCount {
1109  fn as_event_code(&self) -> u32 {
1110    *self as u32
1111  }
1112}
1113// Alias for saved_network_in_scan_result_migrated (Metric Dimension bss_count) which has the same event codes
1114pub use ConnectivityWlanMetricDimensionBssCount as SavedNetworkInScanResultMigratedMetricDimensionBssCount;
1115
1116// Enum for saved_networks_migrated (Metric Dimension saved_networks)
1117#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1118pub enum SavedNetworksMigratedMetricDimensionSavedNetworks {
1119  Zero = 0,
1120  One = 1,
1121  TwoToFour = 2,
1122  FiveToForty = 3,
1123  FortyToFiveHundred = 4,
1124  FiveHundredAndOneOrMore = 5,
1125}
1126
1127impl cobalt_client::traits::AsEventCode for SavedNetworksMigratedMetricDimensionSavedNetworks {
1128  fn as_event_code(&self) -> u32 {
1129    *self as u32
1130  }
1131}
1132
1133// Alias for saved_configurations_for_saved_network_migrated (Metric Dimension saved_configurations) which has the same event codes
1134pub use SavedNetworksMigratedMetricDimensionSavedNetworks as SavedConfigurationsForSavedNetworkMigratedMetricDimensionSavedConfigurations;
1135
1136// Enum for active_scan_requested_for_network_selection_migrated (Metric Dimension active_scan_ssids_requested)
1137#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1138pub enum ActiveScanRequestedForNetworkSelectionMigratedMetricDimensionActiveScanSsidsRequested {
1139  Zero = 0,
1140  One = 1,
1141  TwoToFour = 2,
1142  FiveToTen = 3,
1143  ElevenToTwenty = 4,
1144  TwentyOneToFifty = 5,
1145  FiftyOneToOneHundred = 6,
1146  OneHundredAndOneOrMore = 7,
1147}
1148
1149impl cobalt_client::traits::AsEventCode for ActiveScanRequestedForNetworkSelectionMigratedMetricDimensionActiveScanSsidsRequested {
1150  fn as_event_code(&self) -> u32 {
1151    *self as u32
1152  }
1153}
1154
1155// Alias for saved_network_in_scan_result_with_active_scan_migrated (Metric Dimension active_scan_ssids_observed) which has the same event codes
1156pub use ActiveScanRequestedForNetworkSelectionMigratedMetricDimensionActiveScanSsidsRequested as SavedNetworkInScanResultWithActiveScanMigratedMetricDimensionActiveScanSsidsObserved;
1157
1158// Alias for active_scan_requested_for_policy_api (Metric Dimension active_scan_ssids_requested) which has the same event codes
1159pub use ActiveScanRequestedForNetworkSelectionMigratedMetricDimensionActiveScanSsidsRequested as ActiveScanRequestedForPolicyApiMetricDimensionActiveScanSsidsRequested;
1160
1161// Enum for policy_connection_attempt_migrated (Metric Dimension reason)
1162#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1163pub enum PolicyConnectionAttemptMigratedMetricDimensionReason {
1164  RetryAfterDisconnectDetected = 0,
1165  RetryAfterFailedConnectAttempt = 1,
1166  FidlConnectRequest = 2,
1167  ProactiveNetworkSwitch = 3,
1168  RegulatoryChangeReconnect = 4,
1169  IdleInterfaceAutoconnect = 5,
1170  NewSavedNetworkAutoconnect = 6,
1171}
1172
1173impl cobalt_client::traits::AsEventCode for PolicyConnectionAttemptMigratedMetricDimensionReason {
1174  fn as_event_code(&self) -> u32 {
1175    *self as u32
1176  }
1177}
1178
1179// Enum for policy_disconnection_migrated (Metric Dimension reason)
1180#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1181pub enum PolicyDisconnectionMigratedMetricDimensionReason {
1182  Unknown = 0,
1183  FailedToConnect = 1,
1184  FidlConnectRequest = 2,
1185  FidlStopClientConnectionsRequest = 3,
1186  ProactiveNetworkSwitch = 4,
1187  DisconnectDetectedFromSme = 5,
1188  RegulatoryRegionChange = 6,
1189  Startup = 7,
1190  NetworkUnsaved = 8,
1191  NetworkConfigUpdated = 9,
1192}
1193
1194impl cobalt_client::traits::AsEventCode for PolicyDisconnectionMigratedMetricDimensionReason {
1195  fn as_event_code(&self) -> u32 {
1196    *self as u32
1197  }
1198}
1199
1200// Enum for connectivity_wlan (Metric Dimension migration_result)
1201#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1202pub enum ConnectivityWlanMetricDimensionMigrationResult {
1203  Success = 1,
1204  AlreadyMigrated = 2,
1205  MigratedButFailedToDeleteLegacy = 3,
1206  FailedToWriteNewStore = 4,
1207  FailedToLoadLegacyData = 5,
1208}
1209
1210impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionMigrationResult {
1211  fn as_event_code(&self) -> u32 {
1212    *self as u32
1213  }
1214}
1215// Alias for stash_migration_results (Metric Dimension migration_result) which has the same event codes
1216pub use ConnectivityWlanMetricDimensionMigrationResult as StashMigrationResultsMetricDimensionMigrationResult;
1217
1218// Enum for connectivity_wlan (Metric Dimension DeviceUptime)
1219#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1220pub enum ConnectivityWlanMetricDimensionDeviceUptime {
1221  LessThan1Hour = 1,
1222  LessThan3Hours = 2,
1223  LessThan12Hours = 3,
1224  LessThan1Day = 4,
1225  LessThan2Days = 5,
1226  AtLeast2Days = 6,
1227}
1228
1229impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionDeviceUptime {
1230  fn as_event_code(&self) -> u32 {
1231    *self as u32
1232  }
1233}
1234// Alias for disconnect_breakdown_by_device_uptime (Metric Dimension DeviceUptime) which has the same event codes
1235pub use ConnectivityWlanMetricDimensionDeviceUptime as DisconnectBreakdownByDeviceUptimeMetricDimensionDeviceUptime;
1236
1237// Enum for connectivity_wlan (Metric Dimension connected_duration)
1238#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1239pub enum ConnectivityWlanMetricDimensionConnectedDuration {
1240  LessThan30Seconds = 1,
1241  LessThan5Minutes = 2,
1242  LessThan1Hour = 3,
1243  LessThan6Hours = 4,
1244  LessThan24Hours = 5,
1245  AtLeast24Hours = 6,
1246}
1247
1248impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionConnectedDuration {
1249  fn as_event_code(&self) -> u32 {
1250    *self as u32
1251  }
1252}
1253// Alias for disconnect_breakdown_by_connected_duration (Metric Dimension connected_duration) which has the same event codes
1254pub use ConnectivityWlanMetricDimensionConnectedDuration as DisconnectBreakdownByConnectedDurationMetricDimensionConnectedDuration;
1255
1256// Enum for connectivity_wlan (Metric Dimension disconnect_source)
1257#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1258pub enum ConnectivityWlanMetricDimensionDisconnectSource {
1259  User = 0,
1260  Mlme = 1,
1261  Ap = 2,
1262}
1263
1264impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionDisconnectSource {
1265  fn as_event_code(&self) -> u32 {
1266    *self as u32
1267  }
1268}
1269// Alias for disconnect_breakdown_by_reason_code (Metric Dimension disconnect_source) which has the same event codes
1270pub use ConnectivityWlanMetricDimensionDisconnectSource as DisconnectBreakdownByReasonCodeMetricDimensionDisconnectSource;
1271
1272// Alias for downtime_breakdown_by_disconnect_reason (Metric Dimension disconnect_source) which has the same event codes
1273pub use ConnectivityWlanMetricDimensionDisconnectSource as DowntimeBreakdownByDisconnectReasonMetricDimensionDisconnectSource;
1274
1275// Enum for connectivity_wlan (Metric Dimension wait_time)
1276#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1277pub enum ConnectivityWlanMetricDimensionWaitTime {
1278  LessThan1Second = 1,
1279  LessThan3Seconds = 2,
1280  LessThan5Seconds = 3,
1281  LessThan8Seconds = 4,
1282  LessThan15Seconds = 5,
1283  AtLeast15Seconds = 6,
1284}
1285
1286impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionWaitTime {
1287  fn as_event_code(&self) -> u32 {
1288    *self as u32
1289  }
1290}
1291// Alias for successful_connect_breakdown_by_user_wait_time (Metric Dimension wait_time) which has the same event codes
1292pub use ConnectivityWlanMetricDimensionWaitTime as SuccessfulConnectBreakdownByUserWaitTimeMetricDimensionWaitTime;
1293
1294// Enum for successful_connect_breakdown_by_is_multi_bss (Metric Dimension is_multi_bss)
1295#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1296pub enum SuccessfulConnectBreakdownByIsMultiBssMetricDimensionIsMultiBss {
1297  Yes = 1,
1298  No = 2,
1299}
1300
1301impl cobalt_client::traits::AsEventCode for SuccessfulConnectBreakdownByIsMultiBssMetricDimensionIsMultiBss {
1302  fn as_event_code(&self) -> u32 {
1303    *self as u32
1304  }
1305}
1306
1307// Alias for daily_connect_success_rate_breakdown_by_is_multi_bss (Metric Dimension is_multi_bss) which has the same event codes
1308pub use SuccessfulConnectBreakdownByIsMultiBssMetricDimensionIsMultiBss as DailyConnectSuccessRateBreakdownByIsMultiBssMetricDimensionIsMultiBss;
1309
1310// Alias for disconnect_breakdown_by_is_multi_bss (Metric Dimension is_multi_bss) which has the same event codes
1311pub use SuccessfulConnectBreakdownByIsMultiBssMetricDimensionIsMultiBss as DisconnectBreakdownByIsMultiBssMetricDimensionIsMultiBss;
1312
1313// Alias for device_connected_to_ap_breakdown_by_is_multi_bss (Metric Dimension is_multi_bss) which has the same event codes
1314pub use SuccessfulConnectBreakdownByIsMultiBssMetricDimensionIsMultiBss as DeviceConnectedToApBreakdownByIsMultiBssMetricDimensionIsMultiBss;
1315
1316// Alias for policy_roam_attempt_count_detailed (Metric Dimension was_roam_successful) which has the same event codes
1317pub use SuccessfulConnectBreakdownByIsMultiBssMetricDimensionIsMultiBss as PolicyRoamAttemptCountDetailedMetricDimensionWasRoamSuccessful;
1318
1319// Enum for connectivity_wlan (Metric Dimension security_type)
1320#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1321pub enum ConnectivityWlanMetricDimensionSecurityType {
1322  Unknown = 0,
1323  Open = 1,
1324  Wep = 2,
1325  Wpa1 = 3,
1326  Wpa1Wpa2Personal = 4,
1327  Wpa2Personal = 5,
1328  Wpa2Wpa3Personal = 6,
1329  Wpa3Personal = 7,
1330  Wpa2Enterprise = 8,
1331  Wpa3Enterprise = 9,
1332  Wpa1Wpa2PersonalTkipOnly = 11,
1333  Wpa2PersonalTkipOnly = 12,
1334}
1335
1336impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionSecurityType {
1337  fn as_event_code(&self) -> u32 {
1338    *self as u32
1339  }
1340}
1341// Alias for successful_connect_breakdown_by_security_type (Metric Dimension security_type) which has the same event codes
1342pub use ConnectivityWlanMetricDimensionSecurityType as SuccessfulConnectBreakdownBySecurityTypeMetricDimensionSecurityType;
1343
1344// Alias for daily_connect_success_rate_breakdown_by_security_type (Metric Dimension security_type) which has the same event codes
1345pub use ConnectivityWlanMetricDimensionSecurityType as DailyConnectSuccessRateBreakdownBySecurityTypeMetricDimensionSecurityType;
1346
1347// Alias for disconnect_breakdown_by_security_type (Metric Dimension security_type) which has the same event codes
1348pub use ConnectivityWlanMetricDimensionSecurityType as DisconnectBreakdownBySecurityTypeMetricDimensionSecurityType;
1349
1350// Alias for connected_network_security_type (Metric Dimension security_type) which has the same event codes
1351pub use ConnectivityWlanMetricDimensionSecurityType as ConnectedNetworkSecurityTypeMetricDimensionSecurityType;
1352
1353// Enum for connectivity_wlan (Metric Dimension channel_band)
1354#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1355pub enum ConnectivityWlanMetricDimensionChannelBand {
1356  Band2Dot4Ghz = 1,
1357  Band5Ghz = 2,
1358}
1359
1360impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionChannelBand {
1361  fn as_event_code(&self) -> u32 {
1362    *self as u32
1363  }
1364}
1365// Alias for successful_connect_breakdown_by_channel_band (Metric Dimension channel_band) which has the same event codes
1366pub use ConnectivityWlanMetricDimensionChannelBand as SuccessfulConnectBreakdownByChannelBandMetricDimensionChannelBand;
1367
1368// Alias for daily_connect_success_rate_breakdown_by_channel_band (Metric Dimension channel_band) which has the same event codes
1369pub use ConnectivityWlanMetricDimensionChannelBand as DailyConnectSuccessRateBreakdownByChannelBandMetricDimensionChannelBand;
1370
1371// Alias for disconnect_breakdown_by_channel_band (Metric Dimension channel_band) which has the same event codes
1372pub use ConnectivityWlanMetricDimensionChannelBand as DisconnectBreakdownByChannelBandMetricDimensionChannelBand;
1373
1374// Alias for device_connected_to_ap_breakdown_by_channel_band (Metric Dimension channel_band) which has the same event codes
1375pub use ConnectivityWlanMetricDimensionChannelBand as DeviceConnectedToApBreakdownByChannelBandMetricDimensionChannelBand;
1376
1377// Enum for connectivity_wlan (Metric Dimension rssi_bucket)
1378#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1379pub enum ConnectivityWlanMetricDimensionRssiBucket {
1380  From128To90 = 1,
1381  From89To86 = 2,
1382  From85To83 = 3,
1383  From82To80 = 4,
1384  From79To77 = 5,
1385  From76To74 = 6,
1386  From73To71 = 7,
1387  From70To66 = 8,
1388  From65To61 = 9,
1389  From60To51 = 10,
1390  From50To35 = 11,
1391  From34To28 = 12,
1392  From27To1 = 13,
1393  _0 = 14,
1394}
1395
1396impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionRssiBucket {
1397  fn as_event_code(&self) -> u32 {
1398    *self as u32
1399  }
1400}
1401// Alias for daily_connect_success_rate_breakdown_by_rssi_bucket (Metric Dimension rssi_bucket) which has the same event codes
1402pub use ConnectivityWlanMetricDimensionRssiBucket as DailyConnectSuccessRateBreakdownByRssiBucketMetricDimensionRssiBucket;
1403
1404// Alias for average_rssi_delta_after_connection_by_initial_rssi (Metric Dimension rssi_bucket) which has the same event codes
1405pub use ConnectivityWlanMetricDimensionRssiBucket as AverageRssiDeltaAfterConnectionByInitialRssiMetricDimensionRssiBucket;
1406
1407// Alias for average_rssi_delta_before_disconnect_by_final_rssi (Metric Dimension rssi_bucket) which has the same event codes
1408pub use ConnectivityWlanMetricDimensionRssiBucket as AverageRssiDeltaBeforeDisconnectByFinalRssiMetricDimensionRssiBucket;
1409
1410// Enum for connectivity_wlan (Metric Dimension snr_bucket)
1411#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1412pub enum ConnectivityWlanMetricDimensionSnrBucket {
1413  _0 = 1,
1414  From1To10 = 2,
1415  From11To15 = 3,
1416  From16To25 = 4,
1417  From26To40 = 5,
1418  MoreThan40 = 6,
1419}
1420
1421impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionSnrBucket {
1422  fn as_event_code(&self) -> u32 {
1423    *self as u32
1424  }
1425}
1426// Alias for daily_connect_success_rate_breakdown_by_snr_bucket (Metric Dimension snr_bucket) which has the same event codes
1427pub use ConnectivityWlanMetricDimensionSnrBucket as DailyConnectSuccessRateBreakdownBySnrBucketMetricDimensionSnrBucket;
1428
1429// Enum for connectivity_wlan (Metric Dimension reconnect_duration)
1430#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1431pub enum ConnectivityWlanMetricDimensionReconnectDuration {
1432  LessThan100Milliseconds = 1,
1433  LessThan1Second = 2,
1434  LessThan5Seconds = 3,
1435  LessThan30Seconds = 4,
1436  AtLeast30Seconds = 5,
1437}
1438
1439impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionReconnectDuration {
1440  fn as_event_code(&self) -> u32 {
1441    *self as u32
1442  }
1443}
1444// Alias for reconnect_breakdown_by_duration (Metric Dimension reconnect_duration) which has the same event codes
1445pub use ConnectivityWlanMetricDimensionReconnectDuration as ReconnectBreakdownByDurationMetricDimensionReconnectDuration;
1446
1447// Enum for policy_roam_connected_duration_before_roam_attempt (Metric Dimension reason)
1448#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1449pub enum PolicyRoamConnectedDurationBeforeRoamAttemptMetricDimensionReason {
1450  ReasonUnknown = 0,
1451  RssiBelowThreshold = 1,
1452  SnrBelowThreshold = 2,
1453}
1454
1455impl cobalt_client::traits::AsEventCode for PolicyRoamConnectedDurationBeforeRoamAttemptMetricDimensionReason {
1456  fn as_event_code(&self) -> u32 {
1457    *self as u32
1458  }
1459}
1460
1461// Alias for connected_duration_before_non_roam_disconnect (Metric Dimension reason) which has the same event codes
1462pub use PolicyRoamConnectedDurationBeforeRoamAttemptMetricDimensionReason as ConnectedDurationBeforeNonRoamDisconnectMetricDimensionReason;
1463
1464// Alias for connected_duration_before_disconnect (Metric Dimension reason) which has the same event codes
1465pub use PolicyRoamConnectedDurationBeforeRoamAttemptMetricDimensionReason as ConnectedDurationBeforeDisconnectMetricDimensionReason;
1466
1467// Alias for policy_roam_percent_good_decision (Metric Dimension reason) which has the same event codes
1468pub use PolicyRoamConnectedDurationBeforeRoamAttemptMetricDimensionReason as PolicyRoamPercentGoodDecisionMetricDimensionReason;
1469
1470// Alias for policy_roam_percent_good_decision_at_least_five (Metric Dimension reason) which has the same event codes
1471pub use PolicyRoamConnectedDurationBeforeRoamAttemptMetricDimensionReason as PolicyRoamPercentGoodDecisionAtLeastFiveMetricDimensionReason;
1472
1473// Alias for policy_roam_to_insufficent_count (Metric Dimension reason) which has the same event codes
1474pub use PolicyRoamConnectedDurationBeforeRoamAttemptMetricDimensionReason as PolicyRoamToInsufficentCountMetricDimensionReason;
1475
1476// Alias for policy_roam_scan_count_by_roam_reason (Metric Dimension reason) which has the same event codes
1477pub use PolicyRoamConnectedDurationBeforeRoamAttemptMetricDimensionReason as PolicyRoamScanCountByRoamReasonMetricDimensionReason;
1478
1479// Alias for policy_roam_attempt_count_by_roam_reason (Metric Dimension reason) which has the same event codes
1480pub use PolicyRoamConnectedDurationBeforeRoamAttemptMetricDimensionReason as PolicyRoamAttemptCountByRoamReasonMetricDimensionReason;
1481
1482// Alias for policy_roam_success_rate_by_roam_reason (Metric Dimension reason) which has the same event codes
1483pub use PolicyRoamConnectedDurationBeforeRoamAttemptMetricDimensionReason as PolicyRoamSuccessRateByRoamReasonMetricDimensionReason;
1484
1485// Alias for policy_roam_disconnect_count_by_roam_reason (Metric Dimension reason) which has the same event codes
1486pub use PolicyRoamConnectedDurationBeforeRoamAttemptMetricDimensionReason as PolicyRoamDisconnectCountByRoamReasonMetricDimensionReason;
1487
1488// Alias for policy_roam_transition_rssi_delta_by_roam_reason (Metric Dimension reason) which has the same event codes
1489pub use PolicyRoamConnectedDurationBeforeRoamAttemptMetricDimensionReason as PolicyRoamTransitionRssiDeltaByRoamReasonMetricDimensionReason;
1490
1491// Alias for policy_roam_avg_rssi_delta_pre_roam_by_roam_reason (Metric Dimension reason) which has the same event codes
1492pub use PolicyRoamConnectedDurationBeforeRoamAttemptMetricDimensionReason as PolicyRoamAvgRssiDeltaPreRoamByRoamReasonMetricDimensionReason;
1493
1494// Alias for policy_roam_avg_rssi_delta_post_roam_by_roam_reason (Metric Dimension reason) which has the same event codes
1495pub use PolicyRoamConnectedDurationBeforeRoamAttemptMetricDimensionReason as PolicyRoamAvgRssiDeltaPostRoamByRoamReasonMetricDimensionReason;
1496
1497// Alias for policy_roam_attempt_count_detailed (Metric Dimension reason) which has the same event codes
1498pub use PolicyRoamConnectedDurationBeforeRoamAttemptMetricDimensionReason as PolicyRoamAttemptCountDetailedMetricDimensionReason;
1499
1500// Enum for policy_roam_to_insufficent_count (Metric Dimension has_insufficient_signal)
1501#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1502pub enum PolicyRoamToInsufficentCountMetricDimensionHasInsufficientSignal {
1503  Yes = 0,
1504  No = 1,
1505}
1506
1507impl cobalt_client::traits::AsEventCode for PolicyRoamToInsufficentCountMetricDimensionHasInsufficientSignal {
1508  fn as_event_code(&self) -> u32 {
1509    *self as u32
1510  }
1511}
1512
1513// Alias for policy_roam_to_insufficent_count (Metric Dimension has_insufficient_data_rate) which has the same event codes
1514pub use PolicyRoamToInsufficentCountMetricDimensionHasInsufficientSignal as PolicyRoamToInsufficentCountMetricDimensionHasInsufficientDataRate;
1515
1516// Alias for policy_roam_to_insufficent_count (Metric Dimension disconnect) which has the same event codes
1517pub use PolicyRoamToInsufficentCountMetricDimensionHasInsufficientSignal as PolicyRoamToInsufficentCountMetricDimensionDisconnect;
1518
1519// Alias for policy_roam_to_insufficent_count (Metric Dimension imminent_disconnect) which has the same event codes
1520pub use PolicyRoamToInsufficentCountMetricDimensionHasInsufficientSignal as PolicyRoamToInsufficentCountMetricDimensionImminentDisconnect;
1521
1522// Enum for connectivity_wlan (Metric Dimension scan_fulfillment_time)
1523#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1524pub enum ConnectivityWlanMetricDimensionScanFulfillmentTime {
1525  Unknown = 0,
1526  LessThanOneSecond = 1,
1527  LessThanTwoSeconds = 2,
1528  LessThanThreeSeconds = 3,
1529  LessThanFiveSeconds = 4,
1530  LessThanEightSeconds = 5,
1531  LessThanThirteenSeconds = 6,
1532  LessThanTwentyOneSeconds = 7,
1533  LessThanThirtyFourSeconds = 8,
1534  LessThanFiftyFiveSeconds = 9,
1535  MoreThanFiftyFiveSeconds = 10,
1536}
1537
1538impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionScanFulfillmentTime {
1539  fn as_event_code(&self) -> u32 {
1540    *self as u32
1541  }
1542}
1543// Alias for successful_scan_request_fulfillment_time (Metric Dimension scan_fulfillment_time) which has the same event codes
1544pub use ConnectivityWlanMetricDimensionScanFulfillmentTime as SuccessfulScanRequestFulfillmentTimeMetricDimensionScanFulfillmentTime;
1545
1546// Enum for connectivity_wlan (Metric Dimension scan_reason)
1547#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1548pub enum ConnectivityWlanMetricDimensionScanReason {
1549  Unknown = 0,
1550  ClientRequest = 1,
1551  NetworkSelection = 2,
1552  BssSelection = 3,
1553  BssSelectionAugmentation = 4,
1554  ProactiveRoaming = 5,
1555}
1556
1557impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionScanReason {
1558  fn as_event_code(&self) -> u32 {
1559    *self as u32
1560  }
1561}
1562// Alias for successful_scan_request_fulfillment_time (Metric Dimension scan_reason) which has the same event codes
1563pub use ConnectivityWlanMetricDimensionScanReason as SuccessfulScanRequestFulfillmentTimeMetricDimensionScanReason;
1564
1565// Enum for connectivity_wlan (Metric Dimension scan_requests_fulfilled)
1566#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1567pub enum ConnectivityWlanMetricDimensionScanRequestsFulfilled {
1568  Unknown = 0,
1569  Zero = 1,
1570  One = 2,
1571  Two = 3,
1572  Three = 4,
1573  Four = 5,
1574  FiveToNine = 6,
1575  TenOrMore = 7,
1576}
1577
1578impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionScanRequestsFulfilled {
1579  fn as_event_code(&self) -> u32 {
1580    *self as u32
1581  }
1582}
1583// Alias for scan_queue_statistics_after_completed_scan (Metric Dimension scan_requests_fulfilled) which has the same event codes
1584pub use ConnectivityWlanMetricDimensionScanRequestsFulfilled as ScanQueueStatisticsAfterCompletedScanMetricDimensionScanRequestsFulfilled;
1585
1586// Enum for connectivity_wlan (Metric Dimension scan_requests_remaining)
1587#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1588pub enum ConnectivityWlanMetricDimensionScanRequestsRemaining {
1589  Unknown = 0,
1590  Zero = 1,
1591  One = 2,
1592  Two = 3,
1593  Three = 4,
1594  Four = 5,
1595  FiveToNine = 6,
1596  TenToFourteen = 7,
1597  FifteenOrMore = 8,
1598}
1599
1600impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionScanRequestsRemaining {
1601  fn as_event_code(&self) -> u32 {
1602    *self as u32
1603  }
1604}
1605// Alias for scan_queue_statistics_after_completed_scan (Metric Dimension scan_requests_remaining) which has the same event codes
1606pub use ConnectivityWlanMetricDimensionScanRequestsRemaining as ScanQueueStatisticsAfterCompletedScanMetricDimensionScanRequestsRemaining;
1607
1608// Enum for recovery_occurrence (Metric Dimension reason)
1609#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1610pub enum RecoveryOccurrenceMetricDimensionReason {
1611  InterfaceCreationFailure = 1,
1612  InterfaceDestructionFailure = 2,
1613  ClientConnectionFailure = 3,
1614  ApStartFailure = 4,
1615  ScanFailure = 5,
1616  ScanCancellation = 6,
1617  ScanResultsEmpty = 7,
1618  Timeout = 8,
1619}
1620
1621impl cobalt_client::traits::AsEventCode for RecoveryOccurrenceMetricDimensionReason {
1622  fn as_event_code(&self) -> u32 {
1623    *self as u32
1624  }
1625}
1626
1627// Enum for connectivity_wlan (Metric Dimension result)
1628#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1629pub enum ConnectivityWlanMetricDimensionResult {
1630  Success = 1,
1631  Failure = 2,
1632}
1633
1634impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionResult {
1635  fn as_event_code(&self) -> u32 {
1636    *self as u32
1637  }
1638}
1639// Alias for interface_creation_recovery_outcome (Metric Dimension result) which has the same event codes
1640pub use ConnectivityWlanMetricDimensionResult as InterfaceCreationRecoveryOutcomeMetricDimensionResult;
1641
1642// Alias for interface_destruction_recovery_outcome (Metric Dimension result) which has the same event codes
1643pub use ConnectivityWlanMetricDimensionResult as InterfaceDestructionRecoveryOutcomeMetricDimensionResult;
1644
1645// Alias for connect_failure_recovery_outcome (Metric Dimension result) which has the same event codes
1646pub use ConnectivityWlanMetricDimensionResult as ConnectFailureRecoveryOutcomeMetricDimensionResult;
1647
1648// Alias for scan_failure_recovery_outcome (Metric Dimension result) which has the same event codes
1649pub use ConnectivityWlanMetricDimensionResult as ScanFailureRecoveryOutcomeMetricDimensionResult;
1650
1651// Alias for scan_cancellation_recovery_outcome (Metric Dimension result) which has the same event codes
1652pub use ConnectivityWlanMetricDimensionResult as ScanCancellationRecoveryOutcomeMetricDimensionResult;
1653
1654// Alias for empty_scan_results_recovery_outcome (Metric Dimension result) which has the same event codes
1655pub use ConnectivityWlanMetricDimensionResult as EmptyScanResultsRecoveryOutcomeMetricDimensionResult;
1656
1657// Alias for start_access_point_recovery_outcome (Metric Dimension result) which has the same event codes
1658pub use ConnectivityWlanMetricDimensionResult as StartAccessPointRecoveryOutcomeMetricDimensionResult;
1659
1660// Alias for timeout_recovery_outcome (Metric Dimension result) which has the same event codes
1661pub use ConnectivityWlanMetricDimensionResult as TimeoutRecoveryOutcomeMetricDimensionResult;
1662
1663// Enum for connectivity_wlan (Metric Dimension client_recovery_mechanism)
1664#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1665pub enum ConnectivityWlanMetricDimensionClientRecoveryMechanism {
1666  Disconnect = 1,
1667  DestroyIface = 2,
1668  PhyReset = 3,
1669}
1670
1671impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionClientRecoveryMechanism {
1672  fn as_event_code(&self) -> u32 {
1673    *self as u32
1674  }
1675}
1676// Alias for connect_failure_recovery_outcome (Metric Dimension client_recovery_mechanism) which has the same event codes
1677pub use ConnectivityWlanMetricDimensionClientRecoveryMechanism as ConnectFailureRecoveryOutcomeMetricDimensionClientRecoveryMechanism;
1678
1679// Alias for scan_failure_recovery_outcome (Metric Dimension client_recovery_mechanism) which has the same event codes
1680pub use ConnectivityWlanMetricDimensionClientRecoveryMechanism as ScanFailureRecoveryOutcomeMetricDimensionClientRecoveryMechanism;
1681
1682// Alias for scan_cancellation_recovery_outcome (Metric Dimension client_recovery_mechanism) which has the same event codes
1683pub use ConnectivityWlanMetricDimensionClientRecoveryMechanism as ScanCancellationRecoveryOutcomeMetricDimensionClientRecoveryMechanism;
1684
1685// Alias for empty_scan_results_recovery_outcome (Metric Dimension client_recovery_mechanism) which has the same event codes
1686pub use ConnectivityWlanMetricDimensionClientRecoveryMechanism as EmptyScanResultsRecoveryOutcomeMetricDimensionClientRecoveryMechanism;
1687
1688// Enum for connectivity_wlan (Metric Dimension ap_recovery_mechanism)
1689#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1690pub enum ConnectivityWlanMetricDimensionApRecoveryMechanism {
1691  StopAp = 1,
1692  DestroyIface = 2,
1693  ResetPhy = 3,
1694}
1695
1696impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionApRecoveryMechanism {
1697  fn as_event_code(&self) -> u32 {
1698    *self as u32
1699  }
1700}
1701// Alias for start_access_point_recovery_outcome (Metric Dimension ap_recovery_mechanism) which has the same event codes
1702pub use ConnectivityWlanMetricDimensionApRecoveryMechanism as StartAccessPointRecoveryOutcomeMetricDimensionApRecoveryMechanism;
1703
1704// Enum for connectivity_wlan (Metric Dimension stalled_operation)
1705#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1706pub enum ConnectivityWlanMetricDimensionStalledOperation {
1707  Scan_ = 1,
1708  Connect_ = 2,
1709  Disconnect_ = 3,
1710  ClientStatus_ = 4,
1711  WmmStatus_ = 5,
1712  ApStart_ = 6,
1713  ApStop_ = 7,
1714  ApStatus_ = 8,
1715  GetCounterStats_ = 9,
1716  GetHistogramStats_ = 10,
1717}
1718
1719impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionStalledOperation {
1720  fn as_event_code(&self) -> u32 {
1721    *self as u32
1722  }
1723}
1724// Alias for sme_operation_timeout (Metric Dimension stalled_operation) which has the same event codes
1725pub use ConnectivityWlanMetricDimensionStalledOperation as SmeOperationTimeoutMetricDimensionStalledOperation;
1726
1727// Enum for connectivity_wlan (Metric Dimension timeout_recovery_mechanism)
1728#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1729pub enum ConnectivityWlanMetricDimensionTimeoutRecoveryMechanism {
1730  DestroyIface = 1,
1731  PhyReset = 2,
1732}
1733
1734impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionTimeoutRecoveryMechanism {
1735  fn as_event_code(&self) -> u32 {
1736    *self as u32
1737  }
1738}
1739// Alias for timeout_recovery_outcome (Metric Dimension timeout_recovery_mechanism) which has the same event codes
1740pub use ConnectivityWlanMetricDimensionTimeoutRecoveryMechanism as TimeoutRecoveryOutcomeMetricDimensionTimeoutRecoveryMechanism;
1741
1742// Enum for connectivity_wlan (Metric Dimension power_level)
1743#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1744pub enum ConnectivityWlanMetricDimensionPowerLevel {
1745  Unknown = 0,
1746  Disconnected = 1,
1747  SuspendMode = 2,
1748  PowerSaveMode = 3,
1749  HighPerformanceMode = 4,
1750}
1751
1752impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionPowerLevel {
1753  fn as_event_code(&self) -> u32 {
1754    *self as u32
1755  }
1756}
1757// Alias for power_level_at_suspend (Metric Dimension power_level) which has the same event codes
1758pub use ConnectivityWlanMetricDimensionPowerLevel as PowerLevelAtSuspendMetricDimensionPowerLevel;
1759
1760// Enum for unclear_power_level_demand (Metric Dimension reason)
1761#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1762pub enum UnclearPowerLevelDemandMetricDimensionReason {
1763  Unknown = 0,
1764  PowerSaveRequestedWhileSuspendModeEnabled = 1,
1765}
1766
1767impl cobalt_client::traits::AsEventCode for UnclearPowerLevelDemandMetricDimensionReason {
1768  fn as_event_code(&self) -> u32 {
1769    *self as u32
1770  }
1771}
1772
1773// Enum for connectivity_wlan (Metric Dimension connect_reason)
1774#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1775pub enum ConnectivityWlanMetricDimensionConnectReason {
1776  RetryAfterDisconnectDetected = 0,
1777  RetryAfterFailedConnectAttempt = 1,
1778  FidlConnectRequest = 2,
1779  ProactiveNetworkSwitch = 3,
1780  RegulatoryChangeReconnect = 4,
1781  IdleInterfaceAutoconnect = 5,
1782  NewSavedNetworkAutoconnect = 6,
1783  DoNotUseRemovedEventCode = 7,
1784}
1785
1786impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionConnectReason {
1787  fn as_event_code(&self) -> u32 {
1788    *self as u32
1789  }
1790}
1791// Alias for policy_fidl_connection_attempts_during_short_connection_detailed (Metric Dimension connect_reason) which has the same event codes
1792pub use ConnectivityWlanMetricDimensionConnectReason as PolicyFidlConnectionAttemptsDuringShortConnectionDetailedMetricDimensionConnectReason;
1793
1794// Alias for bss_selection_count_detailed (Metric Dimension connect_reason) which has the same event codes
1795pub use ConnectivityWlanMetricDimensionConnectReason as BssSelectionCountDetailedMetricDimensionConnectReason;
1796
1797// Alias for num_bss_considered_in_selection_detailed (Metric Dimension connect_reason) which has the same event codes
1798pub use ConnectivityWlanMetricDimensionConnectReason as NumBssConsideredInSelectionDetailedMetricDimensionConnectReason;
1799
1800// Alias for num_networks_represented_in_bss_selection (Metric Dimension connect_reason) which has the same event codes
1801pub use ConnectivityWlanMetricDimensionConnectReason as NumNetworksRepresentedInBssSelectionMetricDimensionConnectReason;
1802
1803// Alias for bss_candidate_score (Metric Dimension connect_reason) which has the same event codes
1804pub use ConnectivityWlanMetricDimensionConnectReason as BssCandidateScoreMetricDimensionConnectReason;
1805
1806// Alias for selected_bss_score (Metric Dimension connect_reason) which has the same event codes
1807pub use ConnectivityWlanMetricDimensionConnectReason as SelectedBssScoreMetricDimensionConnectReason;
1808
1809// Alias for best_candidates_ghz_score_delta (Metric Dimension connect_reason) which has the same event codes
1810pub use ConnectivityWlanMetricDimensionConnectReason as BestCandidatesGhzScoreDeltaMetricDimensionConnectReason;
1811
1812// Alias for bss_candidate_rssi (Metric Dimension connect_reason) which has the same event codes
1813pub use ConnectivityWlanMetricDimensionConnectReason as BssCandidateRssiMetricDimensionConnectReason;
1814
1815// Enum for connectivity_wlan (Metric Dimension bands)
1816#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1817pub enum ConnectivityWlanMetricDimensionBands {
1818  Band2Dot4Ghz = 1,
1819  Band5Ghz = 2,
1820  MultiBand = 3,
1821}
1822
1823impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionBands {
1824  fn as_event_code(&self) -> u32 {
1825    *self as u32
1826  }
1827}
1828// Alias for ghz_bands_available_in_bss_selection (Metric Dimension bands) which has the same event codes
1829pub use ConnectivityWlanMetricDimensionBands as GhzBandsAvailableInBssSelectionMetricDimensionBands;
1830
1831// Enum for connectivity_wlan (Metric Dimension duration)
1832#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1833pub enum ConnectivityWlanMetricDimensionDuration {
1834  ShortDuration = 1,
1835  LongDuration = 2,
1836}
1837
1838impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionDuration {
1839  fn as_event_code(&self) -> u32 {
1840    *self as u32
1841  }
1842}
1843// Alias for connection_score_average (Metric Dimension duration) which has the same event codes
1844pub use ConnectivityWlanMetricDimensionDuration as ConnectionScoreAverageMetricDimensionDuration;
1845
1846// Alias for connection_rssi_average (Metric Dimension duration) which has the same event codes
1847pub use ConnectivityWlanMetricDimensionDuration as ConnectionRssiAverageMetricDimensionDuration;
1848
1849// Enum for average_score_delta_after_connection_by_initial_score (Metric Dimension initial_score)
1850#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1851pub enum AverageScoreDeltaAfterConnectionByInitialScoreMetricDimensionInitialScore {
1852  _0To20 = 1,
1853  _21To40 = 2,
1854  _41To60 = 3,
1855  _61To80 = 4,
1856  _81To100 = 5,
1857}
1858
1859impl cobalt_client::traits::AsEventCode for AverageScoreDeltaAfterConnectionByInitialScoreMetricDimensionInitialScore {
1860  fn as_event_code(&self) -> u32 {
1861    *self as u32
1862  }
1863}
1864
1865// Alias for average_score_delta_before_disconnect_by_final_score (Metric Dimension final_score) which has the same event codes
1866pub use AverageScoreDeltaAfterConnectionByInitialScoreMetricDimensionInitialScore as AverageScoreDeltaBeforeDisconnectByFinalScoreMetricDimensionFinalScore;
1867
1868// Enum for average_score_delta_after_connection_by_initial_score (Metric Dimension time_since_connect)
1869#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1870pub enum AverageScoreDeltaAfterConnectionByInitialScoreMetricDimensionTimeSinceConnect {
1871  OneSecond = 1,
1872  FiveSeconds = 2,
1873  TenSeconds = 3,
1874  ThirtySeconds = 4,
1875}
1876
1877impl cobalt_client::traits::AsEventCode for AverageScoreDeltaAfterConnectionByInitialScoreMetricDimensionTimeSinceConnect {
1878  fn as_event_code(&self) -> u32 {
1879    *self as u32
1880  }
1881}
1882
1883// Alias for average_score_delta_before_disconnect_by_final_score (Metric Dimension time_until_disconnect) which has the same event codes
1884pub use AverageScoreDeltaAfterConnectionByInitialScoreMetricDimensionTimeSinceConnect as AverageScoreDeltaBeforeDisconnectByFinalScoreMetricDimensionTimeUntilDisconnect;
1885
1886// Alias for average_rssi_delta_after_connection_by_initial_rssi (Metric Dimension time_since_connect) which has the same event codes
1887pub use AverageScoreDeltaAfterConnectionByInitialScoreMetricDimensionTimeSinceConnect as AverageRssiDeltaAfterConnectionByInitialRssiMetricDimensionTimeSinceConnect;
1888
1889// Alias for average_rssi_delta_before_disconnect_by_final_rssi (Metric Dimension time_until_disconnect) which has the same event codes
1890pub use AverageScoreDeltaAfterConnectionByInitialScoreMetricDimensionTimeSinceConnect as AverageRssiDeltaBeforeDisconnectByFinalRssiMetricDimensionTimeUntilDisconnect;
1891
1892// Alias for policy_roam_avg_rssi_delta_pre_roam_by_roam_reason (Metric Dimension time_before_roam) which has the same event codes
1893pub use AverageScoreDeltaAfterConnectionByInitialScoreMetricDimensionTimeSinceConnect as PolicyRoamAvgRssiDeltaPreRoamByRoamReasonMetricDimensionTimeBeforeRoam;
1894
1895// Alias for policy_roam_avg_rssi_delta_post_roam_by_roam_reason (Metric Dimension time_since_roam) which has the same event codes
1896pub use AverageScoreDeltaAfterConnectionByInitialScoreMetricDimensionTimeSinceConnect as PolicyRoamAvgRssiDeltaPostRoamByRoamReasonMetricDimensionTimeSinceRoam;
1897
1898// Enum for connectivity_wlan (Metric Dimension ghz_band_transition)
1899#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1900pub enum ConnectivityWlanMetricDimensionGhzBandTransition {
1901  From2gTo2g = 1,
1902  From2gTo5g = 2,
1903  From2gTo6g = 3,
1904  From5gTo2g = 4,
1905  From5gTo5g = 5,
1906  From5gTo6g = 6,
1907  From6gTo2g = 7,
1908  From6gTo5g = 8,
1909  From6gTo6g = 9,
1910}
1911
1912impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionGhzBandTransition {
1913  fn as_event_code(&self) -> u32 {
1914    *self as u32
1915  }
1916}
1917// Alias for policy_roam_attempt_count_detailed (Metric Dimension ghz_band_transition) which has the same event codes
1918pub use ConnectivityWlanMetricDimensionGhzBandTransition as PolicyRoamAttemptCountDetailedMetricDimensionGhzBandTransition;
1919
1920// Enum for connectivity_wlan (Metric Dimension dfs_channel_transition)
1921#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1922pub enum ConnectivityWlanMetricDimensionDfsChannelTransition {
1923  DfsToDfs = 1,
1924  DfsToNonDfs = 2,
1925  NonDfsToDfs = 3,
1926  NonDfsToNonDfs = 4,
1927}
1928
1929impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionDfsChannelTransition {
1930  fn as_event_code(&self) -> u32 {
1931    *self as u32
1932  }
1933}
1934// Alias for policy_roam_attempt_count_detailed (Metric Dimension dfs_channel_transition) which has the same event codes
1935pub use ConnectivityWlanMetricDimensionDfsChannelTransition as PolicyRoamAttemptCountDetailedMetricDimensionDfsChannelTransition;
1936
1937// Enum for connectivity_wlan (Metric Dimension band)
1938#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1939pub enum ConnectivityWlanMetricDimensionBand {
1940  Band2Dot4Ghz = 1,
1941  Band5Ghz = 2,
1942}
1943
1944impl cobalt_client::traits::AsEventCode for ConnectivityWlanMetricDimensionBand {
1945  fn as_event_code(&self) -> u32 {
1946    *self as u32
1947  }
1948}
1949// Alias for bss_candidate_rssi (Metric Dimension band) which has the same event codes
1950pub use ConnectivityWlanMetricDimensionBand as BssCandidateRssiMetricDimensionBand;
1951
1952#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1953pub struct PolicyRoamToInsufficentCountEventCodes {
1954  pub reason: PolicyRoamToInsufficentCountMetricDimensionReason,
1955  pub has_insufficient_signal: PolicyRoamToInsufficentCountMetricDimensionHasInsufficientSignal,
1956  pub has_insufficient_data_rate: PolicyRoamToInsufficentCountMetricDimensionHasInsufficientDataRate,
1957  pub disconnect: PolicyRoamToInsufficentCountMetricDimensionDisconnect,
1958  pub imminent_disconnect: PolicyRoamToInsufficentCountMetricDimensionImminentDisconnect,
1959}
1960
1961impl cobalt_client::traits::AsEventCodes for PolicyRoamToInsufficentCountEventCodes {
1962  fn as_event_codes(&self) -> Vec<u32> {
1963    use cobalt_client::traits::AsEventCode;
1964    vec![
1965      self.reason.as_event_code(),
1966      self.has_insufficient_signal.as_event_code(),
1967      self.has_insufficient_data_rate.as_event_code(),
1968      self.disconnect.as_event_code(),
1969      self.imminent_disconnect.as_event_code(),
1970    ]
1971  }
1972}
1973
1974#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1975pub struct SuccessfulScanRequestFulfillmentTimeEventCodes {
1976  pub scan_fulfillment_time: SuccessfulScanRequestFulfillmentTimeMetricDimensionScanFulfillmentTime,
1977  pub scan_reason: SuccessfulScanRequestFulfillmentTimeMetricDimensionScanReason,
1978}
1979
1980impl cobalt_client::traits::AsEventCodes for SuccessfulScanRequestFulfillmentTimeEventCodes {
1981  fn as_event_codes(&self) -> Vec<u32> {
1982    use cobalt_client::traits::AsEventCode;
1983    vec![
1984      self.scan_fulfillment_time.as_event_code(),
1985      self.scan_reason.as_event_code(),
1986    ]
1987  }
1988}
1989
1990#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
1991pub struct ScanQueueStatisticsAfterCompletedScanEventCodes {
1992  pub scan_requests_fulfilled: ScanQueueStatisticsAfterCompletedScanMetricDimensionScanRequestsFulfilled,
1993  pub scan_requests_remaining: ScanQueueStatisticsAfterCompletedScanMetricDimensionScanRequestsRemaining,
1994}
1995
1996impl cobalt_client::traits::AsEventCodes for ScanQueueStatisticsAfterCompletedScanEventCodes {
1997  fn as_event_codes(&self) -> Vec<u32> {
1998    use cobalt_client::traits::AsEventCode;
1999    vec![
2000      self.scan_requests_fulfilled.as_event_code(),
2001      self.scan_requests_remaining.as_event_code(),
2002    ]
2003  }
2004}
2005
2006#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
2007pub struct ConnectFailureRecoveryOutcomeEventCodes {
2008  pub result: ConnectFailureRecoveryOutcomeMetricDimensionResult,
2009  pub client_recovery_mechanism: ConnectFailureRecoveryOutcomeMetricDimensionClientRecoveryMechanism,
2010}
2011
2012impl cobalt_client::traits::AsEventCodes for ConnectFailureRecoveryOutcomeEventCodes {
2013  fn as_event_codes(&self) -> Vec<u32> {
2014    use cobalt_client::traits::AsEventCode;
2015    vec![
2016      self.result.as_event_code(),
2017      self.client_recovery_mechanism.as_event_code(),
2018    ]
2019  }
2020}
2021
2022#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
2023pub struct ScanFailureRecoveryOutcomeEventCodes {
2024  pub result: ScanFailureRecoveryOutcomeMetricDimensionResult,
2025  pub client_recovery_mechanism: ScanFailureRecoveryOutcomeMetricDimensionClientRecoveryMechanism,
2026}
2027
2028impl cobalt_client::traits::AsEventCodes for ScanFailureRecoveryOutcomeEventCodes {
2029  fn as_event_codes(&self) -> Vec<u32> {
2030    use cobalt_client::traits::AsEventCode;
2031    vec![
2032      self.result.as_event_code(),
2033      self.client_recovery_mechanism.as_event_code(),
2034    ]
2035  }
2036}
2037
2038#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
2039pub struct ScanCancellationRecoveryOutcomeEventCodes {
2040  pub result: ScanCancellationRecoveryOutcomeMetricDimensionResult,
2041  pub client_recovery_mechanism: ScanCancellationRecoveryOutcomeMetricDimensionClientRecoveryMechanism,
2042}
2043
2044impl cobalt_client::traits::AsEventCodes for ScanCancellationRecoveryOutcomeEventCodes {
2045  fn as_event_codes(&self) -> Vec<u32> {
2046    use cobalt_client::traits::AsEventCode;
2047    vec![
2048      self.result.as_event_code(),
2049      self.client_recovery_mechanism.as_event_code(),
2050    ]
2051  }
2052}
2053
2054#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
2055pub struct EmptyScanResultsRecoveryOutcomeEventCodes {
2056  pub result: EmptyScanResultsRecoveryOutcomeMetricDimensionResult,
2057  pub client_recovery_mechanism: EmptyScanResultsRecoveryOutcomeMetricDimensionClientRecoveryMechanism,
2058}
2059
2060impl cobalt_client::traits::AsEventCodes for EmptyScanResultsRecoveryOutcomeEventCodes {
2061  fn as_event_codes(&self) -> Vec<u32> {
2062    use cobalt_client::traits::AsEventCode;
2063    vec![
2064      self.result.as_event_code(),
2065      self.client_recovery_mechanism.as_event_code(),
2066    ]
2067  }
2068}
2069
2070#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
2071pub struct StartAccessPointRecoveryOutcomeEventCodes {
2072  pub result: StartAccessPointRecoveryOutcomeMetricDimensionResult,
2073  pub ap_recovery_mechanism: StartAccessPointRecoveryOutcomeMetricDimensionApRecoveryMechanism,
2074}
2075
2076impl cobalt_client::traits::AsEventCodes for StartAccessPointRecoveryOutcomeEventCodes {
2077  fn as_event_codes(&self) -> Vec<u32> {
2078    use cobalt_client::traits::AsEventCode;
2079    vec![
2080      self.result.as_event_code(),
2081      self.ap_recovery_mechanism.as_event_code(),
2082    ]
2083  }
2084}
2085
2086#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
2087pub struct TimeoutRecoveryOutcomeEventCodes {
2088  pub result: TimeoutRecoveryOutcomeMetricDimensionResult,
2089  pub timeout_recovery_mechanism: TimeoutRecoveryOutcomeMetricDimensionTimeoutRecoveryMechanism,
2090}
2091
2092impl cobalt_client::traits::AsEventCodes for TimeoutRecoveryOutcomeEventCodes {
2093  fn as_event_codes(&self) -> Vec<u32> {
2094    use cobalt_client::traits::AsEventCode;
2095    vec![
2096      self.result.as_event_code(),
2097      self.timeout_recovery_mechanism.as_event_code(),
2098    ]
2099  }
2100}
2101
2102#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
2103pub struct AverageScoreDeltaAfterConnectionByInitialScoreEventCodes {
2104  pub initial_score: AverageScoreDeltaAfterConnectionByInitialScoreMetricDimensionInitialScore,
2105  pub time_since_connect: AverageScoreDeltaAfterConnectionByInitialScoreMetricDimensionTimeSinceConnect,
2106}
2107
2108impl cobalt_client::traits::AsEventCodes for AverageScoreDeltaAfterConnectionByInitialScoreEventCodes {
2109  fn as_event_codes(&self) -> Vec<u32> {
2110    use cobalt_client::traits::AsEventCode;
2111    vec![
2112      self.initial_score.as_event_code(),
2113      self.time_since_connect.as_event_code(),
2114    ]
2115  }
2116}
2117
2118#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
2119pub struct AverageScoreDeltaBeforeDisconnectByFinalScoreEventCodes {
2120  pub final_score: AverageScoreDeltaBeforeDisconnectByFinalScoreMetricDimensionFinalScore,
2121  pub time_until_disconnect: AverageScoreDeltaBeforeDisconnectByFinalScoreMetricDimensionTimeUntilDisconnect,
2122}
2123
2124impl cobalt_client::traits::AsEventCodes for AverageScoreDeltaBeforeDisconnectByFinalScoreEventCodes {
2125  fn as_event_codes(&self) -> Vec<u32> {
2126    use cobalt_client::traits::AsEventCode;
2127    vec![
2128      self.final_score.as_event_code(),
2129      self.time_until_disconnect.as_event_code(),
2130    ]
2131  }
2132}
2133
2134#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
2135pub struct AverageRssiDeltaAfterConnectionByInitialRssiEventCodes {
2136  pub rssi_bucket: AverageRssiDeltaAfterConnectionByInitialRssiMetricDimensionRssiBucket,
2137  pub time_since_connect: AverageRssiDeltaAfterConnectionByInitialRssiMetricDimensionTimeSinceConnect,
2138}
2139
2140impl cobalt_client::traits::AsEventCodes for AverageRssiDeltaAfterConnectionByInitialRssiEventCodes {
2141  fn as_event_codes(&self) -> Vec<u32> {
2142    use cobalt_client::traits::AsEventCode;
2143    vec![
2144      self.rssi_bucket.as_event_code(),
2145      self.time_since_connect.as_event_code(),
2146    ]
2147  }
2148}
2149
2150#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
2151pub struct AverageRssiDeltaBeforeDisconnectByFinalRssiEventCodes {
2152  pub rssi_bucket: AverageRssiDeltaBeforeDisconnectByFinalRssiMetricDimensionRssiBucket,
2153  pub time_until_disconnect: AverageRssiDeltaBeforeDisconnectByFinalRssiMetricDimensionTimeUntilDisconnect,
2154}
2155
2156impl cobalt_client::traits::AsEventCodes for AverageRssiDeltaBeforeDisconnectByFinalRssiEventCodes {
2157  fn as_event_codes(&self) -> Vec<u32> {
2158    use cobalt_client::traits::AsEventCode;
2159    vec![
2160      self.rssi_bucket.as_event_code(),
2161      self.time_until_disconnect.as_event_code(),
2162    ]
2163  }
2164}
2165
2166#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
2167pub struct PolicyRoamAvgRssiDeltaPreRoamByRoamReasonEventCodes {
2168  pub reason: PolicyRoamAvgRssiDeltaPreRoamByRoamReasonMetricDimensionReason,
2169  pub time_before_roam: PolicyRoamAvgRssiDeltaPreRoamByRoamReasonMetricDimensionTimeBeforeRoam,
2170}
2171
2172impl cobalt_client::traits::AsEventCodes for PolicyRoamAvgRssiDeltaPreRoamByRoamReasonEventCodes {
2173  fn as_event_codes(&self) -> Vec<u32> {
2174    use cobalt_client::traits::AsEventCode;
2175    vec![
2176      self.reason.as_event_code(),
2177      self.time_before_roam.as_event_code(),
2178    ]
2179  }
2180}
2181
2182#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
2183pub struct PolicyRoamAvgRssiDeltaPostRoamByRoamReasonEventCodes {
2184  pub reason: PolicyRoamAvgRssiDeltaPostRoamByRoamReasonMetricDimensionReason,
2185  pub time_since_roam: PolicyRoamAvgRssiDeltaPostRoamByRoamReasonMetricDimensionTimeSinceRoam,
2186}
2187
2188impl cobalt_client::traits::AsEventCodes for PolicyRoamAvgRssiDeltaPostRoamByRoamReasonEventCodes {
2189  fn as_event_codes(&self) -> Vec<u32> {
2190    use cobalt_client::traits::AsEventCode;
2191    vec![
2192      self.reason.as_event_code(),
2193      self.time_since_roam.as_event_code(),
2194    ]
2195  }
2196}
2197
2198#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
2199pub struct PolicyRoamAttemptCountDetailedEventCodes {
2200  pub reason: PolicyRoamAttemptCountDetailedMetricDimensionReason,
2201  pub was_roam_successful: PolicyRoamAttemptCountDetailedMetricDimensionWasRoamSuccessful,
2202  pub ghz_band_transition: PolicyRoamAttemptCountDetailedMetricDimensionGhzBandTransition,
2203  pub dfs_channel_transition: PolicyRoamAttemptCountDetailedMetricDimensionDfsChannelTransition,
2204}
2205
2206impl cobalt_client::traits::AsEventCodes for PolicyRoamAttemptCountDetailedEventCodes {
2207  fn as_event_codes(&self) -> Vec<u32> {
2208    use cobalt_client::traits::AsEventCode;
2209    vec![
2210      self.reason.as_event_code(),
2211      self.was_roam_successful.as_event_code(),
2212      self.ghz_band_transition.as_event_code(),
2213      self.dfs_channel_transition.as_event_code(),
2214    ]
2215  }
2216}
2217
2218#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
2219pub struct BssCandidateRssiEventCodes {
2220  pub connect_reason: BssCandidateRssiMetricDimensionConnectReason,
2221  pub band: BssCandidateRssiMetricDimensionBand,
2222}
2223
2224impl cobalt_client::traits::AsEventCodes for BssCandidateRssiEventCodes {
2225  fn as_event_codes(&self) -> Vec<u32> {
2226    use cobalt_client::traits::AsEventCode;
2227    vec![
2228      self.connect_reason.as_event_code(),
2229      self.band.as_event_code(),
2230    ]
2231  }
2232}
2233