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

# toolkit/modules metrics that are reported from Gecko, and thus available on Desktop and Mobile.

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

mozstorage:
  sqlitejsm_transaction_timeout:
    type: labeled_counter
    description: >
      Collection of javascript modules that created a Sqlite.sys.mjs
      transaction taking too long and timing out. This can be used to
      identify and optimize those modules transactions.
      This metric was generated to correspond to the Legacy Telemetry
      scalar mozstorage.sqlitejsm_transaction_timeout.
    bugs:
      - https://bugzil.la/1727261
    data_reviews:
      - https://bugzil.la/1727261
    notification_emails:
      - mak@mozilla.com
    expires: never
    telemetry_mirror: MOZSTORAGE_SQLITEJSM_TRANSACTION_TIMEOUT

region:
  fetch_time:
    type: timing_distribution
    description: >
      Time (ms) it takes to fetch the country code

      This metric was generated to correspond to the Legacy Telemetry
      exponential histogram SEARCH_SERVICE_COUNTRY_FETCH_TIME_MS.
    time_unit: millisecond
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1944631
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1944631
    notification_emails:
      - fx-search-telemetry@mozilla.com
    expires: never
    telemetry_mirror: SEARCH_SERVICE_COUNTRY_FETCH_TIME_MS
    no_lint:
      - COMMON_PREFIX

  fetch_result:
    type: custom_distribution
    description: >
      Result of XHR request fetching the country-code. 0=SUCCESS,
      1=SUCCESS_WITHOUT_DATA, 2=XHRTIMEOUT, 3=ERROR (rest reserved for
      finer-grained error codes later)

      This metric was generated to correspond to the Legacy Telemetry enumerated
      histogram SEARCH_SERVICE_COUNTRY_FETCH_RESULT.
    range_min: 0
    range_max: 8
    bucket_count: 9
    histogram_type: linear
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1944631
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1944631
    notification_emails:
      - fx-search-telemetry@mozilla.com
    expires: never
    telemetry_mirror: SEARCH_SERVICE_COUNTRY_FETCH_RESULT
    no_lint:
      - COMMON_PREFIX

  home_region:
    type: string
    lifetime: application
    description: >
      Records the detected home region of the user. This is the general region
      of the user's machine.

      If a machine moves location, there is a minimum 2-week delay before this
      will be updated.

      See the [Region documentation](https://firefox-source-docs.mozilla.org/toolkit/modules/toolkit_modules/Region.html)
      for more information about updates.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1419788
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1929411
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1419788
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1929411
    notification_emails:
      - fx-search-telemetry@mozilla.com
    data_sensitivity:
      - interaction
    expires: never
    send_in_pings:
      - metrics
      - events

  store_region_result:
    type: labeled_counter
    description: >
      Records if a detected region value was stored or ignored. A region might
      be ignored if it is the US but the set timezone is not the US.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1938160
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1938160
    notification_emails:
      - fx-search-telemetry@mozilla.com
    data_sensitivity:
      - technical
    expires: never
    labels:
      - setForRestOfWorld
      - setForUnitedStates
      - ignoredUnitedStatesIncorrectTimezone
