# 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:
  - 'Toolkit :: Background Tasks'

# Use the `rmdir` YAML reference when you want to get your own metrics id for
# BackgroundTask_removeDirectory.
# Do not use this base metrics directly.
background_tasks.rmdir.base: &rmdir
  metric_base: &metric_base
    expires: never
    send_in_pings:
      - background-tasks
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1788986
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1788986
    notification_emails:
      - krosylight@mozilla.com
      - vgosu@mozilla.com
    # Override below. These exist solely to workaround validation issues.
    type: event
    description: The base metric template for removeDirectory.
  elapsed_ms:
    <<: *metric_base
    type: quantity
    unit: milliseconds
    description: >
      The amount of time the task took for removing the directories.
  was_first:
    <<: *metric_base
    type: boolean
    description: >
      Whether this task is the first one removing the directory.
  retry_count:
    <<: *metric_base
    type: quantity
    unit: files
    description: >
      The number of retries before the task started removing the child
      directory. This can happen when the target directory doesn't exist.
  removal_count:
    <<: *metric_base
    type: quantity
    unit: files
    description: >
      The number of the removed entries at each call, even if the target
      directory itself couldn't be removed.
  succeeded:
    <<: *metric_base
    type: boolean
    description: Whether the target directory removal succeeded.
  suffix_removal_count:
    <<: *metric_base
    type: quantity
    unit: files
    description: >
      The number of the removed entries of the suffixed directories.
  suffix_ever_failed:
    <<: *metric_base
    type: boolean
    description: Whether removing the suffixed directories ever failed.

# Metrics identifiers for each use
background_tasks.rmdir.quota:
  <<: *rmdir
background_tasks.rmdir.http_cache:
  <<: *rmdir
