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

#####################################################################
# set_channel_called
#
# Whenever the SetChannel() method from the SystemDataUpdater interface is
# invoked, we log "1" along with an indication of the current and new channels.
#####################################################################
- id: 2
  metric_name: "set_channel_called"
  metric_type: EVENT_COUNT
  metric_dimensions:
    - dimension: new_channel
      event_codes:
        1: Unknown
        3: Valid
    - dimension: previous_channel
      event_codes:
        0: Unset    # SetChannel was not called before.
        1: Unknown  # SetChannel was called with an empty string.
        3: Valid    # SetChannel was called with something else.
  reports:
    - report_name: "set_channel_called_count_per_device"
      id: 2249694334 # legacy long report_id
      report_type: PER_DEVICE_NUMERIC_STATS
      window_size: [1]
      aggregation_type: SUM
      system_profile_field: [PRODUCT_NAME]
  meta_data:
    max_release_stage: GA
    expiration_date: "2020/05/06"

#####################################################################
# 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
  metric_name: "per_device_bytes_uploaded"
  metric_type: EVENT_COUNT
  metric_dimensions:
    - dimension: status
      event_codes:
        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: "2020/05/06"

####################################################################
# 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
  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: "2020/06/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
  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
        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: "2020/06/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
  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: "2020/09/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
  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: "2020/09/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
  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: "2020/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
  metric_name: "logger_calls_made"
  metric_type: EVENT_COUNT
  metric_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: "2020/11/20"
