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

metric_definitions:

#####################################################################
# Records the time from scenic latch point to actual presentation.
#
# Latch point is when Scenic wakes up to prepare the new frame.
# Each time a frame is presented, FrameStats::RecordFrame is triggered
# and the time between latch point to actual presentation is added to
# a histogram. The histogram data is flushed into Cobalt every 10 minutes.
# If no frame is presented in the past 10 minutes (which rarely happens),
# logging will be skipped.
# Unit: 0.1 millisec
# Bucket size: 0.5 millisec
#####################################################################
- id: 1
  metric_name: scenic_latch_to_actual_presentation
  metric_type: INT_HISTOGRAM
  replacement_metric_id: 101
  metric_dimensions: &sltap_dimensions
    - dimension: frame_status # Whether the frame is presented ontime / delayed / dropped.
      event_codes:
        0: OnTime
        1: Delayed
        2: Dropped
  int_buckets: &sltap_buckets
    linear:
      floor: 0
      num_buckets: 140 # 70 millisec
      step_size: 5     # 0.5 millisec
  reports:
    - report_name: scenic_latch_to_actual_presentation_histogram
      id: 399182032 # legacy long report_id
      report_type: INT_RANGE_HISTOGRAM
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, ARCH, SYSTEM_VERSION, OS, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2022/03/04"

- id: 101
  metric_name: scenic_latch_to_actual_presentation_migrated
  metric_type: INTEGER_HISTOGRAM
  metric_units: MILLISECONDS
  metric_semantics: [LATENCY]
  metric_dimensions: *sltap_dimensions
  int_buckets: *sltap_buckets
  reports:
    - report_name: scenic_latch_to_actual_presentation_histogram
      id: 1
      report_type: FLEETWIDE_HISTOGRAMS
      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: "2022/03/04"


#####################################################################
# Records the scenic frame rendering time for all recorded frames (
# regardless of whether the frame is ontime / delayed / dropped).
#
# Each time a frame is presented, FrameStats::RecordFrame is triggered
# and the time between rendering start and rendering done is added to
# a histogram. The histogram data is flushed into Cobalt every 10 minutes.
# If no frame is presented in the past 10 minutes (which rarely happens),
# logging will be skipped.
# Unit: 0.1 millisec
# Bucket size: 0.5 millisec
#####################################################################
- id: 2
  metric_name: scenic_render_time
  metric_type: INT_HISTOGRAM
  replacement_metric_id: 102
  int_buckets: &srt_buckets
    linear:
      floor: 0
      num_buckets: 140 # 70 millisec
      step_size: 5     # 0.5 millisec
  reports:
    - report_name: scenic_render_time_histogram
      id: 2034434512 # legacy long report_id
      report_type: INT_RANGE_HISTOGRAM
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, ARCH, SYSTEM_VERSION, OS, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2022/03/04"

- id: 102
  metric_name: scenic_render_time_migrated
  metric_type: INTEGER_HISTOGRAM
  metric_units: MILLISECONDS
  metric_semantics: [LATENCY]
  int_buckets: *srt_buckets
  reports:
    - report_name: scenic_render_time_histogram
      id: 1
      report_type: FLEETWIDE_HISTOGRAMS
      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: "2022/03/04"

#####################################################################
# Records the occurrence of rare events.  The expected frequencies vary
# per event type, see below.
#####################################################################
- id: 3
  metric_name: scenic_rare_event
  metric_type: EVENT_OCCURRED
  replacement_metric_id: 103
  metric_dimensions: &sre_dimensions
    - dimension: event
      event_codes:
         # This event is expected to never occur.  If it does, this is a
         # sign that Scenic is not properly warming the Vulkan pipeline
         # cache at startup; a bug should be filed.
         0: LazyPipelineCreation
      max_event_code: 127
  reports:
    - report_name: scenic_rare_event_counts
      id: 1
      report_type: SIMPLE_OCCURRENCE_COUNT
      local_privacy_noise_level: NONE
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, ARCH, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2022/03/04"

- id: 103
  metric_name: scenic_rare_event_migrated
  metric_type: OCCURRENCE
  metric_semantics: [USAGE_COUNTING]
  metric_dimensions: *sre_dimensions
  reports:
    - report_name: scenic_rare_event_counts
      id: 1
      report_type: FLEETWIDE_OCCURRENCE_COUNTS
      privacy_level: NO_ADDED_PRIVACY
      system_profile_field: [BOARD_NAME, PRODUCT_NAME, ARCH, SYSTEM_VERSION, CHANNEL]
  meta_data:
    max_release_stage: GA
    expiration_date: "2022/03/04"
