| # Copyright 2018 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| metric_definitions: |
| |
| ##################################################################### |
| # bytes_uploaded |
| # |
| # This metric will be used to generate a report that gives statistics about the |
| # daily total number of bytes uploaded from each device. |
| # Each time UploadEvents() is called by the ClearcutUploader, an event |
| # recording the HTTP request's body size will be logged with status |Attempted|. |
| # If the observation is sent successfully, another event with the HTTP request's |
| # body size will be logged with status |Succeeded|. |
| ##################################################################### |
| - id: 12 |
| metric_name: "bytes_uploaded" |
| metric_type: OCCURRENCE |
| metric_semantics: [NETWORK_COMMUNICATION] |
| metric_dimensions: |
| - dimension: status |
| event_codes: |
| 1: Attempted |
| 2: Succeeded |
| reports: |
| - report_name: "bytes_uploaded_per_device_histogram" |
| id: 1 |
| report_type: UNIQUE_DEVICE_HISTOGRAMS |
| system_profile_selection: SELECT_LAST |
| privacy_level: NO_ADDED_PRIVACY |
| int_buckets: |
| linear: |
| floor: 0 |
| step_size: 100000 # 100KB |
| num_buckets: 1000 # max: 100MB |
| local_aggregation_period: 1 |
| system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL] |
| meta_data: |
| max_release_stage: GA |
| expiration_date: "2023/11/01" |
| |
| #################################################################### |
| # per_project_bytes_stored_migrated |
| # |
| # This metric will be used to measure per-device, daily, number of bytes added |
| # to the ObservationStore, broken down by project. Each time the |
| # ObservationStore is called with AddEncryptedObservation(), an event will be |
| # logged with status |Attempted|. If the observation is successfully stored, |
| # another event will be logged with status |Succeeded|. All invocations will use |
| # an event code with value <customer_name>/<project_name>. |
| ##################################################################### |
| - id: 15 |
| metric_name: "per_project_bytes_stored_migrated" |
| metric_type: INTEGER |
| metric_semantics: [ MEMORY_USAGE ] |
| metric_units: BYTES |
| metric_dimensions: |
| - dimension: projects |
| event_codes: &project_list |
| 0: "other" |
| 1: "2147483647/205836624" |
| 2: "1/929352809" |
| 3: "1/657579885" |
| 4: "1/7" |
| 5: "1/2322225253" |
| 6: "1/4" |
| 7: "1/5" |
| 8: "1/3708719327" |
| 9: "1/4228153068" |
| 10: "1/2" |
| 11: "1/2820332838" |
| 12: "1/1334068210" |
| 13: "1/3676913920" |
| 14: "1/285903809" |
| 15: "1/3142410971" |
| 16: "1/3509424520" |
| 17: "1/2165403525" |
| 18: "1/1" |
| 19: "1/3" |
| 20: "1/2550112954" |
| 21: "1/4247972873" |
| 22: "1/6" |
| 23: "1/8" |
| 24: "1/9" |
| 25: "1/10" |
| 26: "1/11" |
| 27: "1/12" |
| 28: "1/13" |
| 29: "1/14" |
| 30: "1/15" |
| 31: "1/16" |
| 32: "100000/1" |
| 33: "100000/2" |
| 34: "100000/3" |
| 35: "200000/1" |
| 36: "200000/2" |
| 37: "200000/3" |
| 38: "200001/1" |
| 39: "299999/1" |
| 40: "200001/2" |
| 41: "200001/3" |
| - dimension: status |
| event_codes: |
| 1: Attempted |
| 2: Succeeded |
| reports: |
| - report_name: "unique_device_histograms" |
| id: 1 |
| report_type: UNIQUE_DEVICE_HISTOGRAMS |
| int_buckets: |
| linear: |
| floor: 0 |
| step_size: 1000000 # 1MB |
| num_buckets: 100 # max: 100MB |
| local_aggregation_procedure: SUM_PROCEDURE |
| local_aggregation_period: WINDOW_1_DAY |
| privacy_level: NO_ADDED_PRIVACY |
| system_profile_selection: REPORT_ALL |
| system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL] |
| meta_data: |
| max_release_stage: GA |
| expiration_date: "2023/03/02" |
| |
| ##################################################################### |
| # inaccurate_clock_events_cached_migrated |
| # |
| # This metric will be used to measure per-device, daily number of |
| # UndatedEventManager::Save method calls made. Each time an event is saved, |
| # an event will be logged. |
| ##################################################################### |
| - id: 106 |
| metric_name: inaccurate_clock_events_cached_migrated |
| metric_type: OCCURRENCE |
| metric_semantics: [USAGE_COUNTING] |
| reports: |
| - report_name: occurrence_counts |
| id: 1 |
| report_type: FLEETWIDE_OCCURRENCE_COUNTS |
| privacy_level: NO_ADDED_PRIVACY |
| system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL] |
| - report_name: per_device_numeric_stats |
| 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] |
| meta_data: |
| max_release_stage: GA |
| expiration_date: "2023/05/06" |
| |
| |
| |
| ##################################################################### |
| # inaccurate_clock_events_dropped_migrated |
| # |
| # This metric will be used to measure per-device, daily number of |
| # saved UndatedEventManager events that had to be dropped due to size |
| # constraints. Each time an event is dropped, an event will be logged. |
| ##################################################################### |
| - id: 107 |
| metric_name: inaccurate_clock_events_dropped_migrated |
| metric_type: OCCURRENCE |
| metric_semantics: [USAGE_COUNTING] |
| reports: |
| - report_name: occurrence_counts |
| id: 1 |
| report_type: FLEETWIDE_OCCURRENCE_COUNTS |
| privacy_level: NO_ADDED_PRIVACY |
| system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL] |
| - report_name: per_device_numeric_stats |
| 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] |
| meta_data: |
| max_release_stage: GA |
| expiration_date: "2023/05/06" |
| |
| ##################################################################### |
| # per_project_bytes_uploaded_migrated |
| # |
| # This metric will be used to generate a report that gives statistics about the |
| # daily total number of bytes uploaded from each project on a device. |
| # Each time SendEnvelopeToBackend() is called by the ShippingManager, an event |
| # recording the size of the ObservationBatch proto will be logged with status |
| # |Attempted| for each project in the Envelope. The event code will contain the |
| # <customer_name>/<project_name> of the project. |
| # If the envelope was sent successfully, another event will be logged for each |
| # project in the Envelope recording the size of the ObservationBatch proto and |
| # status |Succeeded|. The event code will again contain the |
| # <customer_name>/<project_name> of the project. |
| ##################################################################### |
| - id: 17 |
| metric_name: "per_project_bytes_uploaded_migrated" |
| metric_type: INTEGER |
| metric_semantics: [ NETWORK_COMMUNICATION ] |
| metric_units: BYTES |
| metric_dimensions: |
| - dimension: projects |
| event_codes: *project_list |
| - dimension: status |
| event_codes: |
| 1: Attempted |
| 2: Succeeded |
| reports: |
| - report_name: "unique_device_histogram_5MB_buckets" |
| id: 1 |
| report_type: UNIQUE_DEVICE_HISTOGRAMS |
| int_buckets: |
| linear: |
| floor: 0 |
| step_size: 5000000 # 5MB |
| num_buckets: 20 # max: 100MB |
| local_aggregation_procedure: SUM_PROCEDURE |
| local_aggregation_period: WINDOW_1_DAY |
| privacy_level: NO_ADDED_PRIVACY |
| system_profile_selection: REPORT_ALL |
| system_profile_field: [ BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL ] |
| - report_name: "unique_device_histogram_500KB_buckets" |
| id: 2 |
| report_type: UNIQUE_DEVICE_HISTOGRAMS |
| int_buckets: |
| linear: |
| floor: 0 |
| step_size: 500000 # 500KB |
| num_buckets: 20 # max: 10MB |
| local_aggregation_procedure: SUM_PROCEDURE |
| local_aggregation_period: WINDOW_1_DAY |
| privacy_level: NO_ADDED_PRIVACY |
| system_profile_selection: REPORT_ALL |
| system_profile_field: [ BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL ] |
| meta_data: |
| max_release_stage: GA |
| expiration_date: "2023/03/02" |
| |
| ##################################################################### |
| # logger_calls_made_migrated |
| # |
| # This metric will be used to count how much each type of event is logged on a device per day. Each |
| # time a method from the logger interface is called, an event will be logged with the respective |
| # logger_method value and a count of 1. |
| ##################################################################### |
| - id: 109 |
| metric_name: logger_calls_made_migrated |
| metric_type: OCCURRENCE |
| metric_semantics: [USAGE_COUNTING] |
| metric_dimensions: |
| - dimension: logger_method |
| event_codes: |
| 0: Unknown |
| # Old logger methods for Cobalt 1.0. |
| 1: LogEvent |
| 2: LogEventCount |
| 3: LogElapsedTime |
| 4: LogFrameRate |
| 5: LogMemoryUsage |
| 6: LogIntHistogram |
| 199: LogCobaltEvents |
| # New Logger methods for the new Cobalt 1.1. |
| 9: LogOccurrence |
| 10: LogInteger |
| 11: LogIntegerHistogram |
| 7: LogString |
| 8: LogCustomEvent |
| 12: LogSerializedCustomEvent |
| 198: LogMetricEvents |
| max_event_code: 200 |
| reports: |
| - report_name: histogram |
| id: 1 |
| report_type: UNIQUE_DEVICE_HISTOGRAMS |
| system_profile_selection: SELECT_LAST |
| privacy_level: NO_ADDED_PRIVACY |
| int_buckets: |
| linear: |
| floor: 0 |
| step_size: 2000 # 2K |
| num_buckets: 20 # max: 40K |
| local_aggregation_period: WINDOW_1_DAY |
| system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL] |
| - report_name: unique_device_count |
| id: 2 |
| report_type: UNIQUE_DEVICE_COUNTS |
| system_profile_selection: SELECT_LAST |
| local_aggregation_period: WINDOW_1_DAY |
| local_aggregation_procedure: AT_LEAST_ONCE |
| privacy_level: NO_ADDED_PRIVACY |
| system_profile_field: [OS] |
| meta_data: |
| max_release_stage: GA |
| expiration_date: "2023/05/06" |
| |
| ##################################################################### |
| # set_software_distribution_info_called_migrated |
| # |
| # Whenever the SetSoftwareDistributionInfo() method from the SystemDataUpdater interface is |
| # invoked, we log "1" along with an indication of the current and new channels and realms. |
| ##################################################################### |
| - id: 110 |
| metric_name: set_software_distribution_info_called_migrated |
| metric_type: OCCURRENCE |
| metric_semantics: [USAGE_COUNTING] |
| metric_dimensions: |
| - dimension: new_channel |
| event_codes: |
| 0: Unset |
| 1: Unknown |
| 2: Valid |
| - dimension: previous_channel |
| event_codes: |
| 0: Unset # SetSoftwareDistributionInfo was not called before. |
| 1: Unknown # SetSoftwareDistributionInfo called with null channel. |
| 2: Valid # SetSoftwareDistributionInfo called with channel string. |
| - dimension: new_realm |
| event_codes: |
| 0: Unset |
| 1: Unknown |
| 2: Valid |
| - dimension: previous_realm |
| event_codes: |
| 0: Unset # SetSoftwareDistributionInfo was not called before. |
| 1: Unknown # SetSoftwareDistributionInfo called with null realm. |
| 2: Valid # SetSoftwareDistributionInfo called with realm string. |
| reports: |
| - report_name: stats_per_device_realm |
| id: 1 |
| report_type: UNIQUE_DEVICE_NUMERIC_STATS |
| privacy_level: NO_ADDED_PRIVACY |
| system_profile_field: [PRODUCT_NAME, REALM] |
| local_aggregation_period: WINDOW_1_DAY |
| - report_name: stats_per_device_channel |
| id: 2 |
| report_type: UNIQUE_DEVICE_NUMERIC_STATS |
| privacy_level: NO_ADDED_PRIVACY |
| system_profile_field: [PRODUCT_NAME, CHANNEL] |
| local_aggregation_period: WINDOW_1_DAY |
| - report_name: histogram |
| id: 3 |
| report_type: UNIQUE_DEVICE_HISTOGRAMS |
| system_profile_selection: SELECT_LAST |
| privacy_level: NO_ADDED_PRIVACY |
| int_buckets: |
| linear: |
| floor: 0 |
| step_size: 5 |
| num_buckets: 25 |
| local_aggregation_period: WINDOW_1_DAY |
| system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL] |
| meta_data: |
| max_release_stage: GA |
| expiration_date: "2023/05/06" |
| |
| ############################################################################ |
| # store_usage |
| # |
| # Whenever Cobalt writes data to disk, we log the estimated number of bytes |
| # stored for that class. |
| ############################################################################ |
| - id: 13 |
| metric_name: store_usage |
| metric_type: INTEGER |
| metric_units: BYTES |
| metric_semantics: [DATA_SIZE] |
| metric_dimensions: &disk_usage_dimensions |
| - dimension: storage_class |
| event_codes: |
| 1: ObservationStore |
| 2: LocalAggregateStorage |
| 3: AggregateStore |
| 4: ObservationHistory |
| reports: |
| - id: 1 |
| report_name: per_device_max |
| report_type: UNIQUE_DEVICE_NUMERIC_STATS |
| 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] |
| - id: 2 |
| report_name: per_device_histogram |
| report_type: UNIQUE_DEVICE_HISTOGRAMS |
| system_profile_selection: SELECT_LAST |
| int_buckets: |
| # Powers of 2 from 2^0 -> 2^21 |
| exponential: |
| floor: 0 |
| num_buckets: 23 |
| initial_step: 2 |
| step_multiplier: 2 |
| privacy_level: NO_ADDED_PRIVACY |
| local_aggregation_period: WINDOW_1_DAY |
| local_aggregation_procedure: MAX_PROCEDURE |
| system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL] |
| meta_data: |
| max_release_stage: GA |
| expiration_date: "2023/03/09" |
| |
| ############################################################################ |
| # store_fullness |
| # |
| # Whenever Cobalt writes data to disk, we log the estimated fullness of that |
| # store in per mille. If the store does not have a max size set, this metric |
| # will not be logged. |
| ############################################################################ |
| - id: 14 |
| metric_name: store_fullness |
| metric_type: INTEGER |
| metric_units_other: "per mille" |
| metric_semantics: [DATA_SIZE] |
| metric_dimensions: *disk_usage_dimensions |
| reports: |
| - id: 1 |
| report_name: per_device_max |
| report_type: UNIQUE_DEVICE_NUMERIC_STATS |
| 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] |
| - id: 2 |
| report_name: per_device_histogram |
| report_type: UNIQUE_DEVICE_HISTOGRAMS |
| system_profile_selection: SELECT_LAST |
| int_buckets: |
| linear: |
| floor: 0 |
| num_buckets: 1000 |
| step_size: 1 |
| privacy_level: NO_ADDED_PRIVACY |
| local_aggregation_period: WINDOW_1_DAY |
| local_aggregation_procedure: MAX_PROCEDURE |
| system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL] |
| meta_data: |
| max_release_stage: GA |
| expiration_date: "2023/03/09" |
| |
| # Deleted metric IDs that must not be reused. |
| deleted_metric_ids: [1,2,3,4,5,6,7,8,9,10,11,16,18,111] |