network_policy_metrics_registry/
network_policy_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 = "network_policy";
6pub const PROJECT_ID: u32 = 18;
7
8// Linear bucket constants for duration_metric_template fleetwide_histograms_minutely_buckets
9pub const DURATION_METRIC_TEMPLATE_FLEETWIDE_HISTOGRAMS_MINUTELY_BUCKETS_INT_BUCKETS_FLOOR: i64 = 0;
10pub const DURATION_METRIC_TEMPLATE_FLEETWIDE_HISTOGRAMS_MINUTELY_BUCKETS_INT_BUCKETS_NUM_BUCKETS: u32 = 60;
11pub const DURATION_METRIC_TEMPLATE_FLEETWIDE_HISTOGRAMS_MINUTELY_BUCKETS_INT_BUCKETS_STEP_SIZE: u32 = 60000000;
12
13// Linear bucket constants for duration_metric_template fleetwide_histograms_15_minutely_buckets
14pub const DURATION_METRIC_TEMPLATE_FLEETWIDE_HISTOGRAMS_15_MINUTELY_BUCKETS_INT_BUCKETS_FLOOR: i64 = 0;
15pub const DURATION_METRIC_TEMPLATE_FLEETWIDE_HISTOGRAMS_15_MINUTELY_BUCKETS_INT_BUCKETS_NUM_BUCKETS: u32 = 24;
16pub const DURATION_METRIC_TEMPLATE_FLEETWIDE_HISTOGRAMS_15_MINUTELY_BUCKETS_INT_BUCKETS_STEP_SIZE: u32 = 900000000;
17
18// Linear bucket constants for duration_metric_template fleetwide_histograms_hourly_buckets
19pub const DURATION_METRIC_TEMPLATE_FLEETWIDE_HISTOGRAMS_HOURLY_BUCKETS_INT_BUCKETS_FLOOR: i64 = 0;
20pub const DURATION_METRIC_TEMPLATE_FLEETWIDE_HISTOGRAMS_HOURLY_BUCKETS_INT_BUCKETS_NUM_BUCKETS: u32 = 96;
21pub const DURATION_METRIC_TEMPLATE_FLEETWIDE_HISTOGRAMS_HOURLY_BUCKETS_INT_BUCKETS_STEP_SIZE: u32 = 3600000000;
22
23// Linear bucket constants for occurrence_metric_template device_daily_sum_histograms
24pub const OCCURRENCE_METRIC_TEMPLATE_DEVICE_DAILY_SUM_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
25pub const OCCURRENCE_METRIC_TEMPLATE_DEVICE_DAILY_SUM_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 100;
26pub const OCCURRENCE_METRIC_TEMPLATE_DEVICE_DAILY_SUM_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
27
28// Linear bucket constants for reachability_lost device_daily_sum_histograms
29pub const REACHABILITY_LOST_DEVICE_DAILY_SUM_HISTOGRAMS_INT_BUCKETS_FLOOR: i64 = 0;
30pub const REACHABILITY_LOST_DEVICE_DAILY_SUM_HISTOGRAMS_INT_BUCKETS_NUM_BUCKETS: u32 = 100;
31pub const REACHABILITY_LOST_DEVICE_DAILY_SUM_HISTOGRAMS_INT_BUCKETS_STEP_SIZE: u32 = 1;
32
33// Linear bucket constants for reachability_lost_duration fleetwide_histograms_minutely_buckets
34pub const REACHABILITY_LOST_DURATION_FLEETWIDE_HISTOGRAMS_MINUTELY_BUCKETS_INT_BUCKETS_FLOOR: i64 = 0;
35pub const REACHABILITY_LOST_DURATION_FLEETWIDE_HISTOGRAMS_MINUTELY_BUCKETS_INT_BUCKETS_NUM_BUCKETS: u32 = 60;
36pub const REACHABILITY_LOST_DURATION_FLEETWIDE_HISTOGRAMS_MINUTELY_BUCKETS_INT_BUCKETS_STEP_SIZE: u32 = 60000000;
37
38// Linear bucket constants for reachability_lost_duration fleetwide_histograms_15_minutely_buckets
39pub const REACHABILITY_LOST_DURATION_FLEETWIDE_HISTOGRAMS_15_MINUTELY_BUCKETS_INT_BUCKETS_FLOOR: i64 = 0;
40pub const REACHABILITY_LOST_DURATION_FLEETWIDE_HISTOGRAMS_15_MINUTELY_BUCKETS_INT_BUCKETS_NUM_BUCKETS: u32 = 24;
41pub const REACHABILITY_LOST_DURATION_FLEETWIDE_HISTOGRAMS_15_MINUTELY_BUCKETS_INT_BUCKETS_STEP_SIZE: u32 = 900000000;
42
43// Linear bucket constants for reachability_lost_duration fleetwide_histograms_hourly_buckets
44pub const REACHABILITY_LOST_DURATION_FLEETWIDE_HISTOGRAMS_HOURLY_BUCKETS_INT_BUCKETS_FLOOR: i64 = 0;
45pub const REACHABILITY_LOST_DURATION_FLEETWIDE_HISTOGRAMS_HOURLY_BUCKETS_INT_BUCKETS_NUM_BUCKETS: u32 = 96;
46pub const REACHABILITY_LOST_DURATION_FLEETWIDE_HISTOGRAMS_HOURLY_BUCKETS_INT_BUCKETS_STEP_SIZE: u32 = 3600000000;
47
48// Metric ID Constants
49// device_counts_metric_template
50pub const DEVICE_COUNTS_METRIC_TEMPLATE_METRIC_ID: u32 = 1;
51// duration_metric_template
52pub const DURATION_METRIC_TEMPLATE_METRIC_ID: u32 = 2;
53// occurrence_metric_template
54pub const OCCURRENCE_METRIC_TEMPLATE_METRIC_ID: u32 = 3;
55// reachability_global_snapshot_duration
56pub const REACHABILITY_GLOBAL_SNAPSHOT_DURATION_METRIC_ID: u32 = 100;
57// reachability_state_up_or_above_duration
58pub const REACHABILITY_STATE_UP_OR_ABOVE_DURATION_METRIC_ID: u32 = 101;
59// reachability_global_default_route_duration
60pub const REACHABILITY_GLOBAL_DEFAULT_ROUTE_DURATION_METRIC_ID: u32 = 102;
61// reachability_global_default_route_occurrence
62pub const REACHABILITY_GLOBAL_DEFAULT_ROUTE_OCCURRENCE_METRIC_ID: u32 = 103;
63// reachability_lost
64pub const REACHABILITY_LOST_METRIC_ID: u32 = 104;
65// internet_available_gateway_lost
66pub const INTERNET_AVAILABLE_GATEWAY_LOST_METRIC_ID: u32 = 105;
67// internet_available_gateway_not_pingable
68pub const INTERNET_AVAILABLE_GATEWAY_NOT_PINGABLE_METRIC_ID: u32 = 106;
69// internet_available_gateway_not_discoverable
70pub const INTERNET_AVAILABLE_GATEWAY_NOT_DISCOVERABLE_METRIC_ID: u32 = 107;
71// reachability_lost_duration
72pub const REACHABILITY_LOST_DURATION_METRIC_ID: u32 = 108;
73
74// Enum for reachability_global_snapshot_duration (Metric Dimension route_config)
75#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
76pub enum ReachabilityGlobalSnapshotDurationMetricDimensionRouteConfig {
77  Ipv4Only = 1,
78  Ipv6Only = 2,
79  Ipv4Ipv6 = 3,
80}
81
82impl cobalt_client::traits::AsEventCode for ReachabilityGlobalSnapshotDurationMetricDimensionRouteConfig {
83  fn as_event_code(&self) -> u32 {
84    *self as u32
85  }
86}
87
88// Alias for reachability_global_default_route_duration (Metric Dimension default_route) which has the same event codes
89pub use ReachabilityGlobalSnapshotDurationMetricDimensionRouteConfig as ReachabilityGlobalDefaultRouteDurationMetricDimensionDefaultRoute;
90
91// Alias for reachability_global_default_route_occurrence (Metric Dimension default_route) which has the same event codes
92pub use ReachabilityGlobalSnapshotDurationMetricDimensionRouteConfig as ReachabilityGlobalDefaultRouteOccurrenceMetricDimensionDefaultRoute;
93
94// Alias for reachability_lost (Metric Dimension route_config) which has the same event codes
95pub use ReachabilityGlobalSnapshotDurationMetricDimensionRouteConfig as ReachabilityLostMetricDimensionRouteConfig;
96
97// Alias for reachability_lost_duration (Metric Dimension route_config) which has the same event codes
98pub use ReachabilityGlobalSnapshotDurationMetricDimensionRouteConfig as ReachabilityLostDurationMetricDimensionRouteConfig;
99
100// Enum for reachability_global_snapshot_duration (Metric Dimension internet_available)
101#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
102pub enum ReachabilityGlobalSnapshotDurationMetricDimensionInternetAvailable {
103  Yes = 1,
104  No = 2,
105}
106
107impl cobalt_client::traits::AsEventCode for ReachabilityGlobalSnapshotDurationMetricDimensionInternetAvailable {
108  fn as_event_code(&self) -> u32 {
109    *self as u32
110  }
111}
112
113// Alias for reachability_global_snapshot_duration (Metric Dimension gateway_reachable) which has the same event codes
114pub use ReachabilityGlobalSnapshotDurationMetricDimensionInternetAvailable as ReachabilityGlobalSnapshotDurationMetricDimensionGatewayReachable;
115
116// Alias for reachability_global_snapshot_duration (Metric Dimension dns_active) which has the same event codes
117pub use ReachabilityGlobalSnapshotDurationMetricDimensionInternetAvailable as ReachabilityGlobalSnapshotDurationMetricDimensionDnsActive;
118
119// Enum for network_policy (Metric Dimension http_status)
120#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
121pub enum NetworkPolicyMetricDimensionHttpStatus {
122  Neither = 1,
123  #[allow(non_camel_case_types)]
124  HttpOnly = 2,
125  #[allow(non_camel_case_types)]
126  HttpsOnly = 3,
127  Both = 4,
128}
129
130impl cobalt_client::traits::AsEventCode for NetworkPolicyMetricDimensionHttpStatus {
131  fn as_event_code(&self) -> u32 {
132    *self as u32
133  }
134}
135// Alias for reachability_global_snapshot_duration (Metric Dimension http_status) which has the same event codes
136pub use NetworkPolicyMetricDimensionHttpStatus as ReachabilityGlobalSnapshotDurationMetricDimensionHttpStatus;
137
138#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
139pub struct ReachabilityGlobalSnapshotDurationEventCodes {
140  pub route_config: ReachabilityGlobalSnapshotDurationMetricDimensionRouteConfig,
141  pub internet_available: ReachabilityGlobalSnapshotDurationMetricDimensionInternetAvailable,
142  pub gateway_reachable: ReachabilityGlobalSnapshotDurationMetricDimensionGatewayReachable,
143  pub dns_active: ReachabilityGlobalSnapshotDurationMetricDimensionDnsActive,
144  pub http_status: ReachabilityGlobalSnapshotDurationMetricDimensionHttpStatus,
145}
146
147impl cobalt_client::traits::AsEventCodes for ReachabilityGlobalSnapshotDurationEventCodes {
148  fn as_event_codes(&self) -> Vec<u32> {
149    use cobalt_client::traits::AsEventCode;
150    vec![
151      self.route_config.as_event_code(),
152      self.internet_available.as_event_code(),
153      self.gateway_reachable.as_event_code(),
154      self.dns_active.as_event_code(),
155      self.http_status.as_event_code(),
156    ]
157  }
158}
159