blob: 678755b0d4fc8877ff7a78393d23b8b1b2c4e14e [file] [log] [blame]
# Copyright 2020 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
metric_definitions:
################################################################################
# Life Cycle events for Timekeeper.
#
# An event is generated when certain key conditions are met during the execution
# of Timekeeper. These events are infrequent, with each occurring at most once
# per instantiation of the Timekeeper component.
################################################################################
- id: 1
replacement_metric_id: 11
metric_name: timekeeper_lifecycle_events
metric_type: EVENT_OCCURRED
metric_dimensions: &tle_dimensions
- dimension: event_type
event_codes:
# Timekeeper was initialized before the UTC clock had been started.
# This is the expected initialization path.
0: InitializedBeforeUtcStart
# Timekeeper was initialized after the UTC clock was already started,
# probably indicating Timekeeper has been restarted.
1: InitializedAfterUtcStart
# Timekeeper successfully read performance data from the stash.
2: ReadFromStash
# Timekeeper started the UTC clock using data it received from a time
# source.
3: StartedUtcFromTimeSource
# Timekeeper started the UTC clock using data from the real time clock.
4: StartedUtcFromRtc
max_event_code: 31
reports:
- report_name: counts
id: 1
report_type: SIMPLE_OCCURRENCE_COUNT
local_privacy_noise_level: NONE
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: n_day_actives
id: 2
report_type: UNIQUE_N_DAY_ACTIVES
local_privacy_noise_level: NONE
window_size:
- 1
- 7
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/07/15"
- id: 11
metric_name: timekeeper_lifecycle_events_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING, OUTSIDE_ENVIRONMENT]
metric_dimensions: *tle_dimensions
reports:
- report_name: counts
id: 1
report_type: FLEETWIDE_OCCURRENCE_COUNTS
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: n_day_actives_1day
id: 2
report_type: UNIQUE_DEVICE_COUNTS
local_aggregation_period: WINDOW_1_DAY
local_aggregation_procedure: AT_LEAST_ONCE
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: n_day_actives_7day
id: 3
report_type: UNIQUE_DEVICE_COUNTS
local_aggregation_period: WINDOW_7_DAYS
local_aggregation_procedure: AT_LEAST_ONCE
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/07/15"
################################################################################
# Time source events for Timekeeper.
#
# This metric covers all pertinent events associated with one of the input
# sources to Timekeeper. Events are generated for each failure of a time source
# and for each rejection of a sample received from the time source.
################################################################################
- id: 2
replacement_metric_id: 12
metric_name: timekeeper_time_source_events
metric_type: EVENT_COUNT
metric_dimensions: &ttse_dimensions
- dimension: event_type
event_codes:
0: SampleRejectedStatusNotOk
1: SampleRejectedMonotonicInFuture
2: SampleRejectedMonotonicTooOld
3: SampleRejectedBeforeBackstop
4: SampleRejectedTooCloseToPrevious
5: LaunchFailed
6: RestartedStreamFailed
7: RestartedCallFailed
8: RestartedSampleTimeOut
max_event_code: 31
- dimension: role
event_codes: &roles
0: Primary
1: Fallback
2: Gating
3: Monitor
- dimension: experiment
# Product and role are sufficient to identify which time source produced a
# particular event, except for cases where an experiment or partial
# rollout is in progress. The experiment dimension is used to distinguish
# between the potential options in these cases.
event_codes: &experiments
0: None
1: A
2: B
reports:
- report_name: per_device_stats
id: 1
report_type: PER_DEVICE_NUMERIC_STATS
window_size:
- 1
- 7
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/07/15"
- id: 12
metric_name: timekeeper_time_source_events_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING, OUTSIDE_ENVIRONMENT]
metric_dimensions: *ttse_dimensions
reports:
- report_name: per_device_stats_1day
id: 1
report_type: UNIQUE_DEVICE_NUMERIC_STATS
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: per_device_stats_7day
id: 2
report_type: UNIQUE_DEVICE_NUMERIC_STATS
local_aggregation_period: WINDOW_7_DAYS
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/07/15"
################################################################################
# Real Time Clock events.
#
# A single read or failure event is generated during Timekeeper initialization,
# one or more write events may occur after initialization as time is updated.
################################################################################
- id: 3
replacement_metric_id: 13
metric_name: real_time_clock_events
metric_type: EVENT_OCCURRED
metric_dimensions: &rtce_dimensions
- dimension: event_type
event_codes:
# No real time clock devices could be found. No reads or writes will
# be attempted.
0: NoDevices
# More than one real time clock device was found. Since the correct
# clock could not be determined no reads or writes will be attemped.
1: MultipleDevices
# A single RTC was found but a connection could not be established.
# No reads or writes will be attempted.
2: ConnectionFailed
# A read of the RTC failed.
3: ReadFailed
# A read of the RTC succeeded but the returned value was less than the
# minimum allowed time.
4: ReadInvalidBeforeBackstop
# A valid time was read from the RTC. Note this does not imply the
# system used the RTC time.
5: ReadSucceeded
# A write to the RTC failed.
6: WriteFailed
# A write to the RTC succeeded.
7: WriteSucceeded
max_event_code: 15
reports:
- report_name: counts
id: 1
report_type: SIMPLE_OCCURRENCE_COUNT
local_privacy_noise_level: NONE
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: n_day_actives
id: 2
report_type: UNIQUE_N_DAY_ACTIVES
local_privacy_noise_level: NONE
window_size:
- 1
- 7
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/08/17"
- id: 13
metric_name: real_time_clock_events_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING, OUTSIDE_ENVIRONMENT]
metric_dimensions: *rtce_dimensions
reports:
- report_name: counts
id: 1
report_type: FLEETWIDE_OCCURRENCE_COUNTS
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: n_day_actives_1day
id: 2
report_type: UNIQUE_DEVICE_COUNTS
local_aggregation_period: WINDOW_1_DAY
local_aggregation_procedure: AT_LEAST_ONCE
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: n_day_actives_7day
id: 3
report_type: UNIQUE_DEVICE_COUNTS
local_aggregation_period: WINDOW_7_DAYS
local_aggregation_procedure: AT_LEAST_ONCE
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/08/17"
################################################################################
# HTTPSDate time source poll latency, in microseconds.
#
# Round trip times observed while polling a server in microseconds.
################################################################################
- id: 4
replacement_metric_id: 14
metric_name: httpsdate_poll_latency
metric_type: INT_HISTOGRAM
int_buckets: &hpl_buckets
linear:
floor: 0
num_buckets: 50 # 1 second
step_size: 20000 # 20 ms
reports:
- report_name: histogram
id: 1
report_type: INT_RANGE_HISTOGRAM
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/10/15"
- id: 14
metric_name: httpsdate_poll_latency_migrated
metric_type: INTEGER_HISTOGRAM
metric_units: MICROSECONDS
metric_semantics: [LATENCY, NETWORK_COMMUNICATION]
int_buckets: *hpl_buckets
reports:
- report_name: histogram
id: 1
report_type: FLEETWIDE_HISTOGRAMS
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/10/15"
################################################################################
# HTTPSDate time source bound size, in microseconds.
#
# Size of the final bounds produced for a single sample in microseconds. Serves
# as a measure of the accuracy achieved by HTTPSDate.
################################################################################
- id: 5
replacement_metric_id: 15
metric_name: httpsdate_bound_size
metric_type: EVENT_COUNT
metric_dimensions: &hbs_dimensions
- dimension: phase
event_codes:
0: Initial
1: Converge
2: Maintain
reports:
- report_name: percentiles
id: 1
report_type: NUMERIC_AGGREGATION
percentiles: [50, 90, 95, 99]
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: histogram
id: 2
report_type: INT_RANGE_HISTOGRAM
int_buckets: &hbs_h_buckets
linear:
floor: 0
num_buckets: 40 # 2 seconds
step_size: 50000 # 50 ms
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/10/15"
- id: 15
metric_name: httpsdate_bound_size_migrated
metric_type: INTEGER
metric_units: MICROSECONDS
metric_semantics: [OUTSIDE_ENVIRONMENT]
metric_dimensions: *hbs_dimensions
reports:
- report_name: hourly_device_maximum
id: 1
report_type: HOURLY_VALUE_NUMERIC_STATS
local_aggregation_procedure: MAX_PROCEDURE
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: histogram
id: 2
report_type: FLEETWIDE_HISTOGRAMS
int_buckets: *hbs_h_buckets
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/10/15"
################################################################################
# Track events for Timekeeper.
#
# This metric covers all pertinent events associated with one of the two time
# tracks inside Timekeeper. An event is generated for each estimate update,
# clock correction decision, and clock update.
################################################################################
- id: 6
replacement_metric_id: 16
metric_name: timekeeper_track_events
metric_type: EVENT_COUNT
metric_dimensions: &tte_dimensions
- dimension: event_type
event_codes:
0: EstimatedOffsetUpdated
1: EstimatedFrequencyUpdated
2: CorrectionNotRequired
3: CorrectionByStep
4: CorrectionByNominalRateSlew
5: CorrectionByMaxDurationSlew
6: ClockUpdateTimeStep
7: ClockUpdateBeginSlew
8: ClockUpdateEndSlew
9: ClockUpdateReduceError
10: ClockUpdateIncreaseError
11: ClockUpdateChangeFrequency
12: FrequencyWindowDiscardedBeforeWindow
13: FrequencyWindowDiscardedSampleCount
14: FrequencyWindowDiscardedLeapSecond
max_event_code: 31
- dimension: track
event_codes: &tracks
0: Primary
1: Monitor
- dimension: experiment
event_codes: *experiments
reports:
- report_name: per_device_stats
id: 1
report_type: PER_DEVICE_NUMERIC_STATS
window_size:
- 1
- 7
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/10/25"
- id: 16
metric_name: timekeeper_track_events_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions: *tte_dimensions
reports:
- report_name: per_device_stats_1day
id: 1
report_type: UNIQUE_DEVICE_NUMERIC_STATS
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: per_device_stats_7day
id: 2
report_type: UNIQUE_DEVICE_NUMERIC_STATS
local_aggregation_period: WINDOW_7_DAYS
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/10/25"
################################################################################
# Square root of Timekeeper Kalman filter covariance, in microseconds.
#
# Records the square root of covariance in the Kalman filter after each
# successful estimate update. Note the initial covariance is not reported,
# partly to avoid poluting the significantly lower covariances produced during
# updates, partly since it can be directly determined from the time source
# output uncertainty.
################################################################################
- id: 7
replacement_metric_id: 17
metric_name: timekeeper_sqrt_covariance
metric_type: EVENT_COUNT
metric_dimensions: &tsc_dimensions
- dimension: track
event_codes: *tracks
- dimension: experiment
event_codes: *experiments
reports:
- report_name: percentiles
id: 1
report_type: NUMERIC_AGGREGATION
percentiles: [50, 90, 95, 99]
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: histogram
id: 2
report_type: INT_RANGE_HISTOGRAM
int_buckets: &tsc_h_buckets
linear:
floor: 0
num_buckets: 200 # 1 second
step_size: 5000 # 5 ms
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/10/25"
- id: 17
metric_name: timekeeper_sqrt_covariance_migrated
metric_type: INTEGER
metric_units: MICROSECONDS
metric_semantics: [OUTSIDE_ENVIRONMENT]
metric_dimensions: *tsc_dimensions
reports:
- report_name: hourly_device_minimum
id: 1
report_type: HOURLY_VALUE_NUMERIC_STATS
local_aggregation_procedure: MIN_PROCEDURE
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: hourly_device_maximum
id: 2
report_type: HOURLY_VALUE_NUMERIC_STATS
local_aggregation_procedure: MAX_PROCEDURE
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: histogram
id: 3
report_type: FLEETWIDE_HISTOGRAMS
int_buckets: *tsc_h_buckets
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/10/25"
################################################################################
# Timekeeper clock corrections, in microseconds.
#
# Records the magnitude (in microseconds) and direction of each update to be
# applied to a clock that has previously been initialized from some time source.
# Note that these corrections might either be applied by stepping or slewing the
# clock.
################################################################################
- id: 8
replacement_metric_id: 18
metric_name: timekeeper_clock_correction
metric_type: EVENT_COUNT
metric_dimensions: &tcc_dimensions
- dimension: direction
event_codes:
# Reduce the clock time, i.e. correct a clock that was too fast.
0: Negative
# Increase the clock time, i.e. correct a clock that was too slow.
1: Positive
- dimension: track
event_codes: *tracks
- dimension: experiment
event_codes: *experiments
reports:
- report_name: percentiles
id: 1
report_type: NUMERIC_AGGREGATION
percentiles: [50, 90, 95, 99]
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: fine_histogram
id: 2
report_type: INT_RANGE_HISTOGRAM
int_buckets: &tcc_fh_buckets
linear:
floor: 0
num_buckets: 200 # 1 second
step_size: 5000 # 5 ms
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: coarse_histogram
id: 3
report_type: INT_RANGE_HISTOGRAM
int_buckets: &tcc_ch_buckets
linear:
floor: 1000000 # 1 second
num_buckets: 59 # 1 minute
step_size: 1000000 # 1 second
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/10/25"
- id: 18
metric_name: timekeeper_clock_correction_migrated
metric_type: INTEGER
metric_units: MICROSECONDS
metric_semantics: [OUTSIDE_ENVIRONMENT]
metric_dimensions: *tcc_dimensions
reports:
- report_name: hourly_device_maximum
id: 1
report_type: HOURLY_VALUE_NUMERIC_STATS
local_aggregation_procedure: MAX_PROCEDURE
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: fine_histogram
id: 2
report_type: FLEETWIDE_HISTOGRAMS
int_buckets: *tcc_fh_buckets
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: coarse_histogram
id: 3
report_type: FLEETWIDE_HISTOGRAMS
int_buckets: *tcc_ch_buckets
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/10/25"
################################################################################
# Timekeeper frequency estimates, as a parts per million deviation.
#
# NOTE: THESE METRICS SUFFERED FROM A SIGNED/UNSIGNED MISMATCH IN THE COBALT
# DEFINITIONS AND THEIR DATA IS CORRUPTED. THEY WILL BE REMOVED ONCE ALL DEVICES
# HAVE SUCCESSFULLY MIGRATED TO THE REPLACEMENT METRICS BELOW.
#
# Records a change to the estimated local oscillator frequency as calculated by
# Timekeeper for a particular time track. Values are expressed as a ppm
# deviation from the nominal one utc nanosecond per monotonic nanosecond, with
# positive values indicating a higher than 1,000,000ppm tick rate,
# i.e. compensation for an oscillator that is running slow.
################################################################################
- id: 21
replacement_metric_id: 22
metric_name: timekeeper_frequency_estimate
metric_type: EVENT_COUNT
metric_dimensions: &tfe_dimensions
- dimension: iteration
event_codes:
# The first time a frequency could be estimated.
0: First
# The second time a frequency could be estimated, also incorporating data
# from the initial estimate.
1: Second
# The third or greater time a frequency could be estimated, also
# incorporating data from all previous estimates.
2: Subsequent
- dimension: track
event_codes: *tracks
- dimension: experiment
event_codes: *experiments
reports:
- report_name: percentiles
id: 1
report_type: NUMERIC_AGGREGATION
percentiles: [50, 90, 95, 99]
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: histogram
id: 2
report_type: INT_RANGE_HISTOGRAM
int_buckets: &tfe_buckets
linear:
floor: -200
num_buckets: 400
step_size: 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/15"
- id: 22
metric_name: timekeeper_frequency_estimate_migrated
metric_type: INTEGER
metric_units_other: ppm
metric_semantics: [OUTSIDE_ENVIRONMENT]
metric_dimensions: *tfe_dimensions
reports:
- report_name: hourly_device_average
id: 1
report_type: HOURLY_VALUE_NUMERIC_STATS
local_aggregation_procedure: MEAN
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: histogram
id: 2
report_type: FLEETWIDE_HISTOGRAMS
int_buckets: *tfe_buckets
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/15"
#
################################################################################
# Timekeeper frequency estimates, as an absolute parts per million rate.
#
# Records a change to the estimated local oscillator frequency as calculated by
# Timekeeper for a particular time track. Values are expressed as utc parts
# per million monotonic parts, with 1,000,000 representing an oscillator that is
# running at exactly 1Hz. A value over 1,000,000 would indicate UTC is ticking
# faster than monotonic, i.e. Timekeeper is compensating for an oscillator that
# is running slow.
################################################################################
- id: 23
replacement_metric_id: 24
metric_name: timekeeper_frequency_abs_estimate
metric_type: EVENT_COUNT
metric_dimensions: *tfe_dimensions
reports:
- report_name: percentiles
id: 1
report_type: NUMERIC_AGGREGATION
percentiles: [1, 5, 10, 50, 90, 95, 99]
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: histogram
id: 2
report_type: INT_RANGE_HISTOGRAM
int_buckets: &tfe_buckets
linear:
floor: 999800
num_buckets: 400
step_size: 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2022/04/22"
- id: 24
metric_name: timekeeper_frequency_abs_estimate_migrated
metric_type: INTEGER
metric_units_other: ppm
metric_semantics: [OUTSIDE_ENVIRONMENT]
metric_dimensions: *tfe_dimensions
reports:
- report_name: hourly_device_average
id: 1
report_type: HOURLY_VALUE_NUMERIC_STATS
local_aggregation_procedure: MEAN
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: histogram
id: 2
report_type: FLEETWIDE_HISTOGRAMS
int_buckets: *tfe_buckets
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2022/04/22"
################################################################################
# Timekeeper monitor to primary difference, in microseconds.
#
# When timekeeper is maintaining two independant tracks, this records the
# magnitude (in microseconds) and direction of the difference between the clock
# times for these tracks.
################################################################################
- id: 9
replacement_metric_id: 19
metric_name: timekeeper_monitor_difference
metric_type: EVENT_COUNT
metric_dimensions: &tmd_dimensions
- dimension: direction
event_codes:
# The monitor clock is earlier than the primary clock.
0: Negative
# The monitor clock is later than the primary clock.
1: Positive
- dimension: experiment
event_codes: *experiments
reports:
- report_name: percentiles
id: 1
report_type: NUMERIC_AGGREGATION
percentiles: [50, 90, 95, 99]
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: histogram
id: 2
report_type: INT_RANGE_HISTOGRAM
int_buckets: &tmd_h_buckets
linear:
floor: 0
num_buckets: 100 # 2 seconds
step_size: 20000 # 20 ms
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/10/25"
- id: 19
metric_name: timekeeper_monitor_difference_migrated
metric_type: INTEGER
metric_units: MICROSECONDS
metric_semantics: [OUTSIDE_ENVIRONMENT]
metric_dimensions: *tmd_dimensions
reports:
- report_name: hourly_device_maximum
id: 1
report_type: HOURLY_VALUE_NUMERIC_STATS
local_aggregation_procedure: MAX_PROCEDURE
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: histogram
id: 2
report_type: FLEETWIDE_HISTOGRAMS
int_buckets: *tmd_h_buckets
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/10/25"
################################################################################
# HTTPSDate time source poll offset, in microseconds.
#
# An estimate of the difference between the median estimated UTC of a poll and
# the UTC time on the system clock. Will be used to improve the standard
# deviation estimate reported by HTTPSDate.
################################################################################
- id: 10
replacement_metric_id: 20
metric_name: httpsdate_poll_offset
metric_type: EVENT_COUNT
metric_dimensions: &hpo_dimensions
# Round trip time of the poll, bucketed into bins 10000 microseconds wide
# with a floor of 0 microseconds.
- dimension: rtt_bucket
event_codes:
0: Underflow
101: Overflow
max_event_code: 101
- dimension: direction
event_codes:
# The poll is earlier than the device UTC.
0: Negative
# The poll is later than the device UTC.
1: Positive
reports:
- report_name: histogram
id: 1
report_type: INT_RANGE_HISTOGRAM
int_buckets: &hpo_h_buckets
linear:
floor: 0
num_buckets: 100 # 1 second
step_size: 10000 # 10 ms
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/12/16"
- id: 20
metric_name: httpsdate_poll_offset_migrated
metric_type: INTEGER
metric_units: MICROSECONDS
metric_semantics: [LATENCY, NETWORK_COMMUNICATION]
metric_dimensions: *hpo_dimensions
reports:
- report_name: histogram
id: 1
report_type: FLEETWIDE_HISTOGRAMS
int_buckets: *hpo_h_buckets
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/12/16"