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

#####################################################################
# error_occurred
#
# This is a fictional metric used for the development of Cobalt.
# We log each time an error occurs, noting the type of error.
#####################################################################
- id: 1
  metric_name: error_occurred
  metric_type: EVENT_OCCURRED
  metric_dimensions:
    - dimension: status
      event_codes:
        0: OK
        1: InvalidArgument
        2: FailedPrecondition
        9: Unknown
      max_event_code: 9
  reports:
    #####################################################################
    # error_counts
    #
    # This is a fictional report used for the development of Cobalt.
    # For each day, we count the total number of occurrences over the
    # fleet of each error type. This report uses local differential
    # privacy, so the counts are approximate and are reported with a
    # standard error.
    #####################################################################
    - report_name: error_counts
      id: 85498028 # legacy long report_id
      report_type: SIMPLE_OCCURRENCE_COUNT
      local_privacy_noise_level: SMALL
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2020/09/16"

#####################################################################
# error_occurred_new
#
# This is a fictional metric used for the development of Cobalt 1.1.
# We log each time an error occurs, noting the type of error.
#####################################################################
- id: 12
  metric_name: error_occurred_new
  metric_type: OCCURRENCE
  metric_semantics: [USAGE_COUNTING]
  metric_dimensions:
    - dimension: status
      event_codes:
        0: OK
        1: InvalidArgument
        2: FailedPrecondition
        9: Unknown
      max_event_code: 9
  reports:
    #####################################################################
    # error_counts
    #
    # This is a fictional report used for the development of Cobalt 1.1.
    # For each day, we count the total number of occurrences over the
    # fleet of each error type. This report uses local differential
    # privacy, so the counts are approximate and are reported with a
    # standard error.
    #####################################################################
    - report_name: error_counts
      id: 1
      report_type: FLEETWIDE_OCCURRENCE_COUNTS
      privacy_level: LOW_PRIVACY
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2021/02/27"

#####################################################################
# error_occurred_components
#
# This is a fictional metric used for the development of Cobalt 1.1.
# We log each time an error occurs, noting the type of error and the
# component that it occurred on.
#####################################################################
- id: 22
  metric_name: error_occurred_components
  metric_type: STRING
  metric_semantics: [USAGE_COUNTING]
  metric_dimensions:
    - dimension: status
      event_codes:
        0: OK
        1: InvalidArgument
        2: FailedPrecondition
        9: Unknown
      max_event_code: 9
  string_candidate_file: fuchsia/test_app2/application_names.txt
  string_buffer_max: 30
  reports:
    #####################################################################
    # error_counts
    #
    # This is a fictional report used for the development of Cobalt 1.1.
    # For each day, we count the total number of occurrences over the
    # fleet of each error type for each component. This report uses
    # local differential privacy, so the counts are approximate and are
    # reported with a standard error.
    #####################################################################
    - report_name: error_counts
      id: 1
      report_type: STRING_HISTOGRAMS
      privacy_level: LOW_PRIVACY
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2021/02/27"

#####################################################################
# file_system_cache_misses
#
# This is a fictional metric used for the development of Cobalt.
# We log how many times a cache miss occurs, noting the type of FS.
#####################################################################
- id: 2
  metric_name: file_system_cache_misses
  metric_type: EVENT_COUNT
  metric_dimensions:
    - dimension: encryption_state
      event_codes:
        0: "NotEncrypted"
        1: "Encrypted"
  reports:
    #####################################################################
    # file_system_cache_miss_counts
    #
    # This is a fictional report used for the development of Cobalt.
    # For each day and each registered file system type, we report the
    # total number of FS cache misses across the fleet. The FS types are
    # registered as part of the report definition.
    #####################################################################
    - report_name: file_system_cache_miss_counts
      id: 4091455252 # legacy long report_id
      report_type: EVENT_COMPONENT_OCCURRENCE_COUNT
      # A list of the file system types which a device may report.
      candidate_list:
        - "blobfs"
        - "minfs"
        - "thinfs"
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
    #####################################################################
    # file_system_cache_miss_counts_from_file_list
    #
    # This is a fictional report used for the development of Cobalt.
    # For each day and each registered file system type, we report the
    # total number of FS cache misses across the fleet. The FS types are
    # registered in an external file.
    #####################################################################
    - report_name: file_system_cache_miss_counts_from_file_list
      id: 1074011447 # legacy long report_id
      report_type: EVENT_COMPONENT_OCCURRENCE_COUNT
      # File system types which a device may report.
      candidate_file: fuchsia/test_app2/file_system_types.txt
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
    #####################################################################
    # file_system_cache_miss_histograms
    #
    # This is a fictional report used for the development of Cobalt.
    # For each day and each registered file system type, we report a
    # histogram of the number of FS cache misses per log.
    #####################################################################
    - report_name: file_system_cache_miss_histograms
      id: 3729282697 # legacy long report_id
      report_type: INT_RANGE_HISTOGRAM
      # A file listing the file system types which a device may report.
      candidate_file: fuchsia/test_app2/file_system_types.txt
      int_buckets:
        exponential:
          floor: 0
          num_buckets: 10
          initial_step: 1
          step_multiplier: 2
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
    #####################################################################
    # file_system_cache_miss_stats
    #
    # This is a fictional report used for the development of Cobalt.
    # For each day and each registered file system type, we report
    # stats on the number of FS cache misses per log.
    #####################################################################
    - report_name: file_system_cache_miss_stats
      id: 703671657 # legacy long report_id
      report_type: NUMERIC_AGGREGATION
      # A file listing the file system types which a device may report.
      candidate_file: fuchsia/test_app2/file_system_types.txt
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2020/09/16"

#####################################################################
# file_system_cache_misses_new
#
# This is a fictional metric used for the development of Cobalt 1.1.
# We log how many times a cache miss occurs, noting the type of FS.
#####################################################################
- id: 13
  metric_name: file_system_cache_misses_new
  metric_type: OCCURRENCE
  metric_semantics: [USAGE_COUNTING]
  metric_dimensions:
    - dimension: encryption_state
      event_codes:
        0: "NotEncrypted"
        1: "Encrypted"
    - dimension: file_system_type
      event_codes:
        0: "blobfs"
        1: "minfs"
        2: "thinfs"
  reports:
    #####################################################################
    # file_system_cache_miss_counts
    #
    # This is a fictional report used for the development of Cobalt 1.1.
    # For each day and each registered file system type, we report the
    # total number of FS cache misses across the fleet. The FS types are
    # registered as part of the report definition.
    #####################################################################
    - report_name: file_system_cache_miss_counts
      id: 1
      report_type: FLEETWIDE_OCCURRENCE_COUNTS
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
    #####################################################################
    # file_system_cache_miss_histograms
    #
    # This is a fictional report used for the development of Cobalt 1.1.
    # For each day and each registered file system type, we report a
    # histogram of the number of FS cache misses per log.
    #####################################################################
    - report_name: file_system_cache_miss_histograms
      id: 2
      report_type: HOURLY_VALUE_HISTOGRAMS
      int_buckets:
        exponential:
          floor: 0
          num_buckets: 10
          initial_step: 1
          step_multiplier: 2
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
    #####################################################################
    # file_system_cache_miss_stats
    #
    # This is a fictional report used for the development of Cobalt 1.1.
    # For each day and each registered file system type, we report
    # stats on the number of FS cache misses per log.
    #####################################################################
    - report_name: file_system_cache_miss_stats
      id: 3
      report_type: HOURLY_VALUE_NUMERIC_STATS
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2021/02/27"

#####################################################################
# query_response
#
# This is a fictional metric used for the development of Cobalt.
# We record the time it takes to respond to a fictional query.
#####################################################################
- id: 3
  metric_name: query_response
  metric_type: CUSTOM
  proto_name: "cobalt.CustomMetricTestProto"
  reports:
    #####################################################################
    # query_response
    #
    # This is a fictional report used for the development of Cobalt.
    # We provide a raw dump of queries, reponse codes, and response
    # times.
    #####################################################################
    - report_name: query_response
      id: 3195866187 # legacy long report_id
      report_type: CUSTOM_RAW_DUMP
      # A processed log source owned by the team which uses this metric.
      output_location: "processed/<team_name>-cobalt-dev:custom-proto-test"
      system_profile_field: [BOARD_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2020/09/16"

#####################################################################
# features_active
#
# This is a fictional metric used for the development of Cobalt.
# Each time we use one of our skills, we log the skill type.
#####################################################################
- id: 4
  metric_name: features_active
  metric_type: EVENT_OCCURRED
  metric_dimensions:
    - dimension: skill
      event_codes:
        0: Unset
        1: TimeTravel
        2: InvisibilityCloak
        3: HealingPotion
        9: Unknown
      max_event_code: 9
  reports:
    #####################################################################
    # features_active_unique_devices
    #
    # This is a fictional report used for the development of Cobalt.
    # We report the number of unique devices on which each skill was
    # used during rolling windows of 1 and 7 days, using local
    # differential privacy.
    #####################################################################
    - report_name: features_active_unique_devices
      id: 68730057 # legacy long report_id
      report_type: UNIQUE_N_DAY_ACTIVES
      local_privacy_noise_level: SMALL
      window_size:
        - 1
        - 7
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2020/09/16"

#####################################################################
# features_active_new
#
# This is a fictional metric used for the development of Cobalt 1.1.
# Each time we use one of our skills, we log the skill type.
#####################################################################
- id: 14
  metric_name: features_active_new
  metric_type: OCCURRENCE
  metric_semantics: [USAGE_COUNTING]
  metric_dimensions:
    - dimension: skill
      event_codes:
        0: Unset
        1: TimeTravel
        2: InvisibilityCloak
        3: HealingPotion
        9: Unknown
      max_event_code: 9
  reports:
    #####################################################################
    # features_active_unique_devices
    #
    # This is a fictional report used for the development of Cobalt 1.1.
    # We report the number of unique devices on which each skill was
    # used during rolling windows of 1 and 7 days, using local
    # differential privacy.
    #####################################################################
    - report_name: features_active_unique_devices
      id: 1
      report_type: UNIQUE_DEVICE_COUNTS
      privacy_level: LOW_PRIVACY
      window_size:
        - 1
        - 7
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2021/02/27"

#####################################################################
# update_duration
#
# This is a fictional metric used for the development of Cobalt.
# We log how long it takes (in microseconds) to complete specific
# steps in updating a device.
#####################################################################
- id: 5
  metric_name: update_duration
  metric_type: ELAPSED_TIME
  metric_dimensions:
    - dimension: error_name
      event_codes:
        0: Success
        1: TimedOut
        2: Cancelled
        3: Failed
  reports:
    #####################################################################
    # update_duration_timing_histogram
    #
    # This is a fictional report used for the development of Cobalt.
    # For each registered update stage and each error code, we report a
    # histogram of the duration of that update stage across the fleet.
    #
    # The update stages are registered as part of the report definition.
    # The first histogram bucket has a width of 1ms, and the width
    # doubles with each subsequent bucket.
    #####################################################################
    - report_name: update_duration_timing_histogram
      id: 2650806949 # legacy long report_id
      report_type: INT_RANGE_HISTOGRAM
      # A list of the update stages which a device may report.
      candidate_list:
        - "DownloadPayload"
        - "VerifyPayload"
        - "ApplyPayload"
        - "VerifyUpdate"
      int_buckets:
        exponential:
          floor: 0
          num_buckets: 10
          initial_step: 1
          step_multiplier: 2
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
    #####################################################################
    # update_duration_timing_histogram_linear_from_list
    #
    # This is a fictional report used for the development of Cobalt.
    # For each registered update stage and each error code, we report a
    # histogram of the duration of that update stage across the fleet.
    #
    # The update stages are registered in an external file.
    # All histogram buckets have the same width.
    #####################################################################
    - report_name: update_duration_timing_histogram_linear_from_list
      id: 2303351153 # legacy long report_id
      report_type: INT_RANGE_HISTOGRAM
      # A file listing the update stages which a device may report.
      candidate_file: fuchsia/test_app2/update_duration_stages.txt
      int_buckets:
        linear:
          floor: 0
          num_buckets: 50
          step_size: 2
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
    #####################################################################
    # update_duration_timing_stats
    #
    # This is a fictional report used for the development of Cobalt.
    # For each registered update stage and each error code, we report
    # statistics of the duration of that update stage across the fleet.
    #####################################################################
    - report_name: update_duration_timing_stats
      id: 3424957678 # legacy long report_id
      report_type: NUMERIC_AGGREGATION
      # A file listing the update stages which a device may report.
      candidate_file: fuchsia/test_app2/update_duration_stages.txt
      percentiles: [10, 25, 75, 90, 99]
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2020/09/16"

#####################################################################
# update_duration_new
#
# This is a fictional metric used for the development of Cobalt 1.1.
# We log how long it takes (in microseconds) to complete specific
# steps in updating a device.
#####################################################################
- id: 15
  metric_name: update_duration_new
  metric_type: INTEGER
  metric_semantics: [LATENCY]
  metric_units: MICROSECONDS
  metric_dimensions:
    - dimension: error_name
      event_codes:
        0: Success
        1: TimedOut
        2: Cancelled
        3: Failed
    - dimension: update_duration_stage
      event_codes:
        0: DownloadPayload
        1: VerifyPayload
        2: ApplyPayload
        3: VerifyUpdate
  reports:
    #####################################################################
    # update_duration_timing_histogram
    #
    # This is a fictional report used for the development of Cobalt 1.1.
    # For each registered update stage and each error code, we report a
    # histogram of the duration of that update stage across the fleet.
    #
    # The first histogram bucket has a width of 1ms, and the width
    # doubles with each subsequent bucket.
    #####################################################################
    - report_name: update_duration_timing_histogram
      id: 1
      report_type: FLEETWIDE_HISTOGRAMS
      int_buckets:
        exponential:
          floor: 0
          num_buckets: 10
          initial_step: 1
          step_multiplier: 2
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
    #####################################################################
    # update_duration_timing_histogram_linear_constant_width
    #
    # This is a fictional report used for the development of Cobalt 1.1.
    # For each registered update stage and each error code, we report a
    # histogram of the duration of that update stage across the fleet.
    #
    # All histogram buckets have the same width.
    #####################################################################
    - report_name: update_duration_timing_histogram_linear_constant_width
      id: 2
      report_type: FLEETWIDE_HISTOGRAMS
      int_buckets:
        linear:
          floor: 0
          num_buckets: 50
          step_size: 2
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
    #####################################################################
    # update_duration_timing_stats
    #
    # This is a fictional report used for the development of Cobalt 1.1.
    # For each registered update stage and each error code, we report
    # statistics of the duration of that update stage across the fleet.
    #####################################################################
    - report_name: update_duration_timing_stats
      id: 3
      report_type: FLEETWIDE_MEANS
      percentiles: [10, 25, 75, 90, 99]
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2021/02/27"

#####################################################################
# game_frame_rate
#
# This is a fictional metric used for the development of Cobalt.
# We log the frame rate of a game during different player actions
# in different environments.
#####################################################################
- id: 6
  metric_name: game_frame_rate
  metric_type: FRAME_RATE
  metric_dimensions:
    - dimension: player_action
      event_codes:
        0: Standing
        1: Walking
        2: Running
  reports:
    #####################################################################
    # game_frame_rate_histograms
    #
    # This is a fictional report used for the development of Cobalt.
    # For each registered game environment and each player action, we
    # report a histogram of the frame rate of the game across all logged
    # events for this metric in the fleet.
    #
    # The game environments are registered in the report definition.
    # The first histogram bucket has a width of 1000fps, and the width
    # doubles with each subsequent bucket.
    #####################################################################
    - report_name: game_frame_rate_histograms
      id: 1849761596 # legacy long report_id
      report_type: INT_RANGE_HISTOGRAM
      # A list of the game enviroments which a device may report.
      candidate_list:
        - "Forest"
        - "Beach"
        - "Dungeon"
        - "City"
      int_buckets:
        exponential:
          floor: 0
          num_buckets: 10
          initial_step: 1000
          step_multiplier: 2
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
    #####################################################################
    # game_frame_rate_histograms_linear_from_list
    #
    # This is a fictional report used for the development of Cobalt.
    # For each registered game environment and each player action, we
    # report a histogram of the frame rate of the game across all logged
    # events for this metric in the fleet.
    #
    # The game environments are registered in an external file.
    # All histogram buckets have the same width.
    #####################################################################
    - report_name: game_frame_rate_histograms_linear_from_list
      id: 3405323034 # legacy long report_id
      report_type: INT_RANGE_HISTOGRAM
      # A file listing the game enviroments which a device may report.
      candidate_file: fuchsia/test_app2/game_environments.txt
      int_buckets:
        linear:
          floor: 0
          num_buckets: 120
          step_size: 1000
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
    #####################################################################
    # game_frame_rate_stats
    #
    # This is a fictional report used for the development of Cobalt.
    # For each registered game environment and each player action, we
    # report statistics of frame rate across all logged events for
    # this metric in the fleet.
    #####################################################################
    - report_name: game_frame_rate_stats
      id: 731939902 # legacy long report_id
      report_type: NUMERIC_AGGREGATION
      # A file listing the game enviroments which a device may report.
      candidate_file: fuchsia/test_app2/game_environments.txt
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2020/09/16"

#####################################################################
# game_frame_rate_new
#
# This is a fictional metric used for the development of Cobalt 1.1.
# We log the frame rate of a game during different player actions
# in different environments.
#####################################################################
- id: 16
  metric_name: game_frame_rate_new
  metric_type: INTEGER
  metric_semantics: [FRAME_RENDERING]
  metric_units_other: "FPS"
  metric_dimensions:
    - dimension: player_action
      event_codes:
        0: Standing
        1: Walking
        2: Running
    - dimension: game_environment
      event_codes:
        0: Forest
        1: Beach
        2: Dungeon
        3: City
  reports:
    #####################################################################
    # game_frame_rate_histograms
    #
    # This is a fictional report used for the development of Cobalt 1.1.
    # For each registered game environment and each player action, we
    # report a histogram of the frame rate of the game across all logged
    # events for this metric in the fleet.
    #
    # The first histogram bucket has a width of 1000fps, and the width
    # doubles with each subsequent bucket.
    #####################################################################
    - report_name: game_frame_rate_histograms
      id: 1
      report_type: FLEETWIDE_HISTOGRAMS
      int_buckets:
        exponential:
          floor: 0
          num_buckets: 10
          initial_step: 1000
          step_multiplier: 2
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
    #####################################################################
    # game_frame_rate_histograms_linear_constant_width
    #
    # This is a fictional report used for the development of Cobalt 1.1.
    # For each registered game environment and each player action, we
    # report a histogram of the frame rate of the game across all logged
    # events for this metric in the fleet.
    #
    # All histogram buckets have the same width.
    #####################################################################
    - report_name: game_frame_rate_histograms_linear_constant_width
      id: 2
      report_type: FLEETWIDE_HISTOGRAMS
      int_buckets:
        linear:
          floor: 0
          num_buckets: 120
          step_size: 1000
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
    #####################################################################
    # game_frame_rate_stats
    #
    # This is a fictional report used for the development of Cobalt 1.1.
    # For each registered game environment and each player action, we
    # report statistics of frame rate across all logged events for
    # this metric in the fleet.
    #####################################################################
    - report_name: game_frame_rate_stats
      id: 3
      report_type: FLEETWIDE_MEANS
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2021/02/27"

#####################################################################
# application_memory
#
# This is a fictional metric used for the development of Cobalt.
# We log the memory usage of different applications running on the
# system.
#####################################################################
- id: 7
  metric_name: application_memory
  metric_type: MEMORY_USAGE
  metric_dimensions:
    - dimension: memory_type
      event_codes:
        0: RSS
        1: VSZ
        2: PSS
  reports:
    #####################################################################
    # application_memory_histograms
    #
    # This is a fictional report used for the development of Cobalt.
    # For each registered application and each type of memory, we
    # report a histogram of memory usage across all logged events for
    # this metric in the fleet.
    #
    # The application names are registered in the report definition.
    # The first histogram bucket has a width of 1000 bytes, and the width
    # doubles with each subsequent bucket.
    #####################################################################
    - report_name: application_memory_histograms
      id: 2385271301 # legacy long report_id
      report_type: INT_RANGE_HISTOGRAM
      # A list of the application names which a device may report.
      candidate_list:
        - "audio_core"
        - "chromium"
        - "logger"
        - "netstack"
        - "scheduler"
        - "sysmng"
        - "view_manager"
      int_buckets:
        exponential:
          floor: 0
          num_buckets: 10
          initial_step: 1000
          step_multiplier: 2
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
    #####################################################################
    # application_memory_histograms_linear_from_list
    #
    # This is a fictional report used for the development of Cobalt.
    # For each registered application and each type of memory, we
    # report a histogram of memory usage across all logged events for
    # this metric in the fleet.
    #
    # The application names are registered in an external file.
    # All histogram buckets have the same width.
    #####################################################################
    - report_name: application_memory_histograms_linear_from_list
      id: 238018065 # legacy long report_id
      report_type: INT_RANGE_HISTOGRAM
      # A file listing the application names which a device may report.
      candidate_file: fuchsia/test_app2/application_names.txt
      int_buckets:
        linear:
          floor: 0
          num_buckets: 50
          step_size: 5000
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
    #####################################################################
    # application_memory_stats
    #
    # This is a fictional report used for the development of Cobalt.
    # For each registered application and each player action, we
    # report statistics of the memory usage across all logged events for
    # this metric in the fleet.
    #####################################################################
    - report_name: application_memory_stats
      id: 217420989 # legacy long report_id
      report_type: NUMERIC_AGGREGATION
      # A file listing the application names which a device may report.
      candidate_file: fuchsia/test_app2/application_names.txt
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2020/09/16"

#####################################################################
# application_memory_new
#
# This is a fictional metric used for the development of Cobalt 1.1.
# We log the memory usage of different applications running on the
# system.
#####################################################################
- id: 17
  metric_name: application_memory_new
  metric_type: INTEGER
  metric_semantics: [MEMORY_USAGE]
  metric_units: BYTES
  metric_dimensions:
    - dimension: memory_type
      event_codes:
        0: RSS
        1: VSZ
        2: PSS
    - dimension: application_name
      event_codes: &application_names
        0: audio_core
        1: chromium
        2: logger
        3: netstack
        4: scheduler
        5: sysmng
        6: view_manager
  reports:
    #####################################################################
    # application_memory_histograms
    #
    # This is a fictional report used for the development of Cobalt 1.1.
    # For each registered application and each type of memory, we
    # report a histogram of memory usage across all logged events for
    # this metric in the fleet.
    #
    # The first histogram bucket has a width of 1000 bytes, and the width
    # doubles with each subsequent bucket.
    #####################################################################
    - report_name: application_memory_histograms
      id: 1
      report_type: FLEETWIDE_HISTOGRAMS
      int_buckets:
        exponential:
          floor: 0
          num_buckets: 10
          initial_step: 1000
          step_multiplier: 2
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
    #####################################################################
    # application_memory_histograms_linear_constant_width
    #
    # This is a fictional report used for the development of Cobalt 1.1.
    # For each registered application and each type of memory, we
    # report a histogram of memory usage across all logged events for
    # this metric in the fleet.
    #
    # All histogram buckets have the same width.
    #####################################################################
    - report_name: application_memory_histograms_linear_constant_width
      id: 2
      report_type: FLEETWIDE_HISTOGRAMS
      int_buckets:
        linear:
          floor: 0
          num_buckets: 50
          step_size: 5000
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
    #####################################################################
    # application_memory_stats
    #
    # This is a fictional report used for the development of Cobalt 1.1.
    # For each registered application and each player action, we
    # report statistics of the memory usage across all logged events for
    # this metric in the fleet.
    #####################################################################
    - report_name: application_memory_stats
      id: 3
      report_type: FLEETWIDE_MEANS
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2021/02/27"

#####################################################################
# power_usage
#
# This is a fictional metric used for the development of Cobalt.
# Each hour, we log the foreground/background state of each
# application and a histogram bucket index corresponding to that
# application's power usage in mAh over the last hour.
#####################################################################
- id: 8
  metric_name: power_usage
  metric_type: INT_HISTOGRAM
  metric_dimensions:
    - dimension: application_state
      event_codes:
        0: Foreground
        1: Background
  int_buckets:
    linear:
      floor: 0
      num_buckets: 50
      step_size: 2
  reports:
    #####################################################################
    # power_usage_histograms
    #
    # This is a fictional report used for the development of Cobalt.
    # For each registered application name and each application state,
    # we report a histogram of the hourly power usage over all logged
    # events in the fleet.
    #####################################################################
    - report_name: power_usage_histograms
      id: 684544666 # legacy long report_id
      report_type: INT_RANGE_HISTOGRAM
      # A list of the application names which a device may report.
      candidate_list:
        - "audio_core"
        - "chromium"
        - "logger"
        - "netstack"
        - "scheduler"
        - "sysmng"
        - "view_manager"
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2020/09/16"

#####################################################################
# power_usage_new
#
# This is a fictional metric used for the development of Cobalt 1.1.
# Each hour, we log the foreground/background state of each
# application and a histogram bucket index corresponding to that
# application's power usage in mAh over the last hour.
#####################################################################
- id: 18
  metric_name: power_usage_new
  metric_type: INTEGER_HISTOGRAM
  metric_semantics: [METRIC_SEMANTICS_UNSPECIFIED]
  metric_units_other: "mAh"
  metric_dimensions:
    - dimension: application_state
      event_codes:
        0: Foreground
        1: Background
    - dimension: application_name
      event_codes: *application_names
  int_buckets:
    linear:
      floor: 0
      num_buckets: 50
      step_size: 2
  reports:
    #####################################################################
    # power_usage_histograms
    #
    # This is a fictional report used for the development of Cobalt 1.1.
    # For each registered application name and each application state,
    # we report a histogram of the hourly power usage over all logged
    # events in the fleet.
    #####################################################################
    - report_name: power_usage_histograms
      id: 1
      report_type: FLEETWIDE_HISTOGRAMS
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2021/02/27"

#####################################################################
# bandwidth_usage
#
# This is a fictional metric used for the development of Cobalt.
# Each hour, we log the foreground/background state of each
# application and a histogram bucket index corresponding to that
# application's bandwidth usage in KB over the last hour.
#####################################################################
- id: 9
  metric_name: bandwidth_usage
  metric_type: INT_HISTOGRAM
  metric_dimensions:
    - dimension: application_state
      event_codes:
        0: Foreground
        1: Background
  int_buckets:
    exponential:
      floor: 0
      num_buckets: 20
      initial_step: 100
      step_multiplier: 2
  reports:
    #####################################################################
    # bandwidth_usage_histograms
    #
    # This is a fictional report used for the development of Cobalt.
    # For each registered application name and each application state,
    # we report a histogram of the hourly bandwidth usage over all logged
    # events in the fleet.
    #####################################################################
    - report_name: bandwidth_usage_histograms
      id: 940759294 # legacy long report_id
      report_type: INT_RANGE_HISTOGRAM
      # A file listing the application names which a device may report.
      candidate_file: fuchsia/test_app2/application_names.txt
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2020/09/16"

#####################################################################
# bandwidth_usage_new
#
# This is a fictional metric used for the development of Cobalt 1.1.
# Each hour, we log the foreground/background state of each
# application and a histogram bucket index corresponding to that
# application's bandwidth usage in KB over the last hour.
#####################################################################
- id: 19
  metric_name: bandwidth_usage_new
  metric_type: INTEGER_HISTOGRAM
  metric_semantics: [NETWORK_COMMUNICATION]
  metric_units_other: "KB/hour"
  metric_dimensions:
    - dimension: application_state
      event_codes:
        0: Foreground
        1: Background
    - dimension: application_name
      event_codes: *application_names
  int_buckets:
    exponential:
      floor: 0
      num_buckets: 20
      initial_step: 100
      step_multiplier: 2
  reports:
    #####################################################################
    # bandwidth_usage_histograms
    #
    # This is a fictional report used for the development of Cobalt 1.1.
    # For each registered application name and each application state,
    # we report a histogram of the hourly bandwidth usage over all logged
    # events in the fleet.
    #####################################################################
    - report_name: bandwidth_usage_histograms
      id: 1
      report_type: FLEETWIDE_HISTOGRAMS
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2021/02/27"

#####################################################################
# connection_attempts
#
# This is a fictional metric used for the development of Cobalt.
# We log the number of successful and failed connection attempts,
# for each host, once per minute.
#####################################################################
- id: 10
  metric_name: connection_attempts
  metric_type: EVENT_COUNT
  metric_dimensions:
    - dimension: status
      event_codes:
        0: Success
        1: Failure
  reports:
    #####################################################################
    # connection_attempts_per_device_count
    #
    # This is a fictional report used for the development of Cobalt.
    # We use on-device aggregation to collect the per-device total
    # numbers of connection attempts over 1-day and 7-day rolling
    # windows. We then report aggregate statistics of those per-device
    # counts over the fleet, broken down by host name and status code.
    #####################################################################
    - report_name: connection_attempts_per_device_count
      id: 1503292911 # legacy long report_id
      report_type: PER_DEVICE_NUMERIC_STATS
      # A list of the host names which a device may report.
      candidate_list:
        - "HostA"
        - "HostB"
        - "HostC"
      window_size:
        - 1
        - 7
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2020/09/16"

#####################################################################
# connection_attempts_new
#
# This is a fictional metric used for the development of Cobalt 1.1.
# We log the number of successful and failed connection attempts,
# for each host, once per minute.
#####################################################################
- id: 20
  metric_name: connection_attempts_new
  metric_type: OCCURRENCE
  metric_semantics: [NETWORK_COMMUNICATION]
  metric_dimensions:
    - dimension: status
      event_codes:
        0: Success
        1: Failure
    - dimension: host_name
      event_codes:
        0: HostA
        1: HostB
        2: HostC
  reports:
    #####################################################################
    # connection_attempts_per_device_count
    #
    # This is a fictional report used for the development of Cobalt 1.1.
    # We use on-device aggregation to collect the per-device total
    # numbers of connection attempts over 1-day and 7-day rolling
    # windows. We then report aggregate statistics of those per-device
    # counts over the fleet, broken down by host name and status code.
    #####################################################################
    - report_name: connection_attempts_per_device_count
      id: 1
      report_type: UNIQUE_DEVICE_NUMERIC_STATS
      window_size:
        - 1
        - 7
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2021/02/27"

#####################################################################
# streaming_time
#
# This is a fictional metric used for the development of Cobalt.
# At the end of each media streaming event, we log the stream's
# duration.
#####################################################################
- id: 11
  metric_name: streaming_time
  metric_type: ELAPSED_TIME
  metric_dimensions:
    - dimension: type
      event_codes:
        0: StreamType0
        1: StreamType1
        2: StreamType2
  reports:
    #####################################################################
    # streaming_time_per_device_total
    #
    # This is a fictional report used for the development of Cobalt.
    # We use on-device aggregation to collect the per-device total
    # streaming time over 1-day and 7-day rolling windows. We then
    # report aggregate statistics of those per-device totals over the
    # fleet, broken down by module name and stream type.
    #####################################################################
    - report_name: streaming_time_per_device_total
      id: 2776160249 # legacy long report_id
      report_type: PER_DEVICE_NUMERIC_STATS
      # A list of the module names which a device may report.
      candidate_list:
        - "ModuleA"
        - "ModuleB"
        - "ModuleC"
      window_size:
        - 1
        - 7
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2020/09/16"

#####################################################################
# streaming_time_new
#
# This is a fictional metric used for the development of Cobalt.
# At the end of each media streaming event, we log the stream's
# duration.
#####################################################################
- id: 21
  metric_name: streaming_time_new
  metric_type: INTEGER
  metric_semantics: [LATENCY]
  metric_units: SECONDS
  metric_dimensions:
    - dimension: type
      event_codes:
        0: StreamType0
        1: StreamType1
        2: StreamType2
    - dimension: module_name
      event_codes:
        0: ModuleA
        1: ModuleB
        2: ModuleC
  reports:
    #####################################################################
    # streaming_time_per_device_total
    #
    # This is a fictional report used for the development of Cobalt.
    # We use on-device aggregation to collect the per-device total
    # streaming time over 1-day and 7-day rolling windows. We then
    # report aggregate statistics of those per-device totals over the
    # fleet, broken down by module name and stream type.
    #####################################################################
    - report_name: streaming_time_per_device_total
      id: 1
      report_type: UNIQUE_DEVICE_NUMERIC_STATS
      window_size:
        - 1
        - 7
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: DEBUG
    expiration_date: "2021/02/27"
