time_metrics_registry/
time_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 = "time";
6pub const PROJECT_ID: u32 = 6;
7
8// Linear bucket constants for httpsdate_poll_latency_migrated
9pub const HTTPSDATE_POLL_LATENCY_MIGRATED_INT_BUCKETS_FLOOR: i64 = 0;
10pub const HTTPSDATE_POLL_LATENCY_MIGRATED_INT_BUCKETS_NUM_BUCKETS: u32 = 50;
11pub const HTTPSDATE_POLL_LATENCY_MIGRATED_INT_BUCKETS_STEP_SIZE: u32 = 20000;
12
13// Linear bucket constants for httpsdate_bound_size_migrated histogram
14pub const HTTPSDATE_BOUND_SIZE_MIGRATED_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
15pub const HTTPSDATE_BOUND_SIZE_MIGRATED_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 40;
16pub const HTTPSDATE_BOUND_SIZE_MIGRATED_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 50000;
17
18// Linear bucket constants for timekeeper_sqrt_covariance_migrated histogram
19pub const TIMEKEEPER_SQRT_COVARIANCE_MIGRATED_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
20pub const TIMEKEEPER_SQRT_COVARIANCE_MIGRATED_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 200;
21pub const TIMEKEEPER_SQRT_COVARIANCE_MIGRATED_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 5000;
22
23// Linear bucket constants for timekeeper_clock_correction_migrated fine_histogram
24pub const TIMEKEEPER_CLOCK_CORRECTION_MIGRATED_FINE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
25pub const TIMEKEEPER_CLOCK_CORRECTION_MIGRATED_FINE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 200;
26pub const TIMEKEEPER_CLOCK_CORRECTION_MIGRATED_FINE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 5000;
27
28// Linear bucket constants for timekeeper_clock_correction_migrated coarse_histogram
29pub const TIMEKEEPER_CLOCK_CORRECTION_MIGRATED_COARSE_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 1000000;
30pub const TIMEKEEPER_CLOCK_CORRECTION_MIGRATED_COARSE_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 59;
31pub const TIMEKEEPER_CLOCK_CORRECTION_MIGRATED_COARSE_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1000000;
32
33// Linear bucket constants for timekeeper_monitor_difference_migrated histogram
34pub const TIMEKEEPER_MONITOR_DIFFERENCE_MIGRATED_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
35pub const TIMEKEEPER_MONITOR_DIFFERENCE_MIGRATED_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 100;
36pub const TIMEKEEPER_MONITOR_DIFFERENCE_MIGRATED_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 20000;
37
38// Linear bucket constants for httpsdate_poll_offset_migrated histogram
39pub const HTTPSDATE_POLL_OFFSET_MIGRATED_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 0;
40pub const HTTPSDATE_POLL_OFFSET_MIGRATED_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 100;
41pub const HTTPSDATE_POLL_OFFSET_MIGRATED_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 10000;
42
43// Linear bucket constants for timekeeper_frequency_abs_estimate_migrated histogram
44pub const TIMEKEEPER_FREQUENCY_ABS_ESTIMATE_MIGRATED_HISTOGRAM_INT_BUCKETS_FLOOR: i64 = 999800;
45pub const TIMEKEEPER_FREQUENCY_ABS_ESTIMATE_MIGRATED_HISTOGRAM_INT_BUCKETS_NUM_BUCKETS: u32 = 400;
46pub const TIMEKEEPER_FREQUENCY_ABS_ESTIMATE_MIGRATED_HISTOGRAM_INT_BUCKETS_STEP_SIZE: u32 = 1;
47
48// Metric ID Constants
49// timekeeper_lifecycle_events_migrated
50pub const TIMEKEEPER_LIFECYCLE_EVENTS_MIGRATED_METRIC_ID: u32 = 11;
51// timekeeper_time_source_events_migrated
52pub const TIMEKEEPER_TIME_SOURCE_EVENTS_MIGRATED_METRIC_ID: u32 = 12;
53// real_time_clock_events_migrated
54pub const REAL_TIME_CLOCK_EVENTS_MIGRATED_METRIC_ID: u32 = 13;
55// httpsdate_poll_latency_migrated
56pub const HTTPSDATE_POLL_LATENCY_MIGRATED_METRIC_ID: u32 = 14;
57// httpsdate_bound_size_migrated
58pub const HTTPSDATE_BOUND_SIZE_MIGRATED_METRIC_ID: u32 = 15;
59// timekeeper_track_events_migrated
60pub const TIMEKEEPER_TRACK_EVENTS_MIGRATED_METRIC_ID: u32 = 16;
61// timekeeper_sqrt_covariance_migrated
62pub const TIMEKEEPER_SQRT_COVARIANCE_MIGRATED_METRIC_ID: u32 = 17;
63// timekeeper_clock_correction_migrated
64pub const TIMEKEEPER_CLOCK_CORRECTION_MIGRATED_METRIC_ID: u32 = 18;
65// timekeeper_monitor_difference_migrated
66pub const TIMEKEEPER_MONITOR_DIFFERENCE_MIGRATED_METRIC_ID: u32 = 19;
67// httpsdate_poll_offset_migrated
68pub const HTTPSDATE_POLL_OFFSET_MIGRATED_METRIC_ID: u32 = 20;
69// timekeeper_frequency_abs_estimate_migrated
70pub const TIMEKEEPER_FREQUENCY_ABS_ESTIMATE_MIGRATED_METRIC_ID: u32 = 24;
71
72// Enum for timekeeper_lifecycle_events_migrated (Metric Dimension event_type)
73#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
74pub enum TimekeeperLifecycleEventsMigratedMetricDimensionEventType {
75  InitializedBeforeUtcStart = 0,
76  InitializedAfterUtcStart = 1,
77  ReadFromStash = 2,
78  StartedUtcFromTimeSource = 3,
79  StartedUtcFromRtc = 4,
80}
81
82impl cobalt_client::traits::AsEventCode for TimekeeperLifecycleEventsMigratedMetricDimensionEventType {
83  fn as_event_code(&self) -> u32 {
84    *self as u32
85  }
86}
87
88// Enum for timekeeper_time_source_events_migrated (Metric Dimension event_type)
89#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
90pub enum TimekeeperTimeSourceEventsMigratedMetricDimensionEventType {
91  SampleRejectedStatusNotOk = 0,
92  SampleRejectedMonotonicInFuture = 1,
93  SampleRejectedMonotonicTooOld = 2,
94  SampleRejectedBeforeBackstop = 3,
95  SampleRejectedTooCloseToPrevious = 4,
96  LaunchFailed = 5,
97  RestartedStreamFailed = 6,
98  RestartedCallFailed = 7,
99  RestartedSampleTimeOut = 8,
100}
101
102impl cobalt_client::traits::AsEventCode for TimekeeperTimeSourceEventsMigratedMetricDimensionEventType {
103  fn as_event_code(&self) -> u32 {
104    *self as u32
105  }
106}
107
108// Enum for time (Metric Dimension role)
109#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
110pub enum TimeMetricDimensionRole {
111  Primary = 0,
112  Fallback = 1,
113  Gating = 2,
114  Monitor = 3,
115}
116
117impl cobalt_client::traits::AsEventCode for TimeMetricDimensionRole {
118  fn as_event_code(&self) -> u32 {
119    *self as u32
120  }
121}
122// Alias for timekeeper_time_source_events_migrated (Metric Dimension role) which has the same event codes
123pub use TimeMetricDimensionRole as TimekeeperTimeSourceEventsMigratedMetricDimensionRole;
124
125// Enum for time (Metric Dimension experiment)
126#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
127pub enum TimeMetricDimensionExperiment {
128  None = 0,
129  A = 1,
130  B = 2,
131}
132
133impl cobalt_client::traits::AsEventCode for TimeMetricDimensionExperiment {
134  fn as_event_code(&self) -> u32 {
135    *self as u32
136  }
137}
138// Alias for timekeeper_time_source_events_migrated (Metric Dimension experiment) which has the same event codes
139pub use TimeMetricDimensionExperiment as TimekeeperTimeSourceEventsMigratedMetricDimensionExperiment;
140
141// Alias for timekeeper_track_events_migrated (Metric Dimension experiment) which has the same event codes
142pub use TimeMetricDimensionExperiment as TimekeeperTrackEventsMigratedMetricDimensionExperiment;
143
144// Alias for timekeeper_sqrt_covariance_migrated (Metric Dimension experiment) which has the same event codes
145pub use TimeMetricDimensionExperiment as TimekeeperSqrtCovarianceMigratedMetricDimensionExperiment;
146
147// Alias for timekeeper_clock_correction_migrated (Metric Dimension experiment) which has the same event codes
148pub use TimeMetricDimensionExperiment as TimekeeperClockCorrectionMigratedMetricDimensionExperiment;
149
150// Alias for timekeeper_monitor_difference_migrated (Metric Dimension experiment) which has the same event codes
151pub use TimeMetricDimensionExperiment as TimekeeperMonitorDifferenceMigratedMetricDimensionExperiment;
152
153// Alias for timekeeper_frequency_abs_estimate_migrated (Metric Dimension experiment) which has the same event codes
154pub use TimeMetricDimensionExperiment as TimekeeperFrequencyAbsEstimateMigratedMetricDimensionExperiment;
155
156// Enum for real_time_clock_events_migrated (Metric Dimension event_type)
157#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
158pub enum RealTimeClockEventsMigratedMetricDimensionEventType {
159  NoDevices = 0,
160  MultipleDevices = 1,
161  ConnectionFailed = 2,
162  ReadFailed = 3,
163  ReadInvalidBeforeBackstop = 4,
164  ReadSucceeded = 5,
165  WriteFailed = 6,
166  WriteSucceeded = 7,
167  StartedFromBackstop = 8,
168}
169
170impl cobalt_client::traits::AsEventCode for RealTimeClockEventsMigratedMetricDimensionEventType {
171  fn as_event_code(&self) -> u32 {
172    *self as u32
173  }
174}
175
176// Enum for time (Metric Dimension phase)
177#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
178pub enum TimeMetricDimensionPhase {
179  Initial = 0,
180  Converge = 1,
181  Maintain = 2,
182}
183
184impl cobalt_client::traits::AsEventCode for TimeMetricDimensionPhase {
185  fn as_event_code(&self) -> u32 {
186    *self as u32
187  }
188}
189// Alias for httpsdate_bound_size_migrated (Metric Dimension phase) which has the same event codes
190pub use TimeMetricDimensionPhase as HttpsdateBoundSizeMigratedMetricDimensionPhase;
191
192// Enum for timekeeper_track_events_migrated (Metric Dimension event_type)
193#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
194pub enum TimekeeperTrackEventsMigratedMetricDimensionEventType {
195  EstimatedOffsetUpdated = 0,
196  EstimatedFrequencyUpdated = 1,
197  CorrectionNotRequired = 2,
198  CorrectionByStep = 3,
199  CorrectionByNominalRateSlew = 4,
200  CorrectionByMaxDurationSlew = 5,
201  ClockUpdateTimeStep = 6,
202  ClockUpdateBeginSlew = 7,
203  ClockUpdateEndSlew = 8,
204  ClockUpdateReduceError = 9,
205  ClockUpdateIncreaseError = 10,
206  ClockUpdateChangeFrequency = 11,
207  FrequencyWindowDiscardedBeforeWindow = 12,
208  FrequencyWindowDiscardedSampleCount = 13,
209  FrequencyWindowDiscardedLeapSecond = 14,
210  MaxErrorBoundSet = 15,
211}
212
213impl cobalt_client::traits::AsEventCode for TimekeeperTrackEventsMigratedMetricDimensionEventType {
214  fn as_event_code(&self) -> u32 {
215    *self as u32
216  }
217}
218
219// Enum for time (Metric Dimension track)
220#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
221pub enum TimeMetricDimensionTrack {
222  Primary = 0,
223  Monitor = 1,
224}
225
226impl cobalt_client::traits::AsEventCode for TimeMetricDimensionTrack {
227  fn as_event_code(&self) -> u32 {
228    *self as u32
229  }
230}
231// Alias for timekeeper_track_events_migrated (Metric Dimension track) which has the same event codes
232pub use TimeMetricDimensionTrack as TimekeeperTrackEventsMigratedMetricDimensionTrack;
233
234// Alias for timekeeper_sqrt_covariance_migrated (Metric Dimension track) which has the same event codes
235pub use TimeMetricDimensionTrack as TimekeeperSqrtCovarianceMigratedMetricDimensionTrack;
236
237// Alias for timekeeper_clock_correction_migrated (Metric Dimension track) which has the same event codes
238pub use TimeMetricDimensionTrack as TimekeeperClockCorrectionMigratedMetricDimensionTrack;
239
240// Alias for timekeeper_frequency_abs_estimate_migrated (Metric Dimension track) which has the same event codes
241pub use TimeMetricDimensionTrack as TimekeeperFrequencyAbsEstimateMigratedMetricDimensionTrack;
242
243// Enum for time (Metric Dimension direction)
244#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
245pub enum TimeMetricDimensionDirection {
246  Negative = 0,
247  Positive = 1,
248}
249
250impl cobalt_client::traits::AsEventCode for TimeMetricDimensionDirection {
251  fn as_event_code(&self) -> u32 {
252    *self as u32
253  }
254}
255// Alias for timekeeper_clock_correction_migrated (Metric Dimension direction) which has the same event codes
256pub use TimeMetricDimensionDirection as TimekeeperClockCorrectionMigratedMetricDimensionDirection;
257
258// Alias for timekeeper_monitor_difference_migrated (Metric Dimension direction) which has the same event codes
259pub use TimeMetricDimensionDirection as TimekeeperMonitorDifferenceMigratedMetricDimensionDirection;
260
261// Alias for httpsdate_poll_offset_migrated (Metric Dimension direction) which has the same event codes
262pub use TimeMetricDimensionDirection as HttpsdatePollOffsetMigratedMetricDimensionDirection;
263
264// Enum for time (Metric Dimension rtt_bucket)
265#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
266pub enum TimeMetricDimensionRttBucket {
267  Underflow = 0,
268  Overflow = 101,
269}
270
271impl cobalt_client::traits::AsEventCode for TimeMetricDimensionRttBucket {
272  fn as_event_code(&self) -> u32 {
273    *self as u32
274  }
275}
276// Alias for httpsdate_poll_offset_migrated (Metric Dimension rtt_bucket) which has the same event codes
277pub use TimeMetricDimensionRttBucket as HttpsdatePollOffsetMigratedMetricDimensionRttBucket;
278
279// Enum for time (Metric Dimension iteration)
280#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
281pub enum TimeMetricDimensionIteration {
282  First = 0,
283  Second = 1,
284  Subsequent = 2,
285}
286
287impl cobalt_client::traits::AsEventCode for TimeMetricDimensionIteration {
288  fn as_event_code(&self) -> u32 {
289    *self as u32
290  }
291}
292// Alias for timekeeper_frequency_abs_estimate_migrated (Metric Dimension iteration) which has the same event codes
293pub use TimeMetricDimensionIteration as TimekeeperFrequencyAbsEstimateMigratedMetricDimensionIteration;
294
295#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
296pub struct TimekeeperTimeSourceEventsMigratedEventCodes {
297  pub event_type: TimekeeperTimeSourceEventsMigratedMetricDimensionEventType,
298  pub role: TimekeeperTimeSourceEventsMigratedMetricDimensionRole,
299  pub experiment: TimekeeperTimeSourceEventsMigratedMetricDimensionExperiment,
300}
301
302impl cobalt_client::traits::AsEventCodes for TimekeeperTimeSourceEventsMigratedEventCodes {
303  fn as_event_codes(&self) -> Vec<u32> {
304    use cobalt_client::traits::AsEventCode;
305    vec![
306      self.event_type.as_event_code(),
307      self.role.as_event_code(),
308      self.experiment.as_event_code(),
309    ]
310  }
311}
312
313#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
314pub struct TimekeeperTrackEventsMigratedEventCodes {
315  pub event_type: TimekeeperTrackEventsMigratedMetricDimensionEventType,
316  pub track: TimekeeperTrackEventsMigratedMetricDimensionTrack,
317  pub experiment: TimekeeperTrackEventsMigratedMetricDimensionExperiment,
318}
319
320impl cobalt_client::traits::AsEventCodes for TimekeeperTrackEventsMigratedEventCodes {
321  fn as_event_codes(&self) -> Vec<u32> {
322    use cobalt_client::traits::AsEventCode;
323    vec![
324      self.event_type.as_event_code(),
325      self.track.as_event_code(),
326      self.experiment.as_event_code(),
327    ]
328  }
329}
330
331#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
332pub struct TimekeeperSqrtCovarianceMigratedEventCodes {
333  pub track: TimekeeperSqrtCovarianceMigratedMetricDimensionTrack,
334  pub experiment: TimekeeperSqrtCovarianceMigratedMetricDimensionExperiment,
335}
336
337impl cobalt_client::traits::AsEventCodes for TimekeeperSqrtCovarianceMigratedEventCodes {
338  fn as_event_codes(&self) -> Vec<u32> {
339    use cobalt_client::traits::AsEventCode;
340    vec![
341      self.track.as_event_code(),
342      self.experiment.as_event_code(),
343    ]
344  }
345}
346
347#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
348pub struct TimekeeperClockCorrectionMigratedEventCodes {
349  pub direction: TimekeeperClockCorrectionMigratedMetricDimensionDirection,
350  pub track: TimekeeperClockCorrectionMigratedMetricDimensionTrack,
351  pub experiment: TimekeeperClockCorrectionMigratedMetricDimensionExperiment,
352}
353
354impl cobalt_client::traits::AsEventCodes for TimekeeperClockCorrectionMigratedEventCodes {
355  fn as_event_codes(&self) -> Vec<u32> {
356    use cobalt_client::traits::AsEventCode;
357    vec![
358      self.direction.as_event_code(),
359      self.track.as_event_code(),
360      self.experiment.as_event_code(),
361    ]
362  }
363}
364
365#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
366pub struct TimekeeperMonitorDifferenceMigratedEventCodes {
367  pub direction: TimekeeperMonitorDifferenceMigratedMetricDimensionDirection,
368  pub experiment: TimekeeperMonitorDifferenceMigratedMetricDimensionExperiment,
369}
370
371impl cobalt_client::traits::AsEventCodes for TimekeeperMonitorDifferenceMigratedEventCodes {
372  fn as_event_codes(&self) -> Vec<u32> {
373    use cobalt_client::traits::AsEventCode;
374    vec![
375      self.direction.as_event_code(),
376      self.experiment.as_event_code(),
377    ]
378  }
379}
380
381#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
382pub struct HttpsdatePollOffsetMigratedEventCodes {
383  pub rtt_bucket: HttpsdatePollOffsetMigratedMetricDimensionRttBucket,
384  pub direction: HttpsdatePollOffsetMigratedMetricDimensionDirection,
385}
386
387impl cobalt_client::traits::AsEventCodes for HttpsdatePollOffsetMigratedEventCodes {
388  fn as_event_codes(&self) -> Vec<u32> {
389    use cobalt_client::traits::AsEventCode;
390    vec![
391      self.rtt_bucket.as_event_code(),
392      self.direction.as_event_code(),
393    ]
394  }
395}
396
397#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
398pub struct TimekeeperFrequencyAbsEstimateMigratedEventCodes {
399  pub iteration: TimekeeperFrequencyAbsEstimateMigratedMetricDimensionIteration,
400  pub track: TimekeeperFrequencyAbsEstimateMigratedMetricDimensionTrack,
401  pub experiment: TimekeeperFrequencyAbsEstimateMigratedMetricDimensionExperiment,
402}
403
404impl cobalt_client::traits::AsEventCodes for TimekeeperFrequencyAbsEstimateMigratedEventCodes {
405  fn as_event_codes(&self) -> Vec<u32> {
406    use cobalt_client::traits::AsEventCode;
407    vec![
408      self.iteration.as_event_code(),
409      self.track.as_event_code(),
410      self.experiment.as_event_code(),
411    ]
412  }
413}
414