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  HttpOnly = 2,
124  HttpsOnly = 3,
125  Both = 4,
126}
127
128impl cobalt_client::traits::AsEventCode for NetworkPolicyMetricDimensionHttpStatus {
129  fn as_event_code(&self) -> u32 {
130    *self as u32
131  }
132}
133// Alias for reachability_global_snapshot_duration (Metric Dimension http_status) which has the same event codes
134pub use NetworkPolicyMetricDimensionHttpStatus as ReachabilityGlobalSnapshotDurationMetricDimensionHttpStatus;
135
136#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
137pub struct ReachabilityGlobalSnapshotDurationEventCodes {
138  pub route_config: ReachabilityGlobalSnapshotDurationMetricDimensionRouteConfig,
139  pub internet_available: ReachabilityGlobalSnapshotDurationMetricDimensionInternetAvailable,
140  pub gateway_reachable: ReachabilityGlobalSnapshotDurationMetricDimensionGatewayReachable,
141  pub dns_active: ReachabilityGlobalSnapshotDurationMetricDimensionDnsActive,
142  pub http_status: ReachabilityGlobalSnapshotDurationMetricDimensionHttpStatus,
143}
144
145impl cobalt_client::traits::AsEventCodes for ReachabilityGlobalSnapshotDurationEventCodes {
146  fn as_event_codes(&self) -> Vec<u32> {
147    use cobalt_client::traits::AsEventCode;
148    vec![
149      self.route_config.as_event_code(),
150      self.internet_available.as_event_code(),
151      self.gateway_reachable.as_event_code(),
152      self.dns_active.as_event_code(),
153      self.http_status.as_event_code(),
154    ]
155  }
156}
157