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