blob: 70a0dcd9328e0b97ac478a81c28f0dd71e799c45 [file] [log] [blame]
# Copyright 2019 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: software_delivery
################################################################################
metric_definitions:
################################################################################
# System Up To Date
#
# Used to log the fact that an update check was performed, but the system is
# already running the latest version.
################################################################################
- id: 1
replacement_metric_id: 101
metric_name: system_up_to_date
# The count will always be one.
metric_type: EVENT_COUNT
metric_dimensions: &sutd_dimensions
# What initiated the update check?
- dimension: initiator
event_codes:
0: AutomaticUpdateCheck
1: UserInitiatedCheck
# When did the update check occur?
- dimension: hour_of_day
max_event_code: 23
reports:
- report_name: system_up_to_date_counts
id: 3897546620 # legacy long report_id
report_type: NUMERIC_AGGREGATION
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
- report_name: system_up_to_date_per_device_count
id: 2703326378 # legacy long report_id
report_type: PER_DEVICE_NUMERIC_STATS
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
window_size:
- 1
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 101
metric_name: system_up_to_date_migrated
# The count will always be one.
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions: *sutd_dimensions
reports:
- report_name: system_up_to_date_counts
id: 1
report_type: HOURLY_VALUE_NUMERIC_STATS
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
- report_name: system_up_to_date_per_device_count
id: 2
report_type: UNIQUE_DEVICE_NUMERIC_STATS
privacy_level: NO_ADDED_PRIVACY
local_aggregation_period: WINDOW_1_DAY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
################################################################################
# OTA Start
#
# Used to log the fact that an update is available and is being applied.
################################################################################
- id: 2
replacement_metric_id: 102
metric_name: ota_start
metric_type: EVENT_COUNT
metric_dimensions: &otas_dimensions
# What initiated the update check?
- dimension: initiator
event_codes:
0: AutomaticUpdateCheck
1: UserInitiatedCheck
# When did the update check occur?
- dimension: hour_of_day
max_event_code: 23
reports:
- report_name: ota_start_stats
id: 1
report_type: PER_DEVICE_NUMERIC_STATS
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
- report_name: ota_start_hist
id: 2
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &osh_buckets
linear:
floor: 0
num_buckets: 50
step_size: 1
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 102
metric_name: ota_start_migrated
metric_type: OCCURRENCE
metric_dimensions: *otas_dimensions
metric_semantics: [USAGE_COUNTING]
reports:
- report_name: ota_start_stats
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, REALM]
- report_name: ota_start_hist
id: 2
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *osh_buckets
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
################################################################################
# OTA Result Attempts
#
# Used to log OTA attempt number, at the point that update was applied and is
# ready to be booted, or an error was encountered during the update attempt
################################################################################
- id: 3
replacement_metric_id: 103
metric_name: ota_result_attempts
# The value of the count will be the attempt number.
metric_type: EVENT_COUNT
metric_dimensions: &ora_dimensions
# What initiated the update check?
- dimension: initiator
event_codes:
0: AutomaticUpdateCheck
1: UserInitiatedCheck
# At which phase did the update terminate?
- dimension: phase
event_codes: &ota_result_termination_phases
1: TUFUpdate
2: PackageDownload
3: ImageWrite
4: SuccessPendingReboot
5: Success
- dimension: status_code
event_codes: &ota_result_status_codes
0: success
1: error
2: error_storage
3: error_storage_out_of_space
4: error_networking
5: error_untrusted_tuf_repo
reports:
- report_name: ota_result_attempts_stats
id: 1
report_type: PER_DEVICE_NUMERIC_STATS
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
- report_name: ota_result_attempts_hist
id: 2
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &orah_buckets
linear:
floor: 0
num_buckets: 50
step_size: 1
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 103
metric_name: ota_result_attempts_migrated
# The value of the count will be the attempt number.
metric_type: OCCURRENCE
metric_dimensions: *ora_dimensions
metric_semantics: [USAGE_COUNTING]
reports:
- report_name: ota_result_attempts_stats
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, REALM]
- report_name: ota_result_attempts_hist
id: 2
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *orah_buckets
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
################################################################################
# OTA Result Duration
#
# Used to log the duration of an OTA at the point that an update was
# applied and is ready to be booted, or an error was encountered during the
# update attempt
################################################################################
- id: 4
replacement_metric_id: 104
metric_name: ota_result_duration
# How long the update took from start to finish (not counting any necessary
# reboot), in microseconds
metric_type: ELAPSED_TIME
metric_dimensions: &ord_dimensions
# What initiated the update check?
- dimension: initiator
event_codes:
0: AutomaticUpdateCheck
1: UserInitiatedCheck
# At which phase did the update terminate?
- dimension: phase
event_codes: *ota_result_termination_phases
- dimension: status_code
event_codes: *ota_result_status_codes
reports:
- report_name: ota_result_duration_stats
id: 1
report_type: PER_DEVICE_NUMERIC_STATS
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
# Replaced by ota_result_duration_hist2 around 2020-11-17 with more buckets
- report_name: ota_result_duration_hist
id: 2
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &ordh_buckets
exponential:
floor: 0
num_buckets: 17
initial_step: 1000
step_multiplier: 2
aggregation_type: MAX
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
- report_name: ota_result_duration_hist2
id: 3
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &ordh2_buckets
exponential:
floor: 0
num_buckets: 30
initial_step: 1000
step_multiplier: 2
aggregation_type: MAX
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 104
metric_name: ota_result_duration_migrated
# How long the update took from start to finish (not counting any necessary
# reboot), in microseconds
metric_type: INTEGER
metric_units: MICROSECONDS
metric_semantics: [LATENCY]
metric_dimensions: *ord_dimensions
reports:
- report_name: ota_result_duration_stats
id: 1
report_type: UNIQUE_DEVICE_NUMERIC_STATS
local_aggregation_period: WINDOW_1_DAY
local_aggregation_procedure: SUM_PROCEDURE
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
# Replaced by ota_result_duration_hist2 around 2020-11-17 with more buckets
- report_name: ota_result_duration_hist
id: 2
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *ordh_buckets
local_aggregation_period: WINDOW_1_DAY
local_aggregation_procedure: MAX_PROCEDURE
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
- report_name: ota_result_duration_hist2
id: 3
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *ordh2_buckets
local_aggregation_period: WINDOW_1_DAY
local_aggregation_procedure: MAX_PROCEDURE
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
################################################################################
# OTA Result Free-Space Delta
#
# Used to log the delta between the free space after the OTA and the free space
# before the OTA, at the point that update was applied and is ready to be
# booted, or an error was encountered during the update attempt
################################################################################
- id: 5
no_replacement_metric: Cannot log an integer and a component string in the same metric in Cobalt 1.1
metric_name: ota_result_free_space_delta
metric_type: EVENT_COUNT
metric_dimensions:
# What initiated the update check?
- dimension: initiator
event_codes:
0: AutomaticUpdateCheck
1: UserInitiatedCheck
# At which phase did the update terminate?
- dimension: phase
event_codes: *ota_result_termination_phases
- dimension: status_code
event_codes: *ota_result_status_codes
reports:
- report_name: ota_result_free_space_delta_stats
id: 4160859516 # legacy long report_id
report_type: NUMERIC_AGGREGATION
# The |component| string is used to capture the target build version
candidate_file: fuchsia/software_delivery/build_versions.txt
system_profile_field: [BOARD_NAME, PRODUCT_NAME]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
################################################################################
# Fetch Blob Result
#
# Used to log a 1 every time fetch_blob is called. fetch_blob is called when
# resolving a package that is not cached. It will be called at least once (e.g.
# some network errors are retried) for each blob in the package. A system update
# resolves every package in the target system image and so will emit ~1,000 of
# these events over a period of about a minute. User devices are not expected to
# system update more than once per day.
################################################################################
- id: 6
replacement_metric_id: 106
metric_name: fetch_blob
metric_type: EVENT_COUNT
metric_dimensions: &fb_dimensions
- dimension: result
event_codes:
0: success
1: create_blob
2: bad_http_status
3: no_mirrors
4: content_length_mismatch
5: unknown_length
6: blob_too_small
7: blob_too_large
8: truncate
9: write
10: hyper
11: http
12: blob_url
13: fidl_error
14: io_error
15: local_mirror
16: no_blob_source
17: conflicting_blob_sources
18: blob_header_deadline_exceeded
19: blob_body_deadline_exceeded
20: http_bad_request
21: http_unauthorized
22: http_forbidden
23: http_not_found
24: http_method_not_allowed
25: http_request_timeout
26: http_precondition_failed
27: http_range_not_satisfiable
28: http_too_many_requests
29: http_internal_server_error
30: http_bad_gateway
31: http_service_unavailable
32: http_gateway_timeout
33: http_1xx
34: http_2xx
35: http_3xx
36: http_4xx
37: http_5xx
38: expected_http_status_206
39: missing_content_range_header
40: malformed_content_range_header
41: invalid_content_range_header
42: exceeded_resumption_attempt_limit
43: content_length_content_range_mismatch
- dimension: resumed
event_codes:
0: unset
1: "false"
2: "true"
reports:
- report_name: fetch_blob_stats
id: 1
report_type: PER_DEVICE_NUMERIC_STATS
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
- report_name: fetch_blob_hist
id: 2
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &fbh_buckets
linear:
floor: 0
num_buckets: 50
step_size: 1
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 106
metric_name: fetch_blob_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions: *fb_dimensions
reports:
- report_name: fetch_blob_stats
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, REALM]
- report_name: fetch_blob_hist
id: 2
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *fbh_buckets
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
################################################################################
# Is Font Package Check
#
# Triggered each time the font resolver is asked to resolve a package. This
# event logs a 1 and whether the package was a font package or not. We expect
# this to happen rarely, only a few times after certain applications start.
# Perhaps once per hour at most. We expect that only font packages should be
# requested from the font resolver so we should never log a not_font result.
################################################################################
- id: 7
replacement_metric_id: 107
metric_name: is_font_package_check
metric_type: EVENT_COUNT
metric_dimensions: &ifpc_dimensions
- dimension: result
event_codes:
0: font
1: not_font
reports:
- report_name: is_font_package_check_stats
id: 1
report_type: PER_DEVICE_NUMERIC_STATS
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
- report_name: is_font_package_check_hist
id: 2
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &ifpch_buckets
linear:
floor: 0
num_buckets: 50
step_size: 1
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 107
metric_name: is_font_package_check_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions: *ifpc_dimensions
reports:
- report_name: is_font_package_check_stats
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, REALM]
- report_name: is_font_package_check_hist
id: 2
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *ifpch_buckets
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
################################################################################
# Font Manager Load Static Registry
#
# Occurs when the FontPackageManager tries to load a static registry. Logs a 1
# along with the load result. This would only occur once per boot, so about once
# per month.
################################################################################
- id: 8
replacement_metric_id: 108
metric_name: font_manager_load_static_registry
metric_type: EVENT_COUNT
metric_dimensions: &fmlsr_dimensions
- dimension: result
event_codes:
0: success
1: io
2: parse
3: pkg_url
reports:
- report_name: font_manager_load_static_registry_stats
id: 1
report_type: PER_DEVICE_NUMERIC_STATS
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
- report_name: font_manager_load_static_registry_hist
id: 2
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &fmlsrh_buckets
linear:
floor: 0
num_buckets: 20
step_size: 1
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 108
metric_name: font_manager_load_static_registry_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions: *fmlsr_dimensions
reports:
- report_name: font_manager_load_static_registry_stats
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, REALM]
- report_name: font_manager_load_static_registry_hist
id: 2
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *fmlsrh_buckets
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
################################################################################
# Package Resolver Startup Duration
#
# Tracks the time it takes the package resolver to startup. Events occur
# once per boot.
################################################################################
- id: 9
replacement_metric_id: 109
metric_name: pkg_resolver_startup_duration
metric_type: ELAPSED_TIME
reports:
# Replaced by pkg_resolver_startup_duration_hist2 around 2020-11-17 with more buckets
- report_name: pkg_resolver_startup_duration_hist
id: 1
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &prsdh_buckets
exponential:
floor: 0
num_buckets: 17
initial_step: 1000
step_multiplier: 2
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
aggregation_type: MAX
window_size:
- 1
- report_name: pkg_resolver_startup_duration_hist2
id: 2
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &prsdh2_buckets
exponential:
floor: 0
num_buckets: 30
initial_step: 1000
step_multiplier: 2
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
aggregation_type: MAX
window_size:
- 1
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 109
metric_name: pkg_resolver_startup_duration_migrated
metric_type: INTEGER
metric_units: MICROSECONDS
metric_semantics: [LATENCY]
reports:
# Replaced by pkg_resolver_startup_duration_hist2 around 2020-11-17 with more buckets
- report_name: pkg_resolver_startup_duration_hist
id: 1
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *prsdh_buckets
local_aggregation_procedure: MAX_PROCEDURE
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
- report_name: pkg_resolver_startup_duration_hist2
id: 2
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *prsdh2_buckets
local_aggregation_procedure: MAX_PROCEDURE
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
################################################################################
# Repository Manager Load Static Configs
#
# Occurs when RepositoryManager attempts to load static repo configs. Logs a 1
# along with the load result. Occurs once per boot.
################################################################################
- id: 10
replacement_metric_id: 110
metric_name: repository_manager_load_static_configs
metric_type: EVENT_COUNT
metric_dimensions: &rmlsc_dimensions
- dimension: result
event_codes:
0: success
1: io
2: parse
3: overridden
reports:
- report_name: repository_manager_load_static_configs_stats
id: 1
report_type: PER_DEVICE_NUMERIC_STATS
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
- report_name: repository_manager_load_static_configs_hist
id: 2
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &rmlsch_buckets
linear:
floor: 0
num_buckets: 30
step_size: 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
window_size:
- 1
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 110
metric_name: repository_manager_load_static_configs_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions: *rmlsc_dimensions
reports:
- report_name: repository_manager_load_static_configs_stats
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, REALM]
- report_name: repository_manager_load_static_configs_hist
id: 2
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *rmlsch_buckets
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
################################################################################
# Repository Manager Load Repository for Channel
#
# Occurs when RepositoryManager tries to find a repo config for a channel. Logs
# a 1 and whether loading the repository was successful or not. Occurs once per
# boot.
################################################################################
- id: 11
replacement_metric_id: 111
metric_name: repository_manager_load_repository_for_channel
metric_type: EVENT_COUNT
metric_dimensions: &rmlrfc_dimensions
- dimension: result
event_codes:
0: success
1: failure
reports:
- report_name: repository_manager_load_repository_for_channel_stats
id: 1
report_type: PER_DEVICE_NUMERIC_STATS
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
- report_name: repository_manager_load_repository_for_channel_hist
id: 2
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &rmlrfch_buckets
linear:
floor: 0
num_buckets: 30
step_size: 1
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 111
metric_name: repository_manager_load_repository_for_channel_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions: *rmlrfc_dimensions
reports:
- report_name: repository_manager_load_repository_for_channel_stats
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, REALM]
- report_name: repository_manager_load_repository_for_channel_hist
id: 2
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *rmlrfch_buckets
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
################################################################################
# Create TUF Client
#
# Triggers when Repository tries to create a TUF client. Logs a 1 and the status
# of creating the TUF client. This happens once per boot.
################################################################################
- id: 12
replacement_metric_id: 112
metric_name: create_tuf_client
metric_type: EVENT_COUNT
metric_dimensions: &ctc_dimensions
- dimension: result
event_codes: &rust_tuf_result_status_codes
0: success
1: bad_signature
2: encoding
3: expired_metadata
4: illegal_argument
5: missing_metadata
6: no_supported_hash_algorithm
7: not_found
8: opaque
9: programming
10: target_unavailable
11: unknown_hash_algorithm
12: unknown_key_type
13: verification_failure
14: http
15: hyper
16: deadline_exceeded
17: http_bad_request
18: http_unauthorized
19: http_forbidden
20: http_not_found
21: http_method_not_allowed
22: http_request_timeout
23: http_precondition_failed
24: http_range_not_satisfiable
25: http_too_many_requests
26: http_internal_server_error
27: http_bad_gateway
28: http_service_unavailable
29: http_gateway_timeout
30: http_1xx
31: http_2xx
32: http_3xx
33: http_4xx
34: http_5xx
32767: unexpected_tuf_error_variant
reports:
- report_name: create_tuf_client_stats
id: 1
report_type: PER_DEVICE_NUMERIC_STATS
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
- report_name: create_tuf_client_hist
id: 2
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &ctch_buckets
linear:
floor: 0
num_buckets: 30
step_size: 1
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 112
metric_name: create_tuf_client_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions: *ctc_dimensions
reports:
- report_name: create_tuf_client_stats
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, REALM]
- report_name: create_tuf_client_hist
id: 2
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *ctch_buckets
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
################################################################################
# Update TUF Client
#
# Occurs when UpdatingTufClient tries to update. Logs a 1 and the update status.
# This happens once per package resolve.
################################################################################
- id: 13
replacement_metric_id: 113
metric_name: update_tuf_client
metric_type: EVENT_COUNT
metric_dimensions: &utc_dimensions
- dimension: result
event_codes: *rust_tuf_result_status_codes
reports:
- report_name: update_tuf_client_stats
id: 1
report_type: PER_DEVICE_NUMERIC_STATS
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
- report_name: update_tuf_client_hist
id: 2
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &utch_buckets
linear:
floor: 0
num_buckets: 50
step_size: 1
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 113
metric_name: update_tuf_client_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions: *utc_dimensions
reports:
- report_name: update_tuf_client_stats
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, REALM]
- report_name: update_tuf_client_hist
id: 2
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *utch_buckets
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
################################################################################
# Resolve
#
# Triggers when resolving a package. Logs a 1 and the status of the resolve.
# Result event codes are positive versions of the exclusively negative error
# codes used in Zircon. On user builds (with ephemeral off), this happens once
# for each package in the system image per system update.
################################################################################
- id: 14
replacement_metric_id: 114
metric_name: resolve
metric_type: EVENT_COUNT
metric_dimensions: &r_dimensions
- dimension: result
event_codes:
0: zx_ok
1: zx_err_internal
2: zx_err_not_supported
3: zx_err_no_resources
4: zx_err_no_memory
6: zx_err_internal_intr_retry
10: zx_err_invalid_args
11: zx_err_bad_handle
12: zx_err_wrong_type
13: zx_err_bad_syscall
14: zx_err_out_of_range
15: zx_err_buffer_too_small
20: zx_err_bad_state
21: zx_err_timed_out
22: zx_err_should_wait
23: zx_err_canceled
24: zx_err_peer_closed
25: zx_err_not_found
26: zx_err_already_exists
27: zx_err_already_bound
28: zx_err_unavailable
30: zx_err_access_denied
40: zx_err_io
41: zx_err_io_refused
42: zx_err_io_data_integrity
43: zx_err_io_data_loss
44: zx_err_io_not_present
45: zx_err_io_overrun
46: zx_err_io_missed_deadline
47: zx_err_io_invalid
50: zx_err_bad_path
51: zx_err_not_dir
52: zx_err_not_file
53: zx_err_file_big
54: zx_err_no_space
55: zx_err_not_empty
60: zx_err_stop
61: zx_err_next
62: zx_err_async
70: zx_err_protocol_not_supported
71: zx_err_address_unreachable
72: zx_err_address_in_use
73: zx_err_not_connected
74: zx_err_connection_refused
75: zx_err_connection_reset
76: zx_err_connection_aborted
32767: unexpected_zx_status_value
- dimension: resolver_type
event_codes:
0: regular
1: font
reports:
- report_name: resolve_stats
id: 1
report_type: PER_DEVICE_NUMERIC_STATS
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
- report_name: resolve_hist
id: 2
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &rh_buckets
linear:
floor: 0
num_buckets: 1000
step_size: 1
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 114
metric_name: resolve_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions: *r_dimensions
reports:
- report_name: resolve_stats
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, REALM]
- report_name: resolve_hist
id: 2
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *rh_buckets
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
################################################################################
# Resolve status
#
# Triggers when resolving a package. Logs the result of the resolve.
# In-progress migration from the id: 14, until font_resolver is also migrated.
################################################################################
- id: 23
replacement_metric_id: 123
metric_name: resolve_status
metric_type: EVENT_COUNT
metric_dimensions: &rs_dimensions
- dimension: result
event_codes:
0: unset
1: success
2: internal
3: access_denied
4: io
5: blob_not_found
6: package_not_found
7: repo_not_found
8: no_space
9: unavailable_blob
10: unavailable_repo_metadata
11: invalid_url
reports:
- report_name: stats
id: 1
report_type: PER_DEVICE_NUMERIC_STATS
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
- report_name: hist
id: 2
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &rsh_buckets
linear:
floor: 0
num_buckets: 100
step_size: 1
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 123
metric_name: resolve_status_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions: *rs_dimensions
reports:
- report_name: stats
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, REALM]
- report_name: hist
id: 2
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *rsh_buckets
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
################################################################################
# Resolve Duration
#
# Occurs after a package has finished resolving, successful or otherwise. Tracks
# how long it takes to resolve a package. This is expected to take under a few
# seconds. Happens once per package resolve.
################################################################################
- id: 15
replacement_metric_id: 115
metric_name: resolve_duration
metric_type: ELAPSED_TIME
metric_dimensions: &rd_dimensions
- dimension: result
event_codes:
0: success
1: failure
- dimension: resolver_type
event_codes:
0: regular
1: font
reports:
- report_name: resolve_duration_stats
id: 1
report_type: PER_DEVICE_NUMERIC_STATS
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
# Replaced by resolve_duration_hist2 around 2020-11-17 with more buckets
- report_name: resolve_duration_hist
id: 2
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &rdh_buckets
exponential:
floor: 0
num_buckets: 17
initial_step: 1000
step_multiplier: 2
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
aggregation_type: MAX
- report_name: resolve_duration_hist2
id: 3
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &rdh2_buckets
exponential:
floor: 0
num_buckets: 30
initial_step: 1000
step_multiplier: 2
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
aggregation_type: MAX
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 115
metric_name: resolve_duration_migrated
metric_type: INTEGER
metric_units: MICROSECONDS
metric_semantics: [LATENCY]
metric_dimensions: *rd_dimensions
reports:
- report_name: resolve_duration_stats
id: 1
report_type: UNIQUE_DEVICE_NUMERIC_STATS
local_aggregation_procedure: MAX_PROCEDURE
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
# Replaced by resolve_duration_hist2 around 2020-11-17 with more buckets
- report_name: resolve_duration_hist
id: 2
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *rdh_buckets
local_aggregation_procedure: MAX_PROCEDURE
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
- report_name: resolve_duration_hist2
id: 3
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *rdh2_buckets
local_aggregation_procedure: MAX_PROCEDURE
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
################################################################################
# Package Cache Open
#
# Occurs whenever a blob is opened in pkg-cache. Logs a 1 and the result status.
# Happens once per package resolve.
################################################################################
- id: 16
replacement_metric_id: 116
metric_name: pkg_cache_open
metric_type: EVENT_COUNT
metric_dimensions: &pco_dimensions
- dimension: result
event_codes:
0: success
1: not_found
2: io
reports:
- report_name: pkg_cache_open_stats
id: 1
report_type: PER_DEVICE_NUMERIC_STATS
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
- report_name: pkg_cache_open_hist
id: 2
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &pcoh_buckets
linear:
floor: 0
num_buckets: 1000
step_size: 1
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 116
metric_name: pkg_cache_open_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions: *pco_dimensions
reports:
- report_name: pkg_cache_open_stats
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, REALM]
- report_name: pkg_cache_open_hist
id: 2
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *pcoh_buckets
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
################################################################################
# Merkle For Url
#
# Occurs whenever the pkg-resolver looks up the merkle for a package url. Logs a
# 1 and the result status. Happens once per package resolve.
################################################################################
- id: 17
replacement_metric_id: 117
metric_name: merkle_for_url
metric_type: EVENT_COUNT
metric_dimensions: &mfu_dimensions
- dimension: result
event_codes:
0: success
1: fidl
2: not_found
3: unexpected_status
4: tuf_error
5: parse_error
6: blob_too_large
7: invalid_target_path
8: no_custom_metadata
9: serde_error
reports:
- report_name: merkle_for_url_stats
id: 1
report_type: PER_DEVICE_NUMERIC_STATS
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
- report_name: merkle_for_url_hist
id: 2
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &mfuh_buckets
linear:
floor: 0
num_buckets: 1000
step_size: 1
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 117
metric_name: merkle_for_url_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions: *mfu_dimensions
reports:
- report_name: merkle_for_url_stats
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, REALM]
- report_name: merkle_for_url_hist
id: 2
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *mfuh_buckets
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
################################################################################
# update_channel_control_set_target
#
# Number of times the ChannelControl.set_target method was called. Happens once
# per method call.
################################################################################
- id: 18
replacement_metric_id: 118
metric_name: update_channel_control_set_target
metric_type: EVENT_COUNT
metric_dimensions: &uccst_dimensions
- dimension: result
event_codes:
0: success
reports:
- report_name: update_channel_control_set_target_count
id: 1
report_type: PER_DEVICE_NUMERIC_STATS
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
window_size:
- 1
- report_name: update_channel_control_set_target_histogram
id: 2
report_type: PER_DEVICE_HISTOGRAM
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
int_buckets: &uccsth_buckets
linear:
floor: 0
num_buckets: 100
step_size: 1
window_size:
- 1
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 118
metric_name: update_channel_control_set_target_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions: *uccst_dimensions
reports:
- report_name: update_channel_control_set_target_count
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, REALM]
- report_name: update_channel_control_set_target_histogram
id: 2
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *uccsth_buckets
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
################################################################################
# update_manager_connection
#
# Number of times the fuchsia.update.Manager is connected to. Happens once per
# call.
################################################################################
- id: 19
replacement_metric_id: 119
metric_name: update_manager_connection
metric_type: EVENT_COUNT
metric_dimensions: &umc_dimensions
- dimension: result
event_codes:
0: success
reports:
- report_name: update_manager_connection_count
id: 1
report_type: PER_DEVICE_NUMERIC_STATS
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
window_size:
- 1
- report_name: update_manager_connection_histogram
id: 2
report_type: PER_DEVICE_HISTOGRAM
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
int_buckets: &umch_buckets
linear:
floor: 0
num_buckets: 100
step_size: 1
window_size:
- 1
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 119
metric_name: update_manager_connection_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions: *umc_dimensions
reports:
- report_name: update_manager_connection_count
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, REALM]
- report_name: update_manager_connection_histogram
id: 2
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *umch_buckets
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
################################################################################
# update_manager_check_now
#
# Number of times an update was checked for, or an error was encountered during
# the check.
################################################################################
- id: 20
replacement_metric_id: 120
metric_name: update_manager_check_now
metric_type: EVENT_COUNT
metric_dimensions: &umcn_dimensions
- dimension: result
event_codes:
0: success
1: internal
2: invalid_options
3: already_in_progress
4: throttled
reports:
- report_name: update_manager_check_now_count
id: 1
report_type: PER_DEVICE_NUMERIC_STATS
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
window_size:
- 1
- report_name: update_manager_check_now_histogram
id: 2
report_type: PER_DEVICE_HISTOGRAM
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
int_buckets: &umcnh_buckets
linear:
floor: 0
num_buckets: 100
step_size: 1
window_size:
- 1
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 120
metric_name: update_manager_check_now_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions: *umcn_dimensions
reports:
- report_name: update_manager_check_now_count
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, REALM]
- report_name: update_manager_check_now_histogram
id: 2
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *umcnh_buckets
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
#####################################################################
# OTA Verification Duration
#
# Elapsed microseconds from starting the verifications to having
# completing them or encountering a failure.
#
# Computed based on the elapsed time from when the verifications
# were initiated to when either they all completed, or until one
# of the verifications fails.
#
# Sampling Frequency: 1 sample per hour (though we will only
# upload once).
#####################################################################
- id: 21
replacement_metric_id: 121
metric_name: ota_verification_duration
# We use EVENT_COUNT instead of ELAPSED_TIME because Lapis only
# supports the former.
metric_type: EVENT_COUNT
metric_dimensions: &ovd_dimensions
# Did any verification fail? If so, what type of verification?
- dimension: result
event_codes: &ota_verification_result
0: success
1: failure_blobfs
reports:
#####################################################################
# ota_verification_duration_histogram
#
# Exponential histogram starting from .1 seconds to 110 minutes.
# Replaced by ota_verification_duration_histogram2 around 2021-03-22
# with more accurate buckets.
#####################################################################
- report_name: ota_verification_duration_histogram
id: 1
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &ovdh_buckets
exponential:
floor: 0
num_buckets: 16
initial_step: 100000
step_multiplier: 2
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
aggregation_type: MAX
window_size:
- 1
#####################################################################
# ota_verification_duration_histogram2
#
# Exponential histogram starting from .01 seconds to ~1.5 hours.
#####################################################################
- report_name: ota_verification_duration_histogram2
id: 2
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &ovdh2_buckets
exponential:
floor: 0
num_buckets: 20
initial_step: 10000
step_multiplier: 2
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
aggregation_type: MAX
window_size:
- 1
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 121
metric_name: ota_verification_duration_migrated
metric_type: INTEGER
metric_units: MICROSECONDS
metric_semantics: [LATENCY]
metric_dimensions: *ovd_dimensions
reports:
#####################################################################
# ota_verification_duration_histogram
#
# Exponential histogram starting from .1 seconds to 110 minutes.
# Replaced by ota_verification_duration_histogram2 around 2021-03-22
# with more accurate buckets.
#####################################################################
- report_name: ota_verification_duration_histogram
id: 1
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *ovdh_buckets
local_aggregation_procedure: MAX_PROCEDURE
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
#####################################################################
# ota_verification_duration_histogram2
#
# Exponential histogram starting from .01 seconds to ~1.5 hours.
#####################################################################
- report_name: ota_verification_duration_histogram2
id: 2
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *ovdh2_buckets
local_aggregation_procedure: MAX_PROCEDURE
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
#####################################################################
# OTA Verification Failure
#
# Why an OTA verification failed (e.g. timeout, fidl, etc).
# Logged when an OTA verification failed.
#
# Sampling Frequency: 1 sample per hour (though we will only
# upload once). It's acceptable to have a low sampling frequency
# because when we trigger a reboot, Lapis will take a snapshot and
# sample anyway.
#####################################################################
- id: 22
replacement_metric_id: 122
metric_name: ota_verification_failure
metric_type: EVENT_COUNT
metric_dimensions: &ovf_dimensions
# Which kind of verification failed?
- dimension: result
event_codes: *ota_verification_result
# Why did it fail?
- dimension: reason
event_codes:
0: unreported
1: verify
2: fidl
3: timeout
reports:
#####################################################################
# per_device_linear_histogram
#
# Linear histogram of the number of OTA verifications performed per
# device per day.
#####################################################################
- report_name: per_device_linear_histogram
id: 1
report_type: PER_DEVICE_HISTOGRAM
aggregation_type: SUM
int_buckets: &ovf_pdlh_buckets
linear:
floor: 0
num_buckets: 10
step_size: 1
window_size:
- 1 # day
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 122
metric_name: ota_verification_failure_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions: *ovf_dimensions
reports:
#####################################################################
# per_device_linear_histogram
#
# Linear histogram of the number of OTA verifications performed per
# device per day.
#####################################################################
- report_name: per_device_linear_histogram
id: 1
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *ovf_pdlh_buckets
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
################################################################################
# Package Cache Unexpected Pkgfs Needs
#
# Occurs whenever the package cache finishes staging the blobs for a package,
# triggers pkgfs to start serving the package directory, and pkgfs determines
# some content blobs are still needed. Logs an event per occurence. Expected to
# never happen.
################################################################################
- id: 24
replacement_metric_id: 124
metric_name: pkg_cache_unexpected_pkgfs_needs
metric_type: EVENT_COUNT
metric_dimensions:
reports:
- report_name: stats
id: 1
report_type: PER_DEVICE_NUMERIC_STATS
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
- report_name: hist
id: 2
report_type: PER_DEVICE_HISTOGRAM
int_buckets: &upn_buckets
linear:
floor: 0
num_buckets: 50
step_size: 1
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"
- id: 124
metric_name: pkg_cache_unexpected_pkgfs_needs_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions:
reports:
- report_name: stats
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, REALM]
- report_name: hist
id: 2
report_type: UNIQUE_DEVICE_HISTOGRAMS
system_profile_selection: SELECT_LAST
int_buckets: *upn_buckets
local_aggregation_period: WINDOW_1_DAY
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2022/03/30"