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