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

metric_definitions:

#########################################################################################
# session_launch_time
#
# The session launch time is the time it takes session manager to create and bind to
# a child session component. Each time a session is launched, we log its launch time in
# microseconds together with the launch's success status and the URL of the session.
#########################################################################################
- id: 101
  metric_name: session_launch_time_migrated
  metric_type: INTEGER
  metric_units: MICROSECONDS
  metric_semantics: [LATENCY]
  metric_dimensions:
    # What was the status of the launch?
    - dimension: status
      event_codes:
        0: Success
        1: Failure
      max_event_code: 50
  reports:
    #########################################################################################
    # session_launch_time_stats
    #
    # Statistics of the launch time of each session, across all launches
    # of that session, for each day.
    #########################################################################################
    - report_name: session_launch_time_stats
      id: 1
      report_type: FLEETWIDE_MEANS
      privacy_level: NO_ADDED_PRIVACY
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2022/01/07"

#########################################################################################
# element_launch_time
#
# The element launch time is the time it takes a session to create and bind to
# a child element component. Each time an element is launched, we log its launch time in
# microseconds together with the launch's success status and the URL of the element.
#########################################################################################
- id: 102
  metric_name: element_launch_time_migrated
  metric_type: INTEGER
  metric_dimensions:
    # What was the status of the launch?
    - dimension: status
      event_codes:
        0: Success
        1: Failure
      max_event_code: 50
  metric_units: MICROSECONDS
  metric_semantics: [LATENCY]
  reports:
    #########################################################################################
    # element_launch_time_stats
    #
    # Statistics of the launch time of each element, across all launches
    # of that element, for each day.
    #########################################################################################
    - report_name: element_launch_time_stats
      id: 1
      report_type: FLEETWIDE_MEANS
      privacy_level: NO_ADDED_PRIVACY
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2022/01/07"

# Deleted metric IDs that must not be reused.
deleted_metric_ids: [1,2]
