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

metric_definitions:

#####################################################################
# Next Metric ID: 7
#
# Reserved: Metric ID 4 (deleted in fxr/384365)
#####################################################################

#####################################################################
# modular_lifetime_events
#
# We log each time one of the following events occurs. A maximum of
# one Booted* event is expected per power cycle and a maximum of one
# CreateSession* event is expected per user session.
#####################################################################
- id: 1
  replacement_metric_id: 5
  metric_name: modular_lifetime_events
  metric_type: EVENT_OCCURRED
  metric_dimensions: &mle_dimensions
    # What kind of event occurred?
    - dimension: event_type
      event_codes:
        0: BootedToBaseMgr
        1: BootedToSessionMgr
        # A session was created where a new account ID was assigned.
        2: CreateSessionNewPersistentAccount
        # A session was created where a single random account ID
        # directory was successfully found.
        3: CreateSessionExistingPersistentAccount
        # A session was created where the account ID could not be
        # confirmed using the set of existing account directories.
        4: CreateSessionUnverifiablePersistentAccount
        # A session was created for an ephemeral account.
        5: CreateSessionNewEphemeralAccount
        # A session was created where the standard account ID = 0
        # directory was successfully found.
        6: CreateSessionExistingFixedAccount
        # A session was created where the standard account ID = 0
        # directory was successfully used, but others also existed.
        7: CreateSessionUnverifiableFixedAccount
      max_event_code: 10
  reports:
    #####################################################################
    # modular_lifetime_event_counts
    #
    # The total number of occurrences of each event type across the
    # fleet, for each day.
    #####################################################################
    - report_name: modular_lifetime_event_counts
      id: 1039746643 # legacy long report_id
      report_type: SIMPLE_OCCURRENCE_COUNT
      # Don't add any noise to observations. Report exact counts.
      local_privacy_noise_level: NONE
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2022/02/01"

- id: 5
  metric_name: modular_lifetime_events_migrated
  metric_type: OCCURRENCE
  metric_semantics: [USAGE_COUNTING]
  metric_dimensions: *mle_dimensions
  reports:
    #####################################################################
    # counts
    #
    # The total number of occurrences of each event type across the
    # fleet, for each day.
    #####################################################################
    - report_name: counts
      id: 1
      report_type: FLEETWIDE_OCCURRENCE_COUNTS
      # Don't add any noise to observations. Report exact counts.
      privacy_level: NO_ADDED_PRIVACY
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2022/02/01"

#####################################################################
# story_launch_time
#
# Each time a story is launched, we log its launch time in
# microseconds.
#####################################################################
- id: 3
  replacement_metric_id: 6
  metric_name: story_launch_time
  metric_type: ELAPSED_TIME
  metric_dimensions: &slt_dimensions
    # What was the status of the launch?
    - dimension: status
      event_codes:
        0: Success
        1: Failure
      max_event_code: 50
  reports:
    #####################################################################
    # story_launch_time_stats
    #
    # Statistics of the story launch time across the fleet, for each day.
    #####################################################################
    - report_name: module_launch_time_stats
      id: 3123328019 # legacy long report_id
      report_type: NUMERIC_AGGREGATION
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2022/02/01"

- id: 6
  metric_name: story_launch_time_migrated
  metric_type: INTEGER
  metric_units: MICROSECONDS
  metric_semantics: [LATENCY]
  metric_dimensions: *slt_dimensions
  reports:
    #####################################################################
    # stats
    #
    # Statistics of the story launch time across the fleet, for each day.
    #####################################################################
    - report_name: stats
      id: 1
      report_type: UNIQUE_DEVICE_NUMERIC_STATS
      local_aggregation_procedure: MEAN
      local_aggregation_period: WINDOW_1_DAY
      privacy_level: NO_ADDED_PRIVACY
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2022/02/01"
