blob: 81fa4ea0929d4af5923a53aa17af44390dd7ff7d [file] [edit]
# Copyright 2021 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.
################################################################################
# Cobalt Project: setui
################################################################################
metric_definitions:
#####################################################################
# Next Metric ID: 6
#####################################################################
#####################################################################
# write_failures
#
# Records the number of times a particular setting fails to be
# written to disk on a given device in a particular day. A new event
# will be logged every hour via a Sampler config if there is any new
# failure in that hour.
#####################################################################
- id: 1
metric_name: write_failures
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions:
- dimension: setting
event_codes: &settings
0: Unknown
1: Accessibility
2: Audio
3: AudioPolicy
4: Display
5: DoNotDisturb
6: FactoryReset
7: Input
8: Intl
9: Light
10: NightMode
11: Privacy
12: Setup
13: Keyboard
14: LightSensor
reports:
#####################################################################
# per_device_counts
#
# Gives a histogram of the number of failures per device, up to 10
# failures and then one more 10+ failures bucket. This can be used
# to get the number of devices with at least one failure in addition
# to the distribution of failures per device.
#####################################################################
- report_name: per_device_counts
id: 1
report_type: UNIQUE_DEVICE_HISTOGRAMS
# TODO(fxbug.dev/87403): switch to REPORT_ALL once available.
system_profile_selection: SELECT_LAST
local_aggregation_period: WINDOW_1_DAY
int_buckets:
linear:
floor: 1
num_buckets: 10 # past 10 failures a day, it will just be the overflow bucket.
step_size: 1
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2022/10/31"
#####################################################################
# request_responses
#
# Records the number of times a particular response type is given
# as a reply to a request to the setui service on a given device in
# a particular day. A new event will be logged every hour via a
# Sampler config if there are any new responses in that hour.
#####################################################################
- id: 2
metric_name: request_responses
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions:
- dimension: setting
event_codes: *settings
- dimension: response_type
event_codes:
0: Unknown
1: OkSome
2: OkNone
3: UnimplementedRequest
4: StorageFailure
5: InitFailure
6: RestoreFailure
7: InvalidArgument
8: IncompatibleArguments
9: ExternalFailure
10: UnhandledType
11: DeliveryError
12: UnexpectedError
13: UndeliverableError
14: UnsupportedError
15: CommunicationError
16: IrrecoverableError
17: TimeoutError
reports:
#####################################################################
# per_device_counts
#
# Gives a histogram of the number of failures per device. The buckets
# increase exponentially in size by powers of 2, up to 10 buckets.
# This helps determine the frequency of types of responses.
#####################################################################
- report_name: per_device_counts
id: 1
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: REPORT_ALL
local_aggregation_period: WINDOW_1_DAY
int_buckets:
exponential:
floor: 0
initial_step: 1
# past 1 + 2 ^ 10 = 1025 responses, it will be in the overflow bucket.
num_buckets: 10
# The power to which the step increases by.
step_multiplier: 2
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2023/04/21"
######################################################################
# active_listeners
#
# Records statistics about the number of active listeners that exist
# on the settings service, broken down by setting type
######################################################################
- id: 3
metric_name: active_listeners
metric_type: INTEGER
metric_semantics: [USAGE_COUNTING]
metric_units_other: LISTENERS
metric_dimensions:
- dimension: setting
event_codes: *settings
reports:
#####################################################################
# max_listeners_day
#
# Gives the max number of listeners encountered over the daily window
# per setting type
#####################################################################
- report_name: max_listeners_day
id: 1
report_type: UNIQUE_DEVICE_NUMERIC_STATS
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
local_aggregation_procedure: MAX_PROCEDURE
local_aggregation_period: WINDOW_1_DAY
meta_data:
max_release_stage: GA
expiration_date: "2023/06/01"
#####################################################################
# active_migrations
#
# Records the final migration number after a device updates its
# settings service storage. This value is logged at most once per
# boot.
#####################################################################
- id: 4
metric_name: active_migrations
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions:
- dimension: migration_id
event_codes:
0: Unknown
1: Stash
2: V_1653667208
3: V_1653667210
reports:
#####################################################################
# unique_devices
#
# Gives a count of the number of devices on each particular
# migration. Only devices running within the last 7 days will be
# tracked.
#####################################################################
- report_name: unique_devices
id: 1
report_type: UNIQUE_DEVICE_COUNTS
system_profile_selection: SELECT_LAST
privacy_level: NO_ADDED_PRIVACY
local_aggregation_procedure: AT_LEAST_ONCE
local_aggregation_period: WINDOW_7_DAYS
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
reporting_threshold: 1
meta_data:
max_release_stage: DEBUG
expiration_date: "2023/05/17"
#####################################################################
# active_migrations
#
# Records the final migration error after a device fails to updates
# its settings service storage. This value is logged at most once per
# boot.
#####################################################################
- id: 5
metric_name: migration_errors
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions:
- dimension: error
event_codes:
0: Unknown
1: NoData
2: DiskFull
3: Unrecoverable
reports:
#####################################################################
# error_counts
#
# Gives a count of the number of errors being seen when attempting
# migrations. This will give us an idea of how common the errors are
# across the field.
#####################################################################
- report_name: error_counts
id: 1
report_type: FLEETWIDE_OCCURRENCE_COUNTS
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
#####################################################################
# unique_error
#
# Gives a count of the number of devices experiencing migration
# errors over a 7 day rolling window.
#####################################################################
- report_name: unique_devices
id: 2
report_type: UNIQUE_DEVICE_COUNTS
system_profile_selection: SELECT_LAST
privacy_level: NO_ADDED_PRIVACY
local_aggregation_procedure: AT_LEAST_ONCE
local_aggregation_period: WINDOW_7_DAYS
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: DEBUG
expiration_date: "2023/05/17"