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 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
38pub 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
43pub const TIMEKEEPER_LIFECYCLE_EVENTS_MIGRATED_METRIC_ID: u32 = 11;
46pub const TIMEKEEPER_TIME_SOURCE_EVENTS_MIGRATED_METRIC_ID: u32 = 12;
48pub const REAL_TIME_CLOCK_EVENTS_MIGRATED_METRIC_ID: u32 = 13;
50pub const HTTPSDATE_POLL_LATENCY_MIGRATED_METRIC_ID: u32 = 14;
52pub const HTTPSDATE_BOUND_SIZE_MIGRATED_METRIC_ID: u32 = 15;
54pub const TIMEKEEPER_TRACK_EVENTS_MIGRATED_METRIC_ID: u32 = 16;
56pub const TIMEKEEPER_SQRT_COVARIANCE_MIGRATED_METRIC_ID: u32 = 17;
58pub const TIMEKEEPER_CLOCK_CORRECTION_MIGRATED_METRIC_ID: u32 = 18;
60pub const HTTPSDATE_POLL_OFFSET_MIGRATED_METRIC_ID: u32 = 20;
62pub const TIMEKEEPER_FREQUENCY_ABS_ESTIMATE_MIGRATED_METRIC_ID: u32 = 24;
64
65#[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#[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#[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}
115pub use TimeMetricDimensionRole as TimekeeperTimeSourceEventsMigratedMetricDimensionRole;
117
118#[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}
131pub use TimeMetricDimensionExperiment as TimekeeperTimeSourceEventsMigratedMetricDimensionExperiment;
133
134pub use TimeMetricDimensionExperiment as TimekeeperTrackEventsMigratedMetricDimensionExperiment;
136
137pub use TimeMetricDimensionExperiment as TimekeeperSqrtCovarianceMigratedMetricDimensionExperiment;
139
140pub use TimeMetricDimensionExperiment as TimekeeperClockCorrectionMigratedMetricDimensionExperiment;
142
143pub use TimeMetricDimensionExperiment as TimekeeperFrequencyAbsEstimateMigratedMetricDimensionExperiment;
145
146#[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#[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}
179pub use TimeMetricDimensionPhase as HttpsdateBoundSizeMigratedMetricDimensionPhase;
181
182#[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#[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}
221pub use TimeMetricDimensionTrack as TimekeeperTrackEventsMigratedMetricDimensionTrack;
223
224pub use TimeMetricDimensionTrack as TimekeeperSqrtCovarianceMigratedMetricDimensionTrack;
226
227pub use TimeMetricDimensionTrack as TimekeeperClockCorrectionMigratedMetricDimensionTrack;
229
230pub use TimeMetricDimensionTrack as TimekeeperFrequencyAbsEstimateMigratedMetricDimensionTrack;
232
233#[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}
245pub use TimeMetricDimensionDirection as TimekeeperClockCorrectionMigratedMetricDimensionDirection;
247
248pub use TimeMetricDimensionDirection as HttpsdatePollOffsetMigratedMetricDimensionDirection;
250
251#[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}
263pub use TimeMetricDimensionRttBucket as HttpsdatePollOffsetMigratedMetricDimensionRttBucket;
265
266#[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}
279pub 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