| # Copyright 2021 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| ################################################################################ |
| # Cobalt Project: sysmem |
| ################################################################################ |
| |
| metric_definitions: |
| |
| ##################################################################### |
| # Next Metric ID: 3 |
| ##################################################################### |
| |
| ################################################################################ |
| # unused_page_check_old |
| # |
| # TODO: Log directly to unused_page_check, once it's clear we won't be merging |
| # this (and associated CLs) into any branch that wants to log via 1.0. |
| # |
| # When a sysmem page becomes unused, sysmem puts a pattern into the page. When |
| # the pattern is later checked, this metric tracks successful page checks and |
| # failed page checks. |
| # |
| # Pages are checked when allocations occur, and every 10 minutes. Successful |
| # checks are buffered for 30 minutes before being flushed to Cobalt. Failed |
| # checks shouldn't happen, but if they do, they're buffered for 5 seconds before |
| # flushing to Cobalt. |
| # |
| # Expected frequency: Batch logging frequency capped at no more than once every |
| # 5 seconds. |
| ################################################################################ |
| - id: 1 |
| replacement_metric_id: 2 |
| metric_name: unused_page_check_old |
| metric_type: EVENT_COUNT |
| metric_dimensions: &upc_dimensions |
| - dimension: event |
| event_codes: |
| # We performed a pattern check (typically of several pages) and the |
| # pattern was intact ... |
| 1: PatternCheckOk |
| # ... or the pattern check was not intact. |
| 2: PatternCheckFailed |
| # Pattern checking is enabled and can log to Cobalt. Basically we get |
| # this event from a device as soon as sysmem has a way to create a |
| # cobalt logger iff the device has pattern checking enabled. The intent |
| # here is as a sanity check that we're getting full stack metric |
| # connectivity (for this particular metric) even if many devices don't |
| # see much sysmem churn. |
| 3: Connectivity |
| reports: |
| - report_name: device_histogram |
| id: 1 |
| report_type: PER_DEVICE_HISTOGRAM |
| int_buckets: &upcdh_buckets |
| exponential: |
| floor: 0 |
| num_buckets: 48 |
| initial_step: 1 |
| step_multiplier: 2 |
| window_size: [1] |
| aggregation_type: SUM |
| system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL] |
| - report_name: device_stats |
| id: 2 |
| report_type: PER_DEVICE_NUMERIC_STATS |
| window_size: [1] |
| aggregation_type: SUM |
| system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL] |
| - report_name: fleet_histogram |
| id: 3 |
| report_type: INT_RANGE_HISTOGRAM |
| int_buckets: &upcfh_buckets |
| exponential: |
| floor: 0 |
| num_buckets: 63 |
| initial_step: 1 |
| step_multiplier: 2 |
| system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL] |
| - report_name: fleet_stats |
| id: 4 |
| report_type: NUMERIC_AGGREGATION |
| percentiles: [0, 1, 2, 3, 4, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 96, 97, 98, 99, 100] |
| system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL] |
| meta_data: |
| max_release_stage: GA |
| expiration_date: "2022/10/14" |
| |
| ################################################################################ |
| # unused_page_check |
| # |
| # When a sysmem page becomes unused, sysmem puts a pattern into the page. When |
| # the pattern is later checked, this metric tracks successful page checks and |
| # failed page checks. |
| # |
| # Pages are checked when allocations occur, and every 10 minutes. Successful |
| # checks are buffered for 30 minutes before being flushed to Cobalt. Failed |
| # checks shouldn't happen, but if they do, they're buffered for 5 seconds before |
| # flushing to Cobalt. |
| # |
| # Expected frequency: Batch logging frequency capped at no more than once every |
| # 5 seconds. |
| ################################################################################ |
| - id: 2 |
| metric_name: unused_page_check |
| metric_type: OCCURRENCE |
| metric_semantics: [USAGE_COUNTING] |
| metric_dimensions: *upc_dimensions |
| reports: |
| - report_name: device_histogram |
| id: 1 |
| report_type: UNIQUE_DEVICE_HISTOGRAMS |
| system_profile_selection: SELECT_LAST |
| int_buckets: *upcdh_buckets |
| local_aggregation_period: WINDOW_1_DAY |
| privacy_level: NO_ADDED_PRIVACY |
| system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL] |
| - report_name: device_stats |
| id: 2 |
| report_type: UNIQUE_DEVICE_NUMERIC_STATS |
| local_aggregation_period: WINDOW_1_DAY |
| privacy_level: NO_ADDED_PRIVACY |
| system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL] |
| - report_name: fleet_histogram |
| id: 3 |
| report_type: HOURLY_VALUE_HISTOGRAMS |
| system_profile_selection: SELECT_LAST |
| int_buckets: *upcfh_buckets |
| privacy_level: NO_ADDED_PRIVACY |
| system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL] |
| - report_name: fleet_stats |
| id: 4 |
| report_type: HOURLY_VALUE_NUMERIC_STATS |
| privacy_level: NO_ADDED_PRIVACY |
| system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL] |
| meta_data: |
| max_release_stage: GA |
| expiration_date: "2022/10/14" |