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

#####################################################################
# a2dp_codec_availability
#
# Log an event with a given codec event code if that codec is available
# on the remote peer when an A2DP connection is initiated.
#####################################################################
- id: 3
  replacement_metric_id: 103
  metric_name: "a2dp_codec_availability"
  metric_type: EVENT_OCCURRED
  metric_dimensions: &aca_dimensions
    - dimension: "codec"
      event_codes: &a2dp_codec_dimension
        0: Unknown
        1: SBC
        2: MPEG12
        3: AAC
        4: ATRAC
        5: VendorSpecific
      max_event_code: 8
  reports:
    #####################################################################
    # a2dp_remote_codec_availability
    #
    # Generate a histogram where the buckets are bluetooth codecs and
    # the frequency is measured in terms of availability on the remote
    # peer when an A2DP connection is initiated
    #####################################################################
    - report_name: a2dp_codec_availability
      id: 125264903 # legacy long report_id
      report_type: SIMPLE_OCCURRENCE_COUNT
      local_privacy_noise_level: NONE
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/12/29"

- id: 103
  metric_name: a2dp_codec_availability_migrated
  metric_type: OCCURRENCE
  metric_semantics: [NETWORK_COMMUNICATION]
  metric_dimensions: *aca_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]
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/12/29"


#####################################################################
# pairing_method
#
# Log an event with the given pairing method event code whenever a
# pairing request is made by this device or its peer.
#####################################################################
- id: 4
  replacement_metric_id: 104
  metric_name: "pairing_method"
  metric_type: EVENT_OCCURRED
  metric_dimensions: &pm_dimensions
    - dimension: "method"
      event_codes:
        0: Consent
        1: PasskeyDisplay
        2: PasskeyComparison
        3: PasskeyEntry
      max_event_code: 3
  reports:
    #####################################################################
    # pairing_frequency_by_method
    #
    # Generate a histogram where the buckets indicate the pairing method
    # used for a pairing request and the frequency is the count of
    # pairing requests initiated.
    #####################################################################
    - report_name: pairing_frequency_by_method
      id: 1812798440 # legacy long report_id
      report_type: SIMPLE_OCCURRENCE_COUNT
      local_privacy_noise_level: NONE
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/12/29"

- id: 104
  metric_name: pairing_method_migrated
  metric_type: OCCURRENCE
  metric_semantics: [USAGE_COUNTING]
  metric_dimensions: *pm_dimensions
  reports:
    - report_name: pairing_frequency_by_method
      id: 1
      report_type: FLEETWIDE_OCCURRENCE_COUNTS
      privacy_level: NO_ADDED_PRIVACY
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/12/29"




#####################################################################
# pairing_result
#
# Log an event with a success or error result event code everytime a
# pairing request is completed.
#####################################################################
- id: 5
  replacement_metric_id: 105
  metric_name: "pairing_result"
  metric_type: EVENT_OCCURRED
  metric_dimensions: &pr_dimensions
    - dimension: "result"
      event_codes:
        0: Success
        1: ErrorUnknown
        2: ErrorCanceled
        3: ErrorInProgress
        4: ErrorTimedOut
        5: ErrorNotFound
        6: ErrorNotSupported
        7: ErrorBluetoothNotAvailable
        8: ErrorBadState
        9: ErrorInvalidArguments
        10: ErrorAlready
        11: ErrorProtocolError
      max_event_code: 11
  reports:
    #####################################################################
    # pairing_result_frequency_by_result_reason
    #
    # Generate a histogram where the buckets indicate the pairing method
    # used for a pairing request and the frequency is the count of
    # pairing requests initiated.
    #####################################################################
    - report_name: pairing_result_frequency_by_result_reason
      id: 961937957 # legacy long report_id
      report_type: SIMPLE_OCCURRENCE_COUNT
      local_privacy_noise_level: NONE
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/12/29"

- id: 105
  metric_name: pairing_result_migrated
  metric_type: OCCURRENCE
  metric_semantics: [USAGE_COUNTING]
  metric_dimensions: *pr_dimensions
  reports:
    - report_name: pairing_result_frequency_by_result_reason
      id: 1
      report_type: FLEETWIDE_OCCURRENCE_COUNTS
      privacy_level: NO_ADDED_PRIVACY
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/12/29"


#####################################################################
# l2cap_open_channel
#
# Each time a new l2cap channel is created, an event is generated with
# the link layer type of channel specified and whether the reporting
# device is in the LL master role.
#####################################################################
- id: 6
  replacement_metric_id: 106
  metric_name: "l2cap_open_channel"
  metric_type: EVENT_COUNT
  metric_dimensions: &loc_dimensions
    - dimension: "link_layer_type"
      event_codes:
        0: ACL
        1: LE
    - dimension: "initiator"
      event_codes:
        0: "True"
        1: "False"
  reports:
    - report_name: l2cap_open_channel_frequency_by_type
      id: 637549880 # legacy long report_id
      report_type: NUMERIC_AGGREGATION
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/12/29"

- id: 106
  metric_name: l2cap_open_channel_migrated
  metric_type: OCCURRENCE
  metric_semantics: [USAGE_COUNTING]
  metric_dimensions: *loc_dimensions
  reports:
    - report_name: l2cap_open_channel_frequency_by_type
      id: 1
      report_type: HOURLY_VALUE_NUMERIC_STATS
      privacy_level: NO_ADDED_PRIVACY
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/12/29"


#####################################################################
# a2dp_remote_codec_availability
#
# Log an event with a given codec event code if that codec is available
# on the remote peer when an A2DP connection is initiated.
#####################################################################
- id: 7
  replacement_metric_id: 107
  metric_name: "a2dp_remote_codec_availability"
  metric_type: EVENT_OCCURRED
  metric_dimensions: &arca_dimensions
    - dimension: "codec"
      event_codes: *a2dp_codec_dimension
      max_event_code: 8
  reports:
    #####################################################################
    # a2dp_remote_codec_availability
    #
    # Generate a histogram where the buckets are bluetooth codecs and
    # the frequency is measured in terms of availability on the remote
    # peer when an A2DP connection is initiated
    #####################################################################
    - report_name: a2dp_remote_codec_availability
      id: 1101478648 # legacy long report_id
      report_type: SIMPLE_OCCURRENCE_COUNT
      local_privacy_noise_level: NONE
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/12/29"

- id: 107
  metric_name: a2dp_remote_codec_availability_migrated
  metric_type: OCCURRENCE
  metric_semantics: [USAGE_COUNTING]
  metric_dimensions: *arca_dimensions
  reports:
    - report_name: a2dp_remote_codec_availability
      id: 1
      report_type: FLEETWIDE_OCCURRENCE_COUNTS
      privacy_level: NO_ADDED_PRIVACY
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/12/29"


#####################################################################
# a2dp_stream_duration_in_seconds
#
# We log the number of seconds of audio streamed each time a stream
# ends, noting the audio codec used.
#####################################################################
- id: 8
  replacement_metric_id: 108
  metric_name: "a2dp_stream_duration_in_seconds"
  metric_type: ELAPSED_TIME
  metric_dimensions: &asdis_dimensions
    - dimension: "codec"
      event_codes: *a2dp_codec_dimension
  reports:
    #####################################################################
    # a2dp_total_number_of_seconds_streamed_per_device
    #
    # Statistical breakdown across the fleet of the number of seconds a
    # device was streaming A2DP audio during a day
    #####################################################################
    - report_name: a2dp_total_number_of_seconds_streamed_per_device
      report_type: PER_DEVICE_NUMERIC_STATS
      id: 1
      window_size:
        - 1
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]

    #####################################################################
    # a2dp_total_number_of_seconds_streamed_across_fleet
    #
    # Sum the total number of seconds of A2DP audio streamed across the
    # entire fleet of devices.
    #####################################################################
    - report_name: a2dp_total_number_of_seconds_streamed_across_fleet
      report_type: NUMERIC_AGGREGATION
      id: 2
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]

    #####################################################################
    # a2dp_stream_duration_in_seconds_per_connection
    #
    # Generate a histogram where the buckets are the length of A2DP audio
    # connections in seconds and the frequency is measured in terms of
    # all connections across all devices in the fleet.
    #####################################################################
    - report_name: a2dp_stream_duration_in_seconds_per_connection
      report_type: INT_RANGE_HISTOGRAM
      id: 3
      int_buckets:
        exponential:
          floor: 0
          num_buckets: 17 # 2^17 > 1 day in seconds
          initial_step: 1
          step_multiplier: 2
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/12/29"

- id: 108
  metric_name: a2dp_stream_duration_in_seconds_migrated
  metric_type: INTEGER
  metric_semantics: [NETWORK_COMMUNICATION]
  metric_units_other: "seconds" # TODO: switch to metric_units: SECONDS once logging is switched to
                                # log here directly
  metric_dimensions: *asdis_dimensions
  reports:
    - report_name: a2dp_total_number_of_seconds_streamed_per_device
      id: 1
      report_type: UNIQUE_DEVICE_NUMERIC_STATS
      privacy_level: NO_ADDED_PRIVACY
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
      local_aggregation_period: WINDOW_1_DAY
      local_aggregation_procedure: SUM_PROCEDURE
    - report_name: a2dp_total_number_of_seconds_streamed_across_fleet
      id: 2
      report_type: HOURLY_VALUE_NUMERIC_STATS
      privacy_level: NO_ADDED_PRIVACY
      local_aggregation_procedure: SUM_PROCEDURE
      system_profile_field: [BOARD_NAME, PRODUCT_NAME]
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/12/29"

#####################################################################
# bt_host_adapter_event
#
# We log host adapter events and usage to understand adapter feature
# usage
#####################################################################
- id: 9
  metric_name: bt_host_adapter_event
  metric_type: OCCURRENCE
  metric_semantics: [USAGE_COUNTING]
  metric_dimensions:
    - dimension: "mode"
      event_codes:
        0: LE
        1: BrEdr
      max_event_code: 3
    - dimension: "event"
      event_codes:
        0: OpenL2capChannelRequest
        1: OutgoingConnectionRequest
        2: PairRequest
        3: RequestDiscoverable
        4: RequestDiscovery
        5: SetConnectableTrue
        6: SetConnectableFalse
        7: StartAdvertising
        8: StopAdvertising
        9: StartDiscovery
  reports:
    - report_name: bt_host_adapter_fleetwide_events
      id: 1
      report_type: FLEETWIDE_OCCURRENCE_COUNTS
      privacy_level: NO_ADDED_PRIVACY
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, ARCH, SYSTEM_VERSION, OS, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/12/29"

#####################################################################
# bt_host_peer_bonding_event
#
# We log host peer bonding success and failures to understand feature
# usage and detect unexpected failure rate deltas across versions
#####################################################################
- id: 10
  metric_name: bt_host_peer_bonding_event
  metric_type: OCCURRENCE
  metric_semantics: [USAGE_COUNTING]
  metric_dimensions:
    - dimension: "mode"
      event_codes:
        0: LE
        1: BrEdr
    - dimension: "event"
      event_codes:
        0: Success
        1: Failure
  reports:
    - report_name: bt_host_peer_bonding_fleetwide_events
      id: 1
      report_type: FLEETWIDE_OCCURRENCE_COUNTS
      privacy_level: NO_ADDED_PRIVACY
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, ARCH, SYSTEM_VERSION, OS, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/12/29"

#####################################################################
# bt_host_peer_connection_event
#
# We log host peer connection success and failures to understand
# usage and detect unexpected failure rate deltas across versions
#####################################################################
- id: 11
  metric_name: bt_host_peer_connection_event
  metric_type: OCCURRENCE
  metric_semantics: [USAGE_COUNTING]
  metric_dimensions:
    - dimension: "mode"
      event_codes:
        0: LE
        1: BrEdr
    - dimension: "event"
      event_codes:
        0: Success
        1: Failure
  reports:
    - report_name: bt_host_peer_connection_fleetwide_events
      id: 1
      report_type: FLEETWIDE_OCCURRENCE_COUNTS
      privacy_level: NO_ADDED_PRIVACY
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, ARCH, SYSTEM_VERSION, OS, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2021/12/29"