# Copyright 2019 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

################################################################################
# Cobalt Project: software_delivery
################################################################################

metric_definitions:

################################################################################
# System Up To Date
#
# Used to log the fact that an update check was performed, but the system is
# already running the latest version.
################################################################################
- id: 1
  metric_name: system_up_to_date
  # The count will always be one.
  metric_type: EVENT_COUNT
  metric_dimensions:
      # What initiated the update check?
    - dimension: initiator
      event_codes:
        0: AutomaticUpdateCheck
        1: UserInitiatedCheck
      # When did the update check occur?
    - dimension: hour_of_day
      max_event_code: 23
  reports:
    - report_name: system_up_to_date_counts
      id: 3897546620 # legacy long report_id
      report_type: NUMERIC_AGGREGATION
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
    - report_name: system_up_to_date_per_device_count
      id: 2703326378 # legacy long report_id
      report_type: PER_DEVICE_NUMERIC_STATS
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
      window_size:
        - 1
  meta_data:
    max_release_stage: GA
    expiration_date: "2020/04/15"

################################################################################
# OTA Start
#
# Used to log the fact that an update is available and is being applied.
################################################################################
- id: 2
  metric_name: ota_start
  metric_type: EVENT_COUNT
  metric_dimensions:
      # What initiated the update check?
    - dimension: initiator
      event_codes:
        0: AutomaticUpdateCheck
        1: UserInitiatedCheck
      # When did the update check occur?
    - dimension: hour_of_day
      max_event_code: 23
  reports:
    - report_name: ota_start_counts
      id: 276244619 # legacy long report_id
      report_type: NUMERIC_AGGREGATION
      # The |component| string is used to capture the target build version
      candidate_file: fuchsia/software_delivery/build_versions.txt
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION]
  meta_data:
    max_release_stage: GA
    expiration_date: "2020/04/15"

################################################################################
# OTA Result Attempts
#
# Used to log OTA attempt number, at the point that update was applied and is
# ready to be booted, or an error was encountered during the update attempt
################################################################################
- id: 3
  metric_name: ota_result_attempts
  # The value of the count will be the attempt number.
  metric_type: EVENT_COUNT
  metric_dimensions:
      # What initiated the update check?
    - dimension: initiator
      event_codes:
        0: AutomaticUpdateCheck
        1: UserInitiatedCheck
      # At which phase did the update terminate?
    - dimension: phase
      event_codes: &ota_result_termination_phases
        1: TUFUpdate
        2: PackageDownload
        3: ImageWrite
        4: SuccessPendingReboot
        5: Success
    - dimension: status_code
      event_codes: &ota_result_status_codes
        0: success
        1: error
        2: error_storage
        3: error_storage_out_of_space
        4: error_networking
        5: error_untrusted_tuf_repo
  reports:
    - report_name: ota_result_attempts_histogram
      id: 1235984927 # legacy long report_id
      report_type: INT_RANGE_HISTOGRAM
      # The |component| string is used to capture the target build version
      candidate_file: fuchsia/software_delivery/build_versions.txt
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION]
      int_buckets:
        linear:
          floor: 0
          num_buckets: 100
          step_size: 1
    - report_name: ota_result_attempts
      id: 1004304452 # legacy long report_id
      report_type: NUMERIC_AGGREGATION
      # The |component| string is used to capture the target build version
      candidate_file: fuchsia/software_delivery/build_versions.txt
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION]
  meta_data:
    max_release_stage: GA
    expiration_date: "2020/04/15"


################################################################################
# OTA Result Duration
#
# Used to log the duration of an OTA at the point that an update was
# applied and is ready to be booted, or an error was encountered during the
# update attempt
################################################################################
- id: 4
  metric_name: ota_result_duration
  # How long the update took from start to finish (not counting any necessary
  # reboot), in milliseconds
  metric_type: ELAPSED_TIME
  metric_dimensions:
      # What initiated the update check?
    - dimension: initiator
      event_codes:
        0: AutomaticUpdateCheck
        1: UserInitiatedCheck
      # At which phase did the update terminate?
    - dimension: phase
      event_codes: *ota_result_termination_phases
    - dimension: status_code
      event_codes: *ota_result_status_codes
  reports:
    - report_name: ota_result_duration_histogram
      id: 845188937 # legacy long report_id
      report_type: INT_RANGE_HISTOGRAM
      # The |component| string is used to capture the target build version
      candidate_file: fuchsia/software_delivery/build_versions.txt
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION]
      int_buckets:
        linear:
          floor: 0
          num_buckets: 100
          step_size: 500
    - report_name: ota_result_duration__stats
      id: 3514494109 # legacy long report_id
      report_type: NUMERIC_AGGREGATION
      # The |component| string is used to capture the target build version
      candidate_file: fuchsia/software_delivery/build_versions.txt
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION]
  meta_data:
    max_release_stage: GA
    expiration_date: "2020/04/15"


################################################################################
# OTA Result Free-Space Delta
#
# Used to log the delta between the free space after the OTA and the free space
# before the OTA, at the point that update was applied and is ready to be
# booted, or an error was encountered during the update attempt
################################################################################
- id: 5
  metric_name: ota_result_free_space_delta
  metric_type: EVENT_COUNT
  metric_dimensions:
      # What initiated the update check?
    - dimension: initiator
      event_codes:
        0: AutomaticUpdateCheck
        1: UserInitiatedCheck
      # At which phase did the update terminate?
    - dimension: phase
      event_codes: *ota_result_termination_phases
    - dimension: status_code
      event_codes: *ota_result_status_codes
  reports:
    - report_name: ota_result_free_space_delta_stats
      id: 4160859516 # legacy long report_id
      report_type: NUMERIC_AGGREGATION
      # The |component| string is used to capture the target build version
      candidate_file: fuchsia/software_delivery/build_versions.txt
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: GA
    expiration_date: "2020/04/15"

################################################################################
# Fetch Blob Success
#
# Used to log a 1 every time fetch_blob fails or succeeds. This statistic does
# not dedup retries. This would happens a lot after a new package was registered
# but infrequently after that. This would occur thousands of times after an
# update over a few minute or so. Updates are expected to be monthly however. So
# bursts of more than one per second are expected.
################################################################################
- id: 6
  metric_name: fetch_blob
  metric_type: EVENT_COUNT
  metric_dimensions:
    - dimension: result
      event_codes:
        0: success
        1: CreateBlob
        2: BadHttpStatus
        3: NoMirrors
        4: ContentLengthMismatch
        5: UnknownLength
        6: BlobTooSmall
        7: BlobTooLarge
        8: Truncate
        9: Write
        10: Hyper
        11: Http
        12: BlobUrl
  reports:
    - report_name: fetch_blob_stats
      id: 1
      report_type: PER_DEVICE_NUMERIC_STATS
      window_size:
        - 1
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
    - report_name: fetch_blob_hist
      id: 2
      report_type: PER_DEVICE_HISTOGRAM
      int_buckets:
        linear:
          floor: 0
          num_buckets: 100
          step_size: 20
      window_size:
        - 1
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/03/18"

################################################################################
# Is Font Package Check
#
# Triggered each time the font resolver is asked to resolve a package. This
# event logs a 1 and whether the package was a font package or not. We expect
# this to happen rarely, only a few times after certain applications start.
# Perhaps once per hour at most. We expect that only font packages should be
# requested from the font resolver so we should never log a not_font result.
################################################################################
- id: 7
  metric_name: is_font_package_check
  metric_type: EVENT_COUNT
  metric_dimensions:
    - dimension: result
      event_codes:
        0: not_font
        1: font
  reports:
    - report_name: is_font_package_check_stats
      id: 1
      report_type: PER_DEVICE_NUMERIC_STATS
      window_size:
        - 1
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
    - report_name: is_font_package_check_hist
      id: 2
      report_type: PER_DEVICE_HISTOGRAM
      int_buckets:
        linear:
          floor: 0
          num_buckets: 50
          step_size: 1
      window_size:
        - 1
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/03/18"

################################################################################
# Font Manager Load Static Registry
#
# Occurs when the FontPackageManager tries to load a static registry. Logs a 1
# along with the load result. This would only occur once per boot, so about once
# per month.
################################################################################
- id: 8
  metric_name: font_manager_load_static_registry
  metric_type: EVENT_COUNT
  metric_dimensions:
    - dimension: result
      event_codes:
        0: success
        1: Io
        2: Parse
        3: PkgUrl
  reports:
    - report_name: is_font_package_check_stats
      id: 1
      report_type: PER_DEVICE_NUMERIC_STATS
      window_size:
        - 1
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
    - report_name: font_manager_load_static_registry_hist
      id: 2
      report_type: PER_DEVICE_HISTOGRAM
      int_buckets:
        linear:
          floor: 0
          num_buckets: 20
          step_size: 1
      window_size:
        - 1
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/03/18"

################################################################################
# Package Resolver Startup Duration
#
# Tracks the time it takes the package resolver to startup. Events occur
# once per boot.
################################################################################
- id: 9
  metric_name: pkg_resolver_startup_duration
  metric_type: ELAPSED_TIME
  reports:
    - report_name: pkg_resolver_startup_duration_stats
      id: 1
      report_type: PER_DEVICE_HISTOGRAM
      int_buckets:
        linear:
          floor: 0
          num_buckets: 100
          step_size: 250
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
      aggregation_type: MAX
      window_size:
        - 1
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/03/18"


################################################################################
# Repository Manager Load Static Configs
#
# Occurs when RepositoryManager attempts to load static repo configs. Logs a 1
# along with the load result. Occurs once per boot.
################################################################################
- id: 10
  metric_name: repository_manager_load_static_configs
  metric_type: EVENT_COUNT
  metric_dimensions:
    - dimension: result
      event_codes:
        0: success
        1: Io
        2: Parse
        3: Overridden
  reports:
    - report_name: repository_manager_load_static_configs_stats
      id: 1
      report_type: PER_DEVICE_NUMERIC_STATS
      window_size:
        - 1
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
    - report_name: repository_manager_load_static_configs_hist
      id: 2
      report_type: PER_DEVICE_HISTOGRAM
      int_buckets:
        linear:
          floor: 0
          num_buckets: 30
          step_size: 1
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
      window_size:
        - 1
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/03/18"

################################################################################
# Repository Manager Load Repository for Channel
#
# Occurs when RepositoryManager tries to find a repo config for a channel. Logs
# a 1 and whether loading the repository was successful or not. Occurs once per
# boot.
################################################################################
- id: 11
  metric_name: repository_manager_load_repository_for_channel
  metric_type: EVENT_COUNT
  metric_dimensions:
    - dimension: result
      event_codes:
        0: failure
        1: success
  reports:
    - report_name: repository_manager_load_repository_for_channel_stats
      id: 1
      report_type: PER_DEVICE_NUMERIC_STATS
      window_size:
        - 1
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
    - report_name: repository_manager_load_repository_for_channel_hist
      id: 2
      report_type: PER_DEVICE_HISTOGRAM
      int_buckets:
        linear:
          floor: 0
          num_buckets: 30
          step_size: 1
      window_size:
        - 1
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/03/18"

################################################################################
# Create TUF Client
#
# Triggers when Repository tries to create a tuf client. Logs a 1 and the status
# of creating the TUF client. This happens once per boot.
################################################################################
- id: 12
  metric_name: create_tuf_client
  metric_type: EVENT_COUNT
  metric_dimensions:
    - dimension: result
      event_codes:
        0: success
        1: BadSignature
        2: Encoding
        3: ExpiredMetadata
        4: IllegalArgument
        5: MissingMetadata
        6: NoSupportedHashAlgorithm
        7: NotFound
        8: Opaque
        9: Programming
        10: TargetUnavaliable
        11: UnknownKeyType
        12: VerificationFailure
  reports:
    - report_name: create_tuf_client_stats
      id: 1
      report_type: PER_DEVICE_NUMERIC_STATS
      window_size:
        - 1
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
    - report_name: create_tuf_client_hist
      id: 2
      report_type: PER_DEVICE_HISTOGRAM
      int_buckets:
        linear:
          floor: 0
          num_buckets: 30
          step_size: 1
      window_size:
        - 1
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/03/18"

################################################################################
# Update TUF Client
#
# Occurs when UpdatingTufClient tries to update. Logs a 1 and the update status.
# If an error occurs it logs the error type. This would happen roughly once per
# month.
################################################################################
- id: 13
  metric_name: update_tuf_client
  metric_type: EVENT_COUNT
  metric_dimensions:
    - dimension: result
      event_codes:
        0: success
        1: BadSignature
        2: Encoding
        3: ExpiredMetadata
        4: IllegalArgument
        5: MissingMetadata
        6: NoSupportedHashAlgorithm
        7: NotFound
        8: Opaque
        9: Programming
        10: TargetUnavaliable
        11: UnknownKeyType
        12: VerificationFailure
  reports:
    - report_name: update_tuf_client_stats
      id: 1
      report_type: PER_DEVICE_NUMERIC_STATS
      window_size:
        - 1
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
    - report_name: update_tuf_client_hist
      id: 2
      report_type: PER_DEVICE_HISTOGRAM
      int_buckets:
        linear:
          floor: 0
          num_buckets: 20
          step_size: 1
      window_size:
        - 1
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/03/18"

################################################################################
# Resolve
#
# Triggers when resolving a package. Logs a 1 and the status of the resolve
# which indicates the error type or if everything was succesful. Event codes for
# each status are positive versions of the execulisively negative error codes
# used in zircon. This would happen basically every time a componet was run or
# in a burst after an OTA. It's not clear how often this would happen but bursts
# of greater than one per second are expected, such as at boot. After that
# running a componet is expected to be much more rare.
################################################################################
- id: 14
  metric_name: resolve
  metric_type: EVENT_COUNT
  metric_dimensions:
    - dimension: result
      event_codes:
        0: ZX_OK
        1: ZX_ERR_INTERNAL
        2: ZX_ERR_NOT_SUPPORTED
        3: ZX_ERR_NO_RESOURCES
        4: ZX_ERR_NO_MEMORY
        6: ZX_ERR_INTERNAL_INTR_RETRY
        10: ZX_ERR_INVALID
        11: ZX_ERR_BAD_HANDLE
        12: ZX_ERR_WRONG_TYPE
        13: ZX_ERR_BAD_SYSCALL
        14: ZX_ERR_OUT_OF_RANGE
        15: ZX_ERR_BUFFER_TOO_SMALL
        20: ZX_ERR_BAD_STATE
        21: ZX_ERR_TIMED_OUT
        22: ZX_ERR_SHOULD_WAIT
        23: ZX_ERR_CANCLED
        24: ZX_ERR_PEER_CLOSED
        25: ZX_ERR_NOT_FOUND
        26: ZX_ERR_ALREADY_EXISTS
        27: ZX_ERR_ALREADY_BOUND
        28: ZX_ERR_UNAVAILABLE
        30: ZX_ERR_ACCESS_DENIED
        40: ZX_ERR_IO
        41: ZX_ERR_IO_REFUSED
        42: ZX_ERR_IO_DATA_INTEGRITY
        43: ZX_ERR_IO_DATA_LOSS
        44: ZX_ERR_IO_NOT_PRESENT
        45: ZX_ERR_IO_OVERRUN
        46: ZX_ERR_IO_MISSED_DEADLINE
        47: ZX_ERR_IO_INVALID
        50: ZX_ERR_BAD_PATH
        51: ZX_ERR_NOT_DIR
        52: ZX_ERR_NOT_FILE
        53: ZX_ERR_FILE_BIG
        54: ZX_ERR_NO_SPACE
        55: ZX_ERR_NOT_EMPTY
        60: ZX_ERR_STOP
        61: ZX_ERR_NEXT
        62: ZX_ERR_ASYNC
        70: ZX_ERR_PROTOCOL_NOT_SUPPORTED
        71: ZX_ERR_ADDRESS_UNREACHABLE
        72: ZX_ERR_ADDRESS_IN_USE
        73: ZX_ERR_NOT_CONNECTED
        74: ZX_ERR_CONNECTION_REFUSED
        75: ZX_ERR_CONNECTION_RESET
        76: ZX_ERR_CONNECTION_ABORTED
    - dimension: resolver_type
      event_codes:
        0: font
        1: regular
  reports:
    - report_name: resolve_stats
      id: 1
      report_type: PER_DEVICE_NUMERIC_STATS
      window_size:
        - 1
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
    - report_name: resolve_hist
      id: 2
      report_type: PER_DEVICE_HISTOGRAM
      int_buckets:
        linear:
          floor: 0
          num_buckets: 1000
          step_size: 100
      window_size:
        - 1
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/03/18"

################################################################################
# Resolve Duration
#
# Occurs after a package has finished resolving, successful or otherwise. Tracks
# how long it takes to resolve a package. This is expected to take under a few
# seconds. This event occurs in bursts during boot or after OTA and then rarely
# after that. Bursts of greater than one per second are expected.
################################################################################
- id: 15
  metric_name: resolve_duration
  metric_type: ELAPSED_TIME
  metric_dimensions:
    - dimension: result
      event_codes:
        0: failure
        1: success
    - dimension: resolver_type
      event_codes:
        0: font
        1: regular
  reports:
    - report_name: resolve_duration_stats
      id: 1
      report_type: PER_DEVICE_HISTOGRAM
      int_buckets:
        linear:
          floor: 0
          num_buckets: 600
          step_size: 1000
      window_size:
        - 1
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
      aggregation_type: MAX
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/03/18"

################################################################################
# Package Cache Open
#
# Occurs whenever a blob is opened in pkg-cache. Logs a 1 and the open status.
# If an error does occur it gives the error type. It's expected to occur in
# bursts during boot at greater than one per second but then become rare after
# that.
################################################################################
- id: 16
  metric_name: pkg_cache_open
  metric_type: EVENT_COUNT
  metric_dimensions:
    - dimension: result
      event_codes:
        0: success
        1: NotFound
        2: Io
  reports:
    - report_name: pkg_cache_open_stats
      id: 1
      report_type: PER_DEVICE_NUMERIC_STATS
      window_size:
        - 1
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
    - report_name: pkg_cache_open_hist
      id: 2
      report_type: PER_DEVICE_HISTOGRAM
      int_buckets:
        linear:
          floor: 0
          num_buckets: 300
          step_size: 10
      window_size:
        - 1
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/03/18"
