1pub const CUSTOMER_NAME: &str = "fuchsia";
4pub const CUSTOMER_ID: u32 = 1;
5pub const PROJECT_NAME: &str = "time";
6pub const PROJECT_ID: u32 = 6;
7
8pub 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
13pub 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
18pub 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
23pub 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
28pub 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
33pub 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
38pub 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
43pub 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
48pub const TIMEKEEPER_LIFECYCLE_EVENTS_MIGRATED_METRIC_ID: u32 = 11;
51pub const TIMEKEEPER_TIME_SOURCE_EVENTS_MIGRATED_METRIC_ID: u32 = 12;
53pub const REAL_TIME_CLOCK_EVENTS_MIGRATED_METRIC_ID: u32 = 13;
55pub const HTTPSDATE_POLL_LATENCY_MIGRATED_METRIC_ID: u32 = 14;
57pub const HTTPSDATE_BOUND_SIZE_MIGRATED_METRIC_ID: u32 = 15;
59pub const TIMEKEEPER_TRACK_EVENTS_MIGRATED_METRIC_ID: u32 = 16;
61pub const TIMEKEEPER_SQRT_COVARIANCE_MIGRATED_METRIC_ID: u32 = 17;
63pub const TIMEKEEPER_CLOCK_CORRECTION_MIGRATED_METRIC_ID: u32 = 18;
65pub const TIMEKEEPER_MONITOR_DIFFERENCE_MIGRATED_METRIC_ID: u32 = 19;
67pub const HTTPSDATE_POLL_OFFSET_MIGRATED_METRIC_ID: u32 = 20;
69pub const TIMEKEEPER_FREQUENCY_ABS_ESTIMATE_MIGRATED_METRIC_ID: u32 = 24;
71
72#[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#[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#[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}
122pub use TimeMetricDimensionRole as TimekeeperTimeSourceEventsMigratedMetricDimensionRole;
124
125#[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}
138pub use TimeMetricDimensionExperiment as TimekeeperTimeSourceEventsMigratedMetricDimensionExperiment;
140
141pub use TimeMetricDimensionExperiment as TimekeeperTrackEventsMigratedMetricDimensionExperiment;
143
144pub use TimeMetricDimensionExperiment as TimekeeperSqrtCovarianceMigratedMetricDimensionExperiment;
146
147pub use TimeMetricDimensionExperiment as TimekeeperClockCorrectionMigratedMetricDimensionExperiment;
149
150pub use TimeMetricDimensionExperiment as TimekeeperMonitorDifferenceMigratedMetricDimensionExperiment;
152
153pub use TimeMetricDimensionExperiment as TimekeeperFrequencyAbsEstimateMigratedMetricDimensionExperiment;
155
156#[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#[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}
189pub use TimeMetricDimensionPhase as HttpsdateBoundSizeMigratedMetricDimensionPhase;
191
192#[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#[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}
231pub use TimeMetricDimensionTrack as TimekeeperTrackEventsMigratedMetricDimensionTrack;
233
234pub use TimeMetricDimensionTrack as TimekeeperSqrtCovarianceMigratedMetricDimensionTrack;
236
237pub use TimeMetricDimensionTrack as TimekeeperClockCorrectionMigratedMetricDimensionTrack;
239
240pub use TimeMetricDimensionTrack as TimekeeperFrequencyAbsEstimateMigratedMetricDimensionTrack;
242
243#[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}
255pub use TimeMetricDimensionDirection as TimekeeperClockCorrectionMigratedMetricDimensionDirection;
257
258pub use TimeMetricDimensionDirection as TimekeeperMonitorDifferenceMigratedMetricDimensionDirection;
260
261pub use TimeMetricDimensionDirection as HttpsdatePollOffsetMigratedMetricDimensionDirection;
263
264#[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}
276pub use TimeMetricDimensionRttBucket as HttpsdatePollOffsetMigratedMetricDimensionRttBucket;
278
279#[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}
292pub 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