# 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 :: XPConnect'


performance.clone.deserialize:
  size:
    description: >
      Size of deserialized data, in bytes
    type: memory_distribution
    memory_unit: byte
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1717631
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1717631#c4
    notification_emails:
      - sfink@mozilla.com
    expires: never

  items:
    description: >
      Size of deserialized data, in items
    type: custom_distribution
    unit: Serialized items
    histogram_type: exponential
    range_max: 2147483646
    bucket_count: 50
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1717631
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1717631#c4
    notification_emails:
      - sfink@mozilla.com
    expires: never

  time:
    description: >
      Time spent deserializing structured data
    type: timing_distribution
    time_unit: microsecond
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1717631
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1717631#c4
    notification_emails:
      - sfink@mozilla.com
    expires: never


javascript.gc:
  total_time:
    type: timing_distribution
    time_unit: millisecond
    description: >
      The total time taken by a major collection.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877843
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419#c8
    notification_emails:
      - dev-telemetry-gc-alerts@mozilla.org
      - jcoppeard@mozilla.com
    expires: never

  minor_time:
    type: timing_distribution
    time_unit: microsecond
    description: >
      The time taked by a minor (nursery) collection.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877843
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419#c17
    notification_emails:
      - dev-telemetry-gc-alerts@mozilla.org
      - jcoppeard@mozilla.com
    expires: never

  prepare_time:
    type: timing_distribution
    time_unit: millisecond
    description: >
      The time spent in the preparation phase.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877843
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419#c17
    notification_emails:
      - dev-telemetry-gc-alerts@mozilla.org
      - jcoppeard@mozilla.com
    expires: never

  mark_roots_time:
    type: timing_distribution
    time_unit: microsecond
    description: >
      The time spent marking GC roots.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877843
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419#c17
    notification_emails:
      - dev-telemetry-gc-alerts@mozilla.org
      - jcoppeard@mozilla.com
    expires: never

  mark_time:
    type: timing_distribution
    time_unit: millisecond
    description: >
      The time spent in the mark phase.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877843
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419#c17
    notification_emails:
      - dev-telemetry-gc-alerts@mozilla.org
      - jcoppeard@mozilla.com
    expires: never

  sweep_time:
    type: timing_distribution
    time_unit: millisecond
    description: >
      The time spent in the sweep phase.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877843
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419#c17
    notification_emails:
      - dev-telemetry-gc-alerts@mozilla.org
      - jcoppeard@mozilla.com
    expires: never

  compact_time:
    type: timing_distribution
    time_unit: millisecond
    description: >
      The time spent in the compact phase.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877843
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419#c17
    notification_emails:
      - dev-telemetry-gc-alerts@mozilla.org
      - jcoppeard@mozilla.com
    expires: never

  slice_time:
    type: timing_distribution
    time_unit: millisecond
    description: >
      The time spent running a GC slice.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877843
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419#c17
    notification_emails:
      - dev-telemetry-gc-alerts@mozilla.org
      - jcoppeard@mozilla.com
    expires: never
