| # 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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" |