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

#####################################################################
# per_device_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: 3
  no_replacement_metric: This metric is manually migrated with metric 12
  metric_name: "per_device_bytes_uploaded"
  metric_type: EVENT_COUNT
  metric_dimensions:
    - dimension: status
      event_codes: &upload_status
        1: Attempted
        2: Succeeded
  reports:
    - report_name: "per_device_bytes_uploaded_histogram"
      id: 3585902129 # legacy long report_id
      report_type: PER_DEVICE_HISTOGRAM
      int_buckets:
        linear:
          floor: 0
          step_size: 100000  # 100KB
          num_buckets: 1000  # max: 100MB
      window_size: [1]
      aggregation_type: SUM
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2022/05/06"
- id: 12
  metric_name: "bytes_uploaded"
  metric_type: OCCURRENCE
  metric_semantics: [NETWORK_COMMUNICATION]
  metric_dimensions:
    - dimension: status
      event_codes: *upload_status
  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: "2021/11/16"

####################################################################
# per_project_bytes_stored
#
# 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
# a component string with value <customer_name>/<project_name>.
#####################################################################
- id: 4
  no_replacement_metric: >
    TODO(fxbug.dev/64989): This metric will be manually migrated
    to use metric_dimensions instead of component strings.
  metric_name: "per_project_bytes_stored"
  metric_type: MEMORY_USAGE
  metric_dimensions:
    - dimension: status
      event_codes:
        1: Attempted
        2: Succeeded
  reports:
    - report_name: "per_project_bytes_stored_histogram"
      id: 66121589 # legacy long report_id
      report_type: PER_DEVICE_HISTOGRAM
      int_buckets:
        linear:
          floor: 0
          step_size: 100000  # 100KB
          num_buckets: 1000  # max: 100MB
      window_size: [1]
      aggregation_type: SUM
      candidate_file: cobalt_internal/metrics/project_list.txt
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2022/05/06"

#####################################################################
# per_project_logger_calls_made
#
# This metric will be used to measure per-device, per-project, daily number of
# Logger method calls made. Each time a method from the logger interface is
# called, an event will be logged with the respective logger_method value
# and <customer_name>/<project_name> as a component string.
#####################################################################
- id: 5
  metric_name: "per_project_logger_calls_made"
  metric_type: EVENT_COUNT
  no_replacement_metric: >
    TODO(fxbug.dev/64989): This metric will be manually migrated
    to use metric_dimensions instead of component strings.
  metric_dimensions:
    - dimension: logger_method
      event_codes: &cobalt_logger_method_list
        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: per_project_logger_calls_made_histogram
      id: 442710744 # legacy long report_id
      report_type: PER_DEVICE_HISTOGRAM
      int_buckets:
        linear:
          floor: 0
          num_buckets: 1000
          step_size: 50
      window_size: [1]
      aggregation_type: SUM
      candidate_file: cobalt_internal/metrics/project_list.txt
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2022/05/06"

#####################################################################
# inaccurate_clock_events_cached
#
# This metric will be used to measure per-device, per-project, daily number of
# UndatedEventManager::Save method calls made. Each time an event is saved,
# an event will be logged with the <customer_name>/<project_name> as a
# component string.
#####################################################################
- id: 6
  metric_name: "inaccurate_clock_events_cached"
  metric_type: EVENT_COUNT
  no_replacement_metric: TODO(fxbug.dev/64989) Update logging sites to log to metric 106
  reports:
    - report_name: inaccurate_clock_events_cached_count
      id: 1576071636 # legacy long report_id
      report_type: EVENT_COMPONENT_OCCURRENCE_COUNT
      candidate_file: cobalt_internal/metrics/project_list.txt
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
    - report_name: inaccurate_clock_events_cached_per_device_count
      id: 2798016925 # legacy long report_id
      report_type: PER_DEVICE_NUMERIC_STATS
      window_size: [1]
      aggregation_type: SUM
      candidate_file: cobalt_internal/metrics/project_list.txt
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2022/05/06"

- 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: "2022/05/06"



#####################################################################
# inaccurate_clock_events_dropped
#
# This metric will be used to measure per-device, per-project, 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 with the
# <customer_name>/<project_name> as a component string.
#####################################################################
- id: 7
  metric_name: "inaccurate_clock_events_dropped"
  metric_type: EVENT_COUNT
  no_replacement_metric: TODO(fxbug.dev/64989) Update logging sites to log to metric 107
  reports:
    - report_name: inaccurate_clock_events_dropped_count
      id: 4212632604 # legacy long report_id
      report_type: EVENT_COMPONENT_OCCURRENCE_COUNT
      candidate_file: cobalt_internal/metrics/project_list.txt
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
    - report_name: inaccurate_clock_events_dropped_per_device_count
      id: 911321925 # legacy long report_id
      report_type: PER_DEVICE_NUMERIC_STATS
      window_size: [1]
      aggregation_type: SUM
      candidate_file: cobalt_internal/metrics/project_list.txt
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2022/05/06"

- 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: "2022/05/06"

#####################################################################
# per_project_bytes_uploaded
#
# 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 component string of the
# event will be <customer_name>/<project_name>.
# 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 component string of the  event will be
# <customer_name>/<project_name>.
#####################################################################
- id: 8
  no_replacement_metric: >
    TODO(fxbug.dev/64989): This metric will be manually migrated to
    use metric_dimensions instead of component strings.
  metric_name: "per_project_bytes_uploaded"
  metric_type: EVENT_COUNT
  metric_dimensions:
    - dimension: status
      event_codes:
        1: Attempted
        2: Succeeded
  reports:
    - report_name: "per_project_bytes_uploaded_histogram_0_5_20"
      id: 726514302 # legacy long report_id
      report_type: PER_DEVICE_HISTOGRAM
      int_buckets:
        linear:
          floor: 0
          step_size: 5000000 # 5MB
          num_buckets: 20  # max: 100MB
      window_size: [1]
      aggregation_type: SUM
      candidate_file: cobalt_internal/metrics/project_list.txt
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
    - report_name: "per_project_bytes_uploaded_histogram_0_500_20"
      id: 4265629286 # legacy long report_id
      report_type: PER_DEVICE_HISTOGRAM
      int_buckets:
        linear:
          floor: 0
          step_size: 500000 # 500KB
          num_buckets: 20  # max: 10MB
      window_size: [1]
      aggregation_type: SUM
      candidate_file: cobalt_internal/metrics/project_list.txt
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2022/05/06"

#####################################################################
# logger_calls_made
#
# 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: 9
  replacement_metric_id: 109
  metric_name: "logger_calls_made"
  metric_type: EVENT_COUNT
  metric_dimensions: &lcm_dimensions
    - dimension: logger_method
      event_codes: *cobalt_logger_method_list
  reports:
    - report_name: "per_device_logger_calls_histogram"
      id: 1
      report_type: PER_DEVICE_HISTOGRAM
      int_buckets:
        linear:
          floor: 0
          step_size: 2000  # 2K
          num_buckets: 20  # max: 40K
      window_size: [1]
      aggregation_type: SUM
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2022/05/06"

- id: 109
  metric_name: logger_calls_made_migrated
  metric_type: OCCURRENCE
  metric_semantics: [USAGE_COUNTING]
  metric_dimensions: *lcm_dimensions
  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: "2022/05/06"

#####################################################################
# set_software_distribution_info_called
#
# 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: 10
  replacement_metric_id: 110
  metric_name: "set_software_distribution_info_called"
  metric_type: EVENT_COUNT
  metric_dimensions: &ssdic_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: "set_software_distribution_info_called_count_per_device_realm"
      id: 1
      report_type: PER_DEVICE_NUMERIC_STATS
      window_size: [1]
      aggregation_type: SUM
      system_profile_field: [PRODUCT_NAME, REALM]
    - report_name: "set_software_distribution_info_called_count_per_device_channel"
      id: 2
      report_type: PER_DEVICE_NUMERIC_STATS
      window_size: [1]
      aggregation_type: SUM
      system_profile_field: [PRODUCT_NAME, CHANNEL]
    - report_name: "set_software_distribution_info_called_histogram"
      id: 3
      report_type: PER_DEVICE_HISTOGRAM
      int_buckets:
        linear:
          floor: 0
          step_size: 5
          num_buckets: 25
      window_size: [1]
      aggregation_type: SUM
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2022/05/06"

- id: 110
  metric_name: set_software_distribution_info_called_migrated
  metric_type: OCCURRENCE
  metric_semantics: [USAGE_COUNTING]
  metric_dimensions: *ssdic_dimensions
  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: "2022/05/06"

#####################################################################
# idle_observation_upload
#
# Whenever Cobalt performs an upload we log "1" along with event
# codes representing the current upload_strategy and device state.
#####################################################################
- id: 11
  replacement_metric_id: 111
  metric_name: "idle_observation_upload"
  metric_type: EVENT_COUNT
  metric_dimensions: &iou_dimensions
    - dimension: device_state
      event_codes:
        0: Unreported # Device state not requested
        1: Active
        2: Idle
        3: Unknown # Device state requested unsuccessfully
  reports:
    - report_name: "idle_observation_upload_per_device"
      id: 1
      report_type: NUMERIC_AGGREGATION
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2022/05/06"

- id: 111
  metric_name: idle_observation_upload_migrated
  metric_type: OCCURRENCE
  metric_semantics: [USAGE_COUNTING]
  metric_dimensions: *iou_dimensions
  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]
  meta_data:
    max_release_stage: GA
    expiration_date: "2022/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: "2022/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: "2022/03/09"
