# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

# Adding a new metric? We have docs for that!
# https://firefox-source-docs.mozilla.org/toolkit/components/glean/user/new_definitions_file.html

---
$schema: moz://mozilla.org/schemas/glean/metrics/2-0-0
$tags:
  - 'Core :: Layout'

layout:
  refresh_driver_tick:
    type: timing_distribution
    description: >
      Total time spent ticking the refresh driver in milliseconds

      This metric was generated to correspond to the Legacy Telemetry
      exponential histogram REFRESH_DRIVER_TICK.
    time_unit: millisecond
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1956726
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1956726
    notification_emails:
      - gfx-telemetry-alerts@mozilla.com
      - rhunt@mozilla.com
    expires: never

  paint_rasterize_time:
    type: timing_distribution
    description: >
      Time spent rasterizing each frame in milliseconds

      This metric was generated to correspond to the Legacy Telemetry
      exponential histogram PAINT_RASTERIZE_TIME.
    time_unit: millisecond
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1956726
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1956726
    notification_emails:
      - gfx-telemetry-alerts@mozilla.com
      - rhunt@mozilla.com
    expires: never

  refresh_driver_chrome_frame_delay:
    type: timing_distribution
    description: >
      Delay in ms between the target and the actual handling time of the frame
      at refresh driver in the chrome process.

      This metric was generated to correspond to the Legacy Telemetry
      exponential histogram FX_REFRESH_DRIVER_CHROME_FRAME_DELAY_MS.
    time_unit: millisecond
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1220699
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1220699
    notification_emails:
      - perf-telemetry-alerts@mozilla.com
      - gfx-telemetry-alerts@mozilla.com
      - rhunt@mozilla.com
    expires: never

  refresh_driver_content_frame_delay:
    type: timing_distribution
    description: >
      Delay in ms between the target and the actual handling time of the frame
      at refresh driver in the content process.

      This metric was generated to correspond to the Legacy Telemetry
      exponential histogram FX_REFRESH_DRIVER_CONTENT_FRAME_DELAY_MS.
    time_unit: millisecond
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1221674
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1221674
    notification_emails:
      - perf-telemetry-alerts@mozilla.com
      - gfx-telemetry-alerts@mozilla.com
      - rhunt@mozilla.com
    expires: never

  input_event_response:
    type: timing_distribution
    description: >
      Time (ms) from the Input event being created to the end of it being
      handled

      This metric was generated to correspond to the Legacy Telemetry
      exponential histogram INPUT_EVENT_RESPONSE_MS.
    time_unit: millisecond
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1235908
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1511919
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2025565
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1235908
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1511919
    notification_emails:
      - perf-telemetry-alerts@mozilla.com
    expires: never

  input_event_response_coalesced:
    type: timing_distribution
    description: >
      Time (ms) from the Input event being created to the end of it being
      handled, but with overlapping events coalesced.

      This metric was generated to correspond to the Legacy Telemetry
      exponential histogram INPUT_EVENT_RESPONSE_COALESCED_MS.
    time_unit: millisecond
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1357457
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1489524
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2025565
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1357457
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1489524
    notification_emails:
      - perf-telemetry-alerts@mozilla.com
    expires: never

  load_input_event_response:
    type: timing_distribution
    description: >
      Time (ms) from the Input event being created to the end of it being
      handled for events handling during page load only

      This metric was generated to correspond to the Legacy Telemetry
      exponential histogram LOAD_INPUT_EVENT_RESPONSE_MS.
    time_unit: millisecond
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1298101
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2025565
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1298101
    notification_emails:
      - perf-telemetry-alerts@mozilla.com
    expires: never

  long_reflow_interruptible:
    type: labeled_counter
    description: >
      Long running reflow, interruptible or not

      This metric was generated to correspond to the Legacy Telemetry boolean
      histogram LONG_REFLOW_INTERRUPTIBLE.
    labels:
      - "false"
      - "true"
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1956726
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1956726
    notification_emails:
      - perf-telemetry-alerts@mozilla.com
    expires: never

  time_to_first_interaction:
    type: timing_distribution
    description: >
      Time in milliseconds from the first non-blank paint to the creation time
      of the next click, key, mouse or scroll event per top-level content
      browsing context.

      This metric was generated to correspond to the Legacy Telemetry
      exponential histogram TIME_TO_FIRST_INTERACTION_MS.
    time_unit: millisecond
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1332511
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1489524
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1332511
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1489524
    notification_emails:
      - perf-telemetry-alerts@mozilla.com
    expires: never

  input_event_queued_click:
    type: timing_distribution
    description: >
      Time (ms) for the mouse up/down event to dispatch, but before handlers
      executing.

      This metric was generated to correspond to the Legacy Telemetry
      exponential histogram INPUT_EVENT_QUEUED_CLICK_MS.
    time_unit: millisecond
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1341531
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1341531
    notification_emails:
      - bschouten@mozilla.com
    expires: never

  input_event_queued_keyboard:
    type: timing_distribution
    description: >
      Time (ms) for the keyboard event to dispatch, but before handlers
      executing.

      This metric was generated to correspond to the Legacy Telemetry
      exponential histogram INPUT_EVENT_QUEUED_KEYBOARD_MS.
    time_unit: millisecond
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1341531
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1341531
    notification_emails:
      - bschouten@mozilla.com
    expires: never
