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

##########################################################################
#  This file contains MetricDefinitions used in Logger tests.
#  It is compiled into per_device_histogram_test_registry.h, which is
#  included in testing_constants.h.
#
#  When editing this file, also update testing_constants.h with any
#  changes to report IDs or to local aggregation parameters.
##########################################################################

metric_definitions:

- id: 1
  metric_name: "SettingsChanged"
  metric_type: EVENT_COUNT
  metric_dimensions:
    - event_codes:
        0: SettingA
        1: SettingB
        2: SettingC
  reports:
    # Report ID: 2024497361
    - report_name: "SettingsChanged_PerDeviceHistogram"
      id: 1
      report_type: PER_DEVICE_HISTOGRAM
      int_buckets:
        linear:
          floor: 0
          num_buckets: 1000
          step_size: 50
      aggregation_type: SUM
      window_size:
        - 7
        - 30
  meta_data: &meta_data
    max_release_stage: GA

- id: 2
  metric_name: "ConnectionFailures"
  metric_type: EVENT_COUNT
  metric_dimensions:
    - event_codes:
        0: ErrorCode0
        1: ErrorCode1
        2: ErrorCode2
  reports:
    # Report ID: 2973951499
    - report_name: "ConnectionFailures_GlobalCount"
      id: 2
      report_type: EVENT_COMPONENT_OCCURRENCE_COUNT
  meta_data: *meta_data

- id: 3
  metric_name: "StreamingTime"
  metric_type: ELAPSED_TIME
  metric_dimensions:
    - event_codes:
        0: StreamTypeA
        1: StreamTypeB
        2: StreamTypeC
  reports:
    # Report ID: 2917574296
    - report_name: "StreamingTime_PerDeviceTotal"
      id: 3
      report_type: PER_DEVICE_HISTOGRAM
      aggregation_type: SUM
      window_size:
        - 1
  meta_data: *meta_data

- id: 4
  metric_name: "LoginModuleFrameRate"
  metric_type: FRAME_RATE
  metric_dimensions:
    - dimension: status
      event_codes:
        0: Success
        1: ErrorCode1
        2: ErrorCode2
  reports:
    # Report ID: 63534081
    - report_name: "LoginModuleFrameRate_PerDeviceMin"
      id: 4
      report_type: PER_DEVICE_HISTOGRAM
      aggregation_type: MIN
      window_size:
        - 1
        - 7
  meta_data: *meta_data

- id: 5
  metric_name: "LedgerMemoryUsage"
  metric_type: MEMORY_USAGE
  metric_dimensions:
    - dimension: status
      event_codes:
        0: Success
        1: ErrorCode1
        2: ErrorCode2
    - dimension: action
      event_codes:
        0: Action0
        1: Action1
  reports:
    # Report ID: 3379988036
    - report_name: "LedgerMemoryUsage_PerDeviceMax"
      id: 5
      report_type: PER_DEVICE_HISTOGRAM
      aggregation_type: MAX
      window_size:
        - 1
        - 7
  meta_data: *meta_data
