toolkit/components/telemetry/Events.yaml
author Mozilla Releng Treescript <release+treescript@mozilla.org>
Mon, 31 May 2021 17:00:15 +0000
changeset 581452 bbb448a557b48a5e843f9a35f5dd74ea667326e5
parent 581119 4ec58f33deb8aa610a8ffb0ba7b40bbea42899ec
permissions -rw-r--r--
Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release

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

partner_link:
  click:
    objects: ["newtab", "urlbar"]
    release_channel_collection: opt-out
    products:
      - "firefox"
    record_in_processes: ["main"]
    description: >
      This is recorded when clicking a partner link. The value is the partner.
    bug_numbers: [1637217, 1644442, 1643426]
    notification_emails:
      - "dao@mozilla.com"
    expiry_version: never
  attribution:
    objects: ["success", "failure", "abort"]
    release_channel_collection: opt-out
    products:
      - "firefox"
    record_in_processes: ["main"]
    description: >
      This is recorded when sending an attribution request for a partner link. The value is the partner.
    bug_numbers: [1637217, 1644442, 1643426]
    notification_emails:
      - "dao@mozilla.com"
    expiry_version: never

activity_stream:
  event:
    objects: [
      "ARCHIVE_FROM_POCKET",
      "BLOCK",
      "BOOKMARK_ADD",
      "BOOKMARK_DELETE",
      "CLICK",
      "CLICK_PRIVACY_INFO",
      "CLOSE_NEWTAB_PREFS",
      "SHOW_PERSONALIZE",
      "HIDE_PERSONALIZE",
      "DELETE",
      "DELETE_FROM_POCKET",
      "DELETE_CONFIRM",
      "DIALOG_CANCEL",
      "DIALOG_OPEN",
      "DRAG",
      "DROP",
      "MIGRATION_CANCEL",
      "MIGRATION_START",
      "OPEN_NEWTAB_PREFS",
      "OPEN_NEW_WINDOW",
      "OPEN_PRIVATE_WINDOW",
      "PIN",
      "PREF_CHANGED",
      "PREVIEW_REQUEST",
      "SAVE_TO_POCKET",
      "SEARCH",
      "SEARCH_EDIT_ADD",
      "SEARCH_EDIT_CLOSE",
      "SEARCH_EDIT_DELETE",
      "SEARCH_HANDOFF",
      "SHOW_PRIVACY_INFO",
      "SKIPPED_SIGNIN",
      "SUBMIT_EMAIL",
      "DISCLAIMER_ACKED",
      "MENU_ADD_SEARCH",
      "MENU_ADD_TOPSITE",
      "MENU_COLLAPSE",
      "MENU_EXPAND",
      "MENU_MANAGE",
      "MENU_MOVE_DOWN",
      "MENU_MOVE_UP",
      "MENU_PRIVACY_NOTICE",
      "MENU_REMOVE",
      "TOP_SITES_EDIT",
      "TOP_SITES_EDIT_CLOSE",
      "TOPSITE_SPONSOR_INFO",
      "UNPIN"]
    release_channel_collection: opt-out
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: >
      This is recorded with every user interaction on Activity Stream elements.
    bug_numbers: [1429497, 1429489, 1514732]
    notification_emails:
      - "najiang@mozilla.com"
      - "msamuel@mozilla.com"
      - "rrosario@mozilla.com"
    expiry_version: never
    extra_keys:
      addon_version: The Activity Stream addon version.
      session_id: The ID of the Activity Stream session in which the event occurred
      page: about:home or about_newtab - the page where the event occurred
      user_prefs: An integer representaing a user's A-S settings.
      action_position: The index of card receiving interactions.
  end:
    objects: ["session"]
    release_channel_collection: opt-out
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: >
      This is recorded with every session ended in Activity Stream.
    bug_numbers: [1429497, 1429489]
    notification_emails:
      - "najiang@mozilla.com"
      - "msamuel@mozilla.com"
    expiry_version: never
    extra_keys:
      addon_version: The Activity Stream addon version.
      session_id: The ID of the Activity Stream session in which the event occurred
      page: about:home or about_newtab - the page where the event occurred
      user_prefs: An integer representaing a user's A-S settings.

aboutprivatebrowsing:
  click:
    objects: ["info_link", "promo_link"]
    release_channel_collection: opt-out
    record_in_processes: ["content"]
    description: >
      This is recorded when a user clicks a link on the private browsing newtab.
    bug_numbers: [1709344]
    notification_emails:
      - "khudson@mozilla.com"
    expiry_version: "93"
    products:
      - "firefox"

readermode:
  view:
    objects: ["on", "off"]
    release_channel_collection: opt-out
    record_in_processes: ["content"]
    description: >
      This is recorded any time Reader Mode is turned on or off.
    bug_numbers: [1689201]
    notification_emails:
      - "kirill@getpocket.com"
      - "sdowne@getpocket.com"
    expiry_version: never
    extra_keys:
      subcategory: The broad event category for this probe. E.g. navigation
      reader_time: Time spent in Reader Mode session in seconds (whole number)
      scroll_position: Percentage of window scrolled in Reader Mode (whole number)
    products:
      - "firefox"
  button:
    objects: ["click"]
    release_channel_collection: opt-out
    record_in_processes: ["content"]
    description: >
      This is recorded any time a Reader Mode button is clicked.
    bug_numbers: [1693362]
    notification_emails:
      - "kirill@getpocket.com"
      - "sdowne@getpocket.com"
    expiry_version: never
    extra_keys:
      label: The type of button clicked.
    products:
      - "firefox"

addonsManager:
  install:
    description: >
      These events are recorded during the install and update flow for extensions and themes,
      the value of the event is an install_id shared by the events related to the same install
      or update flow.
    objects: ["extension", "theme", "locale", "dictionary", "other", "unknown"]
    methods: ["install", "update"]
    extra_keys:
      addon_id: A string which identify the extension (when available)
      download_time: The number of ms needed to complete the download
      error: The AddonManager error related to an install or update failure.
      source: >
        The source that originally triggered the add-on installation, one of "about:addons",
        "about:debugging", "about:preferences", "amo", "disco", "distribution",
        "extension", "enterprise-policy", "file-url", "geckoview-app", "gmp-plugin",
        "internal", "plugin", "rtamo", "sync", "system-addon", "temporary-addon", "unknown".
        For events with method set to "sideload", the source value is derived from the XPIProvider
        location name (e.g. possible values are "app-builtin", "app-global", "app-profile",
        "app-system-addons", "app-system-defaults", "app-system-local", "app-system-profile",
        "app-system-share", "app-system-user", "winreg-app-user", "winreg-app-gobal")
      method: >
        The method used by the source to install the add-on (included when the source can use more than one,
        e.g. install events with source "about:addons" may have "install-from-file" or "url" as method),
        one of "amWebAPI", "drag-and-drop", "installTrigger", "install-from-file", "link",
        "management-webext-api", "sideload", "url", "product-updates".
      num_strings: The number of permission description strings in the extension permission doorhanger
      updated_from: Determine if an update has been requested by the user or the application ("app" / "user")
      step: >
        The current step in the install or update flow:
          - started, postponed, cancelled, failed, permissions_prompt, completed
          - site_warning, site_blocked, install_disabled_warning
          - download_started, download_completed, download_failed
    notification_emails: ["addons-dev-internal@mozilla.com"]
    expiry_version: "92"
    products:
      - "firefox"
      - "fennec"
      - "thunderbird"
    record_in_processes: ["main"]
    bug_numbers: [1433335, 1515697, 1523641, 1549770, 1590736, 1630596, 1672570]
    release_channel_collection: opt-out
  install_stats:
    description: >
      These events are recorded at the end of the install flow, but only when
      the source that originally triggered the add-on installation is "amo" or
      "disco". The value of an event is the SHA256 hash of the addon_id.
    objects: ["extension", "theme", "locale", "dictionary", "other", "unknown"]
    extra_keys:
      addon_id: >
        A string which identifies the add-on. This value might be trimmed.
      taar_based: >
        This extra key is only set for install flows related to the discovery
        addon. When available it is going to be a string set to "1" for
        TAAR based recommendations, "0" for manually curated and unset if
        not relevant for the particular install flow.
      utm_campaign: >
        The specific product promotion or strategic campaign that drives
        traffic to the install page.
      utm_content: >
        The specific item that a person clicks on to access the install page
        (such as an A/B test, a website banner, or a specific ad).
      utm_medium: The channel used to share the install page.
      utm_source: >
        The name of the product, domain of the website that drives traffic to
        the install page.
    notification_emails: ["addons-dev-internal@mozilla.com"]
    expiry_version: never
    products:
      - "firefox"
    record_in_processes: ["main"]
    bug_numbers: [1653020, 1699225]
    release_channel_collection: opt-out
  manage:
    description: >
      This events are recorded when an installed add-ons is being disable/enabled/uninstalled,
      the value of the event is the addon_id (which also allow to correlate multiple events
      related to each other).
    objects: ["extension", "theme", "locale", "dictionary", "other"]
    methods: ["disable", "enable", "sideload_prompt", "uninstall"]
    extra_keys:
      source: >
        The source from which the addon has been installed (See extra_keys.source description from
        addonsManager.install telemetry event definition).
      method: >
        The method used by the source to install the add-on (included when the source can use more than one,
        e.g. install events with source "about:addons" may have "install-from-file" or "url" as method).
      num_strings: The number of permission description strings in the extension permission doorhanger
    notification_emails: ["addons-dev-internal@mozilla.com"]
    expiry_version: "92"
    products:
      - "firefox"
      - "fennec"
      - "thunderbird"
    record_in_processes: ["main"]
    bug_numbers: [1433335, 1515697, 1523641, 1549770, 1590736, 1630596, 1672570]
    release_channel_collection: opt-out
  link:
    description: >
      A link method event triggered when a user follows a link. The object is the page that the link is on:
      aboutAddons or aboutPreferences. The value is where the link goes: about:addons, about:preferences,
      about:debugging, support (on SUMO) or rating, search, author (on AMO) or homepage (on AMO or elsewhere),
      discohome (on AMO via a recommended add-on card),
      discomore (on AMO via discover), disconotice (on SUMO via discover)
    objects:
      - aboutAddons
      - aboutPreferences
      - customize
    extra_keys:
      view: The view the user was on (discover, list, detail or updates).
      type: "For search: the type of page for this view (especially extension or theme list)."
    notification_emails: ["addons-dev-internal@mozilla.com"]
    expiry_version: "92"
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    bug_numbers: [1500147, 1546248, 1590736, 1630596, 1672570]
    release_channel_collection: opt-out
  view:
    description: >
      A view method event is triggered when a user views a page in about:addons. The object is always
      aboutAddons. The value is the view name: discover, list, updates or detail.
    objects:
      - aboutAddons
    extra_keys:
      type: >
        The type of the view, for about:addons views shared between the supported add-on types
        it is set to an extension type, while for views related to updates it is set to
        "recent" or "available".
      source: The source of the installation for an add-on.
      addonId: The id of the add-on being acted upon.
      taar_enabled: >
        This extra key is only set for the "discover" view and "list" view when
        type is "extension".
        When available it is going to be a string set to "1" if the
        TAAR based discovery was enabled, "0" if it was disabled and unset if
        not relevant for the particular view.
    notification_emails: ["addons-dev-internal@mozilla.com"]
    expiry_version: "92"
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    bug_numbers: [1500147, 1590736, 1630596, 1672570, 1699225]
    release_channel_collection: opt-out
  action:
    description: >
      An action method event is triggered when a user performs an action through the UI on an add-on
      (besides the object "appUpgrade" which is referred to action performed automatically for the user
      as part of a Firefox upgrade). The object is where in the product the action was performed.
    objects:
      - aboutAddons
      - browserAction
      - customize
      - pageAction
      - doorhanger
      - appUpgrade
    extra_keys:
      action: >
        The action that was performed. Options include disable, enable, uninstall, undo, contribute, preferences,
        installFromFile, manage, dismiss, checkForUpdates, checkForUpdate, setUpdatePolicy, setAddonUpdate,
        installFromRecommendation, resetUpdatePolicy, privateBrowsingAllowed and releaseNotes.
      type: "For enable, disable, uninstall, undo and installFromRecommendation: the add-on type that is being acted upon."
      view: >
        The view for the event when object is aboutAddons, or the specific doorhanger when object is doorhanger.
      addonId: The id of the add-on being acted upon.
      taar_based: >
        This extra key is only set for the "installFromRecommendation" action.
        When available it is going to be a string set to "1" for
        TAAR based recommendations, "0" for manually curated and unset if
        not relevant for the particular action.
    notification_emails: ["addons-dev-internal@mozilla.com"]
    expiry_version: "92"
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    bug_numbers: [1500147, 1513344, 1529347, 1546248, 1590736, 1630596, 1672570, 1699225]
    release_channel_collection: opt-out
  report:
    description: >
      An abuse report submitted by a user for a given extension. The object of the event
      represent the report entry point, the value is the id of the addon being reported.
    objects:
      - amo
      - menu
      - toolbar_context_menu
      - uninstall
    extra_keys:
      addon_type: >
        The type of the add-on being reported (missing on ERROR_ADDON_NOT_FOUND, ERROR_AMODETAILS_NOTFOUND
        and ERROR_AMODETAILS_FAILURE).
      error_type: >
        AbuseReport Error Type (included in case of submission failures). The error types include
        ERROR_ABORTED_SUBMIT, ERROR_ADDON_NOT_FOUND, ERROR_CLIENT, ERROR_NETWORK, ERROR_UNKNOWN,
        ERROR_RECENT_SUBMIT, ERROR_SERVER, ERROR_AMODETAILS_NOTFOUND, ERROR_AMODETAILS_FAILURE.
    notification_emails: ["addons-dev-internal@mozilla.com"]
    expiry_version: "92"
    products:
      - "firefox"
      - "fennec"
      - "thunderbird"
    record_in_processes: ["main"]
    bug_numbers: [1544927, 1580561, 1590736, 1630596, 1672570]
    release_channel_collection: opt-out

blocklist:
  addonBlockChange:
    description: >
      An add-on is blocked, or an installed add-on is unblocked.
      When an add-on install/update is blocked, its installation is aborted and the
      add-on is no longer listed in the activeAddons field of TelemetryEnvironment.
      The value is the ID of the add-on.
      The object represents the reason for triggering the blocklistState check:
      "addon_install" is when an add-on is installed.
      "addon_update" is when an add-on is updated after an update check.
      "addon_update_check" is when an add-on is blocked during the update check.
      "addon_db_modified" is when an add-on's blocklistState was altered between application restarts.
      "blocklist_update" is when an add-on's blocklistState changed due to a blocklist update. This
      may be due to the blocklist being disabled by preferences or enterprise policies, but it is
      more commonly the result of updating entries in the blocklist.
    objects: ["addon_install", "addon_update", "addon_update_check", "addon_db_modified", "blocklist_update"]
    extra_keys:
      blocklistState: >
        The blocklistState of the add-on. 0 is unblocked, 2 is blocked.
        1 is soft blocked (only if blocklist v3 was disabled in favor of v2).
      addon_version: >
        Version of the add-on. Used together with an add-on's ID (value) to identify
        add-ons to block.
      signed_date: >
        Timestamp of the add-on (when it was signed via AMO).
        This field is missing (0) for "addon_update_check".
      hours_since: >
        The number of hours that have passed since this version of the add-on was installed or updated.
        At least zero when the blocklist is updated, -1 otherwise.
      mlbf_last_time: >
        The generation time of the most recent entry in the blocklist.
        Time generated by AMO when the blocklist entry was created.
        May be 0 when the blocklist is disabled.
      mlbf_generation: >
        The generation time to identify the bloomfilter that was used for this blocklist decision.
        The bloomfilter is updated less frequently than the so-called stashes in the RemoteSettings
        collection that holds the blocklist data. The stashes take precedence over the bloomfilter
        in blocklist decisions.
        Time generated by AMO when the blocklist entry was created.
        May be 0 when the blocklist is disabled.
      mlbf_source: >
        The source of the RemoteSettings attachment that holds the bloom filter.
        This field is documented in more detail in the definition of the blocklist.mlbf_source scalar.
        Possible values are "dump_match", "cache_match", "remote_match", "dump_fallback", "cache_fallback", "unknown".
    notification_emails: ["addons-dev-internal@mozilla.com", "rwu@mozilla.com"]
    expiry_version: "95"
    products:
      - "firefox"
    record_in_processes: ["main"]
    bug_numbers: [1662857]
    release_channel_collection: opt-out

downloads:
  added:
    description: >
      Sent when downloading a new file. Possible values are in contained in DownloadList::kFileExtensions.
      All other downloads not in the listare marked as other.
    objects: ["fileExtension"]
    bug_numbers: [1627676, 1706355]
    notification_emails: ["rtestard@mozilla.com", "emalysz@mozilla.com"]
    products:
      - "firefox"
    record_in_processes: ["main"]
    release_channel_collection: opt-out
    expiry_version: never

form_autocomplete:
  show:
    objects: ["logins"]
    bug_numbers: [1619498, 1628849]
    description: >-
      An content form autocomplete popup was shown. Details on the timing and context are provided.
      The `value` is the number of milliseconds since the autocomplete search started.
    expiry_version: never
    extra_keys:
      acFieldName: The "field name" token (last one) of the field's autocomplete attribute.
      fieldType: The `type` property value of the field.
      generatedPasswo: The number of generated password rows shown.
      hadPrevious: Whether the autocomplete results had cached previous results it could use.
      typeWasPassword: Whether the input `type` was ever "password".
      insecureWarning: The number of insecure login field warning rows shown (should be 0 or 1).
      login: The number of login rows shown (with or without the domain line).
      importableLogin: The number of import suggestion rows shown.
      loginsFooter: The number of "View Saved Logins" footer row shown.
      stringLength: Length of the text in the field that triggered these results.
    notification_emails: ["passwords-dev@mozilla.org"]
    products:
      - firefox
    record_in_processes: ["main"]
    release_channel_collection: opt-out

creditcard:
  doorhanger:
    description: >-
      User interactions for the browser credit card autofill doorhanger.
    objects:
      - "capture_doorhanger"
      - "update_doorhanger"
    methods:
      - "show"
      - "save"
      - "update"
      - "cancel"
      - "disable"
    bug_numbers: [1653073, 1653083]
    notification_emails: ["jmathies@mozilla.com", "chsiang@mozilla.com"]
    expiry_version: "93"
    products:
      - "firefox"
    record_in_processes: ["main"]
    release_channel_collection: opt-out
  manage:
    description: >-
      User interactions for credit card autofill preferences management UI.
    objects:
      - "manage"
    methods:
      - "show"
      - "add"
      - "delete"
      - "show_entry"
      - "edit"
    bug_numbers: [1653073, 1654167]
    notification_emails: ["jmathies@mozilla.com", "chsiang@mozilla.com"]
    expiry_version: "93"
    products:
      - "firefox"
    record_in_processes: ["main"]
    release_channel_collection: opt-out
  cc_form:
    description: >-
      User interactions for credit card autofill forms
    objects:
      - "cc_form"
    methods:
      - "detected"
      - "popup_shown"
      - "filled"
      - "filled_modified"
      - "submitted"
    bug_numbers: [1653073, 1653162]
    notification_emails: ["jmathies@mozilla.com", "chsiang@mozilla.com"]
    expiry_version: "93"
    products:
      - "firefox"
    record_in_processes: ["content"]
    release_channel_collection: opt-out
    extra_keys:
      cc_name_found: Whether the cardholder name field was identified
      cc_number_found: Whether the credit card number field was identified
      cc_exp_found: Whether the expiration date was identified
      cc_name: Whether the name was autofilled (autofilled / not_filled / user_filled / unavailable)
      cc_number: Whether the credit card number field was autofilled (autofilled / not_filled / user_filled / unavailable)
      cc_exp: Whether the expiration date was autofilled (autofilled / not_filled / user_filled / unavailable)
      field_name: Name of the field being affected by the method
      fields_not_auto: >-
        Number of fields in a `submitted` event that were not autofilled.
        Note that this number counts all fields in a form, even if some of those fields might have been identified as password and/or address fields.
        Additionally, it may include input elements that are not rendered as user-modifiable, such as hidden fields as well as <button> elements.
      fields_auto: Number of fields in the `submitted` event that were autofilled
      fields_modified: Number of fields in a `submitted` event that were autofilled and later modified

extensions.data:
  migrateResult:
    objects: ["storageLocal"]
    bug_numbers: [1470213, 1553297, 1590736, 1630596, 1672570]
    notification_emails: ["addons-dev-internal@mozilla.com"]
    expiry_version: "92"
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    release_channel_collection: opt-out
    extra_keys:
      backend: The selected backend ("JSONFile" / "IndexedDB").
      data_migrated: The old extension data has been migrated ("y" / "n").
      error_name: >
        A DOMException error name if any ("OtherError" for unknown errors).
        The error has been fatal if the `backend` extra key is "JSONFile",
        otherwise it is a non fatal error which didn't prevented the
        extension from switching to the IndexedDB backend.
      has_jsonfile: The extension has a JSONFile ("y" / "n").
      has_olddata: The extension had some data stored in the JSONFile ("y" / "n").
    description: >
      These events are sent when an extension is migrating its data to the new IndexedDB backend,
      the value of this event is the addon id.
  storageLocalError:
    objects: ["get", "set", "remove", "clear"]
    bug_numbers: [1606903, 1649948, 1689255]
    notification_emails: ["addons-dev-internal@mozilla.com"]
    expiry_version: "95"
    products:
      - "firefox"
    record_in_processes: ["main", "content"]
    release_channel_collection: opt-out
    extra_keys:
      error_name: >
        A DOMException error name if any ("OtherError" for unknown errors).
    description: >
      These events are collected when an extension triggers an unexpected error
      while running a storage.local API call (e.g. because of some underlying
      QuotaManager and/or IndexedDB error), the value of this event is the
      addon id.

homepage:
  preference:
    objects: ["ignore"]
    release_channel_collection: opt-out
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: >
      This is recorded whenever the homepage preference is either reset due to
      being on the ignore list, or setting is blocked due to being on the same
      list.
      The value field records the reason for the ignore. "saved_reset" for
      when a saved preference value is reset. "set_blocked" for when the setting
      was blocked and "set_blocked_extension" for when we know a WebExtension
      attempting to set it was blocked.
    bug_numbers: [1535049]
    notification_emails:
      - "mdeboer@mozilla.com"
      - "rharter@mozilla.com"
    expiry_version: never
    extra_keys:
      webExtensionId: The identifier of the webextension, if known.

navigation:
  search:
    objects: ["about_home", "about_newtab", "contextmenu", "oneoff",
              "suggestion", "alias", "enter", "searchbar", "urlbar",
              "urlbar_searchmode", "webextension"]
    release_channel_collection: opt-out
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: >
      This is recorded on each search navigation.
      The value field records the action used to trigger the search:
        "enter", "oneoff", "suggestion", "alias", null (for contextmenu and webextension)
    bug_numbers: [1316281, 1496764]
    notification_emails:
      - "mdeboer@mozilla.com"
      - "rharter@mozilla.com"
    expiry_version: never
    extra_keys:
      engine: The id of the search engine used.

upgrade_dialog:
  content:
    objects: ["show", "close", "button", "theme"]
    bug_numbers: [1697222]
    description: >
      Content page behaviors of the upgrade dialog. Value for each object
      indicates a custom interaction.
        show: total screens count, button string id, compact mode
        close: dismissed reason string
        button: clicked string id (upgradeDialog.ftl -button)
        theme: clicked theme index
    expiry_version: never
    notification_emails: ["edilee@mozilla.com"]
    products: ["firefox"]
    record_in_processes: ["main"]
    release_channel_collection: opt-out
  trigger:
    objects: ["reason"]
    bug_numbers: [1697222]
    description: >
      Triggering behaviors of the upgrade dialog. Value indicates which condition failed or all satisfied.
    expiry_version: never
    notification_emails: ["edilee@mozilla.com"]
    products: ["firefox"]
    record_in_processes: ["main"]
    release_channel_collection: opt-out

urlbar:
  engagement:
    objects: ["click", "enter", "paste_go", "drop_go"]
    release_channel_collection: opt-out
    products:
      - "firefox"
    record_in_processes: ["main"]
    description: >
      This is recorded on urlbar engagement, that is when the user picks a
      search result.
      The value field records the initial interaction type. One of:
        "typed", "dropped", "pasted", "topsites"
    bug_numbers: [1559136, 1671404]
    notification_emails:
      - "tbrooks@mozilla.com"
      - "fx-search@mozilla.com"
    expiry_version: never
    extra_keys:
      elapsed: engagement time in milliseconds.
      numChars: number of input characters.
      numWords: number of words in the input.
      selIndex: index of the selected result in the urlbar panel, or -1.
      selType: >
        type of the selected result in the urlbar panel. One of:
          "autofill", "visit", "bookmark", "history", "keyword", "search",
          "searchsuggestion", "switchtab", "remotetab", "extension", "oneoff",
          "keywordoffer", "canonized", "tip", "tiphelp", "formhistory",
          "tabtosearch", "none"
      provider: The name of the provider that presented the result.
  abandonment:
    objects: ["blur"]
    release_channel_collection: opt-out
    products:
      - "firefox"
    record_in_processes: ["main"]
    description: >
      This is recorded on urlbar search abandon, that is when the user starts
      an interaction but then blurs the urlbar.
      The value field records the initial interaction type. One of:
        "typed", "dropped", "pasted", "topsites"
    bug_numbers: [1559136]
    notification_emails:
      - "rharter@mozilla.com"
      - "fx-search@mozilla.com"
    expiry_version: never
    extra_keys:
      elapsed: abandonement time in milliseconds.
      numChars: number of input characters.
      numWords: number of words in the input.

normandy:
  enroll:
    objects: ["preference_study", "addon_study", "preference_rollout", "addon_rollout", "nimbus_experiment"]
    description: >
      Sent when applying a Normandy recipe of the above types has succeeded.
    extra_keys:
      experimentType: >
        For preference_study and nimbus_experiment recipes, the type of experiment this is ("exp" or "exp-highpop").
      branch: >
        The slug of the branch that was chosen for this client.
      addonId: For addon_study recipes, the ID of the addon that was installed.
      addonVersion: For addon_study recipes, the version of the addon that was installed.
      enrollmentId: A unique ID for this enrollment that will be included in all related Telemetry.
    bug_numbers: [1443560]
    notification_emails: ["normandy-notifications@mozilla.com"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: [main]
    release_channel_collection: opt-out
    expiry_version: never

  enroll_failed:
    methods: ["enrollFailed"]
    objects: ["addon_study", "preference_rollout", "preference_study", "addon_rollout", "nimbus_experiment"]
    description: >
      Sent when applying a Normandy recipe of the above types has failed.
    extra_keys:
      reason: An error code describing the failure.
      preference: >
        For preference_rollout when reason=conflict, the name of the preference
        that was going to be modified.
      detail: >
        For addon_study and branched_addon study, extra text describing the failure.
      branch: >
        The branch that failed to enroll.
      addonId: The ID of the addon for the rollout when reason=conflict.
      conflictingSlug: The slug for the conflicting rollout.
      enrollmentId: The enrollment ID of the conflicting rollout.
      prefBranch: For preference_study when reason=invalid-branch, the branch that was invalid.
    bug_numbers: [1443560]
    notification_emails: ["normandy-notifications@mozilla.com"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: [main]
    release_channel_collection: opt-out
    expiry_version: never

  update:
    objects: ["addon_study", "preference_rollout", "addon_rollout", "nimbus_experiment"]
    description: >
      This event is fired when a client detects that a recipe of the
      ahove types has changed on the server, and the new version of the
      recipe is being applied over an existing, older version previously
      fetched from the server.
    extra_keys:
      previousState: >
        For preference_rollout recipes, the state of the rollout that had been applied
        previously.
      addonId: For addon_study recipes, the ID of the addon that was updated.
      addonVersion: For addon_study recipes, the version of the addon that was installed.
      branch: The branch that was updated.
      enrollmentId: A unique ID for this enrollment that will be included in all related Telemetry.
    bug_numbers: [1443560, 1474413]
    notification_emails: ["normandy-notifications@mozilla.com"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: [main]
    release_channel_collection: opt-out
    expiry_version: never

  update_failed:
    methods: ["updateFailed"]
    objects: ["addon_study", "addon_rollout"]
    description: >
      Sent when applying a new version of a Normandy recipe of the above types (over an
      existing, older version previously fetched from the server) has failed.
    extra_keys:
      reason: An error code describing the failure.
      detail: >
        Extra text describing the failure. Currently only provided for addon_study.
      branch: The branch that failed to update.
      enrollmentId: A unique ID for this enrollment that will be included in all related Telemetry.
    bug_numbers: [1474413]
    notification_emails: ["normandy-notifications@mozilla.com"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: [main]
    release_channel_collection: opt-out
    expiry_version: never

  unenroll:
    objects: ["preference_study", "addon_study", "preference_rollback", "addon_rollback", "nimbus_experiment"]
    description: >
      Sent when a Normandy recipe of certain types "ends".  N.B. For
      preference_rollback, this is fired when the recipe is fired (the
      recipe that "ends" is a corresponding preference_rollout).
    extra_keys:
      reason: A code describing the reason why the recipe ended.
      didResetValue: >
        For preference_study, "true" or "false" according to whether we put the preference back the way it was.
      addonId: For addon_study, the ID of the addon that ended.
      addonVersion: For addon_study, the version of the addon for which the recipe ended.
      branch: The branch of the experiment that this client was on.
      enrollmentId: A unique ID for this enrollment that will be included in all related Telemetry.
      changedPref: For preference_study, the preference that was detected to change that caused the unenrollment.
    bug_numbers: [1443560]
    notification_emails: ["normandy-notifications@mozilla.com"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: [main]
    release_channel_collection: opt-out
    expiry_version: never

  unenroll_failed:
    methods: ["unenrollFailed"]
    description: >
      Sent when unenrolling a user fails (see the unenroll event).
    objects: ["preference_rollback", "preference_study", "addon_rollback", "nimbus_experiment"]
    extra_keys:
      reason: A code describing the reason the unenroll failed.
      enrollmentId: A unique ID for this enrollment that will be included in all related Telemetry.
      changedPref: For preference_study, the preference that was detected to change that caused the attempted unenrollment.
      caller: The function that caused the stop to happen, included on Nightly to aid debugging.
      originalReason: The code that would had been used for the unenrollment, had it not failed.
    bug_numbers: [1443560, 1693402]
    notification_emails: ["normandy-notifications@mozilla.com"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: [main]
    release_channel_collection: opt-out
    expiry_version: never

  graduate:
    objects: ["preference_rollout"]
    description: >
      Sent when a preference rollout ends due to the rolled-out
      preference becoming a new default.
    bug_numbers: [1443560]
    notification_emails: ["normandy-notifications@mozilla.com"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: [main]
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      enrollmentId: A unique ID for this enrollment that will be included in all related Telemetry.
      reason: The reason the rollout graduated

  expose:
    objects: [
      "nimbus_experiment",
    ]
    methods: ["expose"]
    release_channel_collection: opt-out
    products:
      - "firefox"
    record_in_processes: ["main", "content"]
    description: >
      This records an event at the moment the user is exposed to an experiment
      treatment. The event is triggered either by the code checking that a
      certain experiment feature is enabled or when that feature value is used.
      This is different from enrollment or experiment activation because it
      registers when a user actually gets exposed to the experiment feature.
    bug_numbers: [1675104]
    notification_emails: ["ujet@mozilla.com"]
    expiry_version: "never"
    extra_keys:
      branchSlug: The slug for the branch the user is enrolled in.
      featureId: The type of experiment variant the user was enrolled into.

  expPrefChanged:
    objects: ["preference_study"]
    methods: ["expPrefChanged"]
    release_channel_collection: opt-out
    products:
      - "firefox"
    record_in_processes: [main]
    description: >
      This records that a preference that was set by an experiment has been
      changed away from its experimental value. This can be triggered by a
      user changing a preference at runtime, by the preference being changed
      on disk when Firefox is not running, or by the preference already
      having a user-set value when a user has enrolls in a default branch
      experiment.
    bug_numbers: [1698684]
    notification_emails: ["mcooper@mozilla.com"]
    expiry_version: never
    extra_keys:
      preferenceName: The preference that changed
      reason: The way that the preference change was detected ("observer", "sideload", or "onEnroll")
      enrollmentId: A unique ID for this enrollment that will be included in all related Telemetry.

pwmgr:
  open_management:
    objects: ["aboutprotections", "autocomplete", "capturedoorhanger", "contextmenu", "direct", "fxamenu", "mainmenu", "pageinfo", "preferences", "snippet"]
    methods: ["open_management"]
    description: >
      Sent when opening the password management UI.
    bug_numbers: [1543499, 1454733, 1545172, 1550631, 1622971]
    notification_emails: ["loines@mozilla.com", "passwords-dev@mozilla.org", "sfoster@mozilla.com"]
    products:
      - "firefox"
    record_in_processes: [main, content]
    release_channel_collection: opt-out
    expiry_version: never
  reauthenticate:
    description: >
      Measure how often users are asked to authenticate with their Operating System or Master Password to gain access to stored passwords.
      Possible values are as follows,
        "success" should be used when the user authenticates and provides a password or other authentication factor.
        "success_no_prompt" should be used when the feature is enabled but no prompt is given to the user because they have recently authenticated.
        "success_disabled" is used when the feature is disabled.
        "success_unsupported_platform" should be set when the user attempts to authenticate on an unsupported platform.
        "success_no_password" should be used when the user doesn't have an OS password set.
        "fail" should be used when the user cancels the authentication prompt or an unexpected exception is encountered. The user may or may not have provided an incorrect password before cancelling.
    objects: [
      "master_password",
      "os_auth",
    ]
    methods: ["reauthenticate"]
    extra_keys:
      auto_admin: >
        If the AutoAdminLogon Windows feature is enabled. This feature disables password prompt when logging in to Windows.
      require_signon: >
        If the Power Settings on Windows are configured to not prompt for password upon resuming from sleep.
    bug_numbers:
      - 1628029
      - 1623745
      - 1636729
      - 1642267
    expiry_version: never
    notification_emails: ["loines@mozilla.com", "passwords-dev@mozilla.org", "jaws@mozilla.com"]
    release_channel_collection: opt-out
    products:
      - "firefox"
    record_in_processes: [main, content]
  mgmt_interaction:
    description: >
      These events record interactions on the about:logins page.
    extra_keys:
      breached: >
        Whether the login is marked as breached or not. If a login is both breached and vulnerable, it will only be reported as breached.
      vulnerable: >
        Whether the login is marked as vulnerable or not. If a login is both breached and vulnerable, it will only be reported as breached.
      sort_key: The key that is used for sorting the login-list. Should only be set with the "sort" method.
    objects: [
      "existing_login",
      "list",
      "new_login",
      "password",
      "username",
    ]
    methods: [
      "cancel",
      "copy",
      "delete",
      "dismiss_breach_alert",
      "edit",
      "filter",
      "hide",
      "learn_more_breach",
      "learn_more_vuln",
      "new",
      "open_site",
      "save",
      "select",
      "show",
      "sort",
    ]
    bug_numbers:
      - 1548463
      - 1600958
      - 1549115
      - 1628165
    expiry_version: never
    notification_emails: ["loines@mozilla.com", "passwords-dev@mozilla.org", "jaws@mozilla.com"]
    release_channel_collection: opt-out
    products:
      - "firefox"
    record_in_processes: [content]
  autocomplete_field:
    objects: ["generatedpassword"]
    methods: ["autocomplete_field", "autocomplete_shown"]
    description: >
      "autocomplete_field": The first time each unique generated password is used to fill a login field - i.e. the user selects it from from the autocomplete dropdown on a password input
      "autocomplete_shown": The first time the password generation option is shown in the autocomplete dropdown on a password input for a site per session
    bug_numbers: [1548878, 1616356]
    notification_emails: ["loines@mozilla.com", "passwords-dev@mozilla.org", "sfoster@mozilla.com"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    release_channel_collection: opt-out
    expiry_version: never
  filled_field_edited:
    objects: ["generatedpassword"]
    methods: ["filled_field_edited"]
    description: >
      The first time each generated password filled in a website form field is edited by the user in a field it was filled in
    bug_numbers: [1548880]
    notification_emails: ["loines@mozilla.com", "passwords-dev@mozilla.org"]
    products:
      - "firefox"
      - "thunderbird"
    record_in_processes: ["main"]
    release_channel_collection: opt-out
    expiry_version: never
  saved_login_used:
    objects: ["form_login", "form_password", "auth_login", "prompt_login"]
    description: >
      Each time a saved login is used in a form or authentication dialog.
    bug_numbers: [1631130]
    notification_emails: ["loines@mozilla.com", "passwords-dev@mozilla.org"]
    products:
      - "firefox"
    record_in_processes: ["main"]
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      filled: Whether the browser filled the login details for the user vs. typing saved values.
  mgmt_menu_item_used:
    description: >
      Record interactions with the about:logins menu.
    objects: [
      "import_from_browser",
      "import_from_csv",
      "import_csv_complete",
      "export",
      "export_complete",
      "preferences",
    ]
    bug_numbers: [1641396, 1641777, 1641393]
    expiry_version: never
    notification_emails: ["loines@mozilla.com", "passwords-dev@mozilla.org"]
    release_channel_collection: opt-out
    products:
      - "firefox"
    record_in_processes: [content, main]
  doorhanger_submitted:
    description: >
      A login is saved or updated via the capture doorhanger. Carries information about whether
      the username and password _that were saved/updated by the user_ were modified in the
      doorhanger, selected from the suggestion autocomplete, or neither. `did_edit_X` and
      `did_select_X` will never both be true in the same event.

      The `object` describes the type of doorhanger when it was originally created. Note that user
      updates to the doorhanger may change whether a login is actually saved or updated, but will
      not impact the sent object.
    objects: ["save", "update"]
    bug_numbers: [1650929, 1650941, 1678200]
    expiry_version: "92"
    release_channel_collection: opt-out
    products: ["firefox"]
    record_in_processes: [main]
    notification_emails: ["srudie@mozilla.com", "passwords-dev@mozilla.org"]
    extra_keys:
      did_edit_un: >
        Whether or not the saved/updated username was modified by the user typing into the
        username field.
      did_select_un: >
        Whether or not the saved/updated username was selected by the user choosing a suggested
        value from the autocomplete popup.
      did_edit_pw: >
        Whether or not the saved/updated password was modified by the user typing into the
        password field.
      did_select_pw: >
        Whether or not the saved/updated password was selected by the user choosing a suggested
        value from the autocomplete popup.

jsonfile:
  load:
    description: >
      Records when JSONFile.jsm consumers are trying to access a missing or corrupt json file.
      For example, Login Store trying to access logins.json when it has gone missing or corrupt.
    # Keep synchronized with TELEMETRY_BASENAMES from JSONFile.jsm.
    objects: ["logins", "autofillprofiles"]
    bug_numbers: [1599567]
    expiry_version: never
    products: ["firefox"]
    record_in_processes: [main]
    notification_emails: ["prathiksha@mozilla.com", "passwords-dev@mozilla.org"]

fxa:
  connect:
    objects: ["account"]
    methods: ["connect", "disconnect"]
    description: >
      Records when a Firefox Account, or a Firefox Account service, is explicitly
      connected or disconnected from the browser via an intentional user action.
    extra_keys:
      fxa: Whether the account itself was connected or disconnected.
      sync: Whether sync was connected or disconnected.
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    bug_numbers: [1595954]
    notification_emails: ["sync-dev@mozilla.org"]
    release_channel_collection: opt-out
    expiry_version: never

fxa_avatar_menu:
  click:
    objects: [
      "account_settings",
      "cad",
      "login",
      "send_tab",
      "sync_now",
      "sync_settings",
      "sync_tabs",
      "sync_tabs_sidebar",
      "toolbar_icon",
      "unver_sync_settings",
      "open_monitor",
      "open_send"
      ]
    methods: ["click"]
    release_channel_collection: opt-out
    products:
      - "firefox"
    record_in_processes: ["main"]
    description: This is recorded on interactions with the FxA avatar menu on the toolbar
    bug_numbers: [1524665, 1585459, 1606203]
    notification_emails: ["vbudhram@mozilla.com", "loines@mozilla.com"]
    expiry_version: "never"
    extra_keys:
      fxa_status: >
        The current state of the user. Possible states are "not_configured", "unverified",
        "signedin" and "login_failed".
      fxa_avatar: Boolean for whether or not account has set an avatar

fxa_app_menu:
  click:
    objects: [
      "account_settings",
      "cad",
      "login",
      "send_tab",
      "sync_now",
      "sync_settings",
      "sync_tabs",
      "sync_tabs_sidebar",
      "toolbar_icon",
      "unver_sync_settings",
      "open_monitor",
      "open_send"
      ]
    methods: ["click"]
    release_channel_collection: opt-out
    products:
      - "firefox"
    record_in_processes: ["main"]
    description: This is recorded on interactions with the FxA menu in the app (hamburger) menu
    bug_numbers: [1542334, 1606203]
    notification_emails: ["vbudhram@mozilla.com", "loines@mozilla.com"]
    expiry_version: "never"
    extra_keys:
      fxa_status: >
        The current state of the user. Possible states are "not_configured", "unverified",
        "signedin" and "login_failed".
      fxa_avatar: Boolean for whether or not account has set an avatar

messaging_experiments:
  reach:
    objects: [
      "cfr",
      "whats_new_panel",
      "moments_page",
      "snippets",
      "cfr_fxa"
    ]
    methods: ["reach"]
    release_channel_collection: opt-out
    products:
      - "firefox"
    record_in_processes: ["main"]
    description: >
      This records whether a branch's targeting is satisfied for Messaging System
      experiments. All qualified branch ID(s) will be recorded in the 'extra_keys'
      for each active experiment, and the event 'value' will be the experiment ID
    bug_numbers: [1471318]
    notification_emails: ["ujet@mozilla.com"]
    expiry_version: "never"
    extra_keys:
      branches: >
        A semicolon separated string for all the qualified branch ID(s).
        e.g. "control;variant_01;treatment_02".
  targeting:
    objects:
      - attribute_error
      - attribute_timeout
    methods:
      - targeting
    release_channel_collection: opt-out
    products:
      - firefox
    record_in_processes:
      - main
    description: >
      Record generic JEXL errors that result from issues with experiment or
      message targeting expressions. The value field contains the namespace and
      attribute name that caused the error.
    bug_numbers:
      - 1644743
    notification_emails:
      - ujet@mozilla.com
    expiry_version: never

# This category contains event entries used for Telemetry tests.
# They will not be sent out with any pings.
telemetry.test:
  test:
    methods: ["test1", "test2"]
    objects: ["object1", "object2"]
    bug_numbers: [1286606]
    notification_emails: ["telemetry-client-dev@mozilla.com"]
    products:
      - "firefox"
      - "fennec"
      - "thunderbird"
    record_in_processes: ["main"]
    description: This is a test entry for Telemetry.
    expiry_version: never
    extra_keys:
      key1: This is just a test description.
      key2: This is another test description.
  optout:
    objects: ["object1", "object2"]
    bug_numbers: [1286606]
    notification_emails: ["telemetry-client-dev@mozilla.com"]
    release_channel_collection: opt-out
    products:
      - "firefox"
      - "fennec"
      - "thunderbird"
    record_in_processes: ["main"]
    description: This is an opt-out test entry.
    expiry_version: never
    extra_keys:
      key1: This is just a test description.
  expired_version:
    objects: ["object1", "object2"]
    bug_numbers: [1286606]
    notification_emails: ["telemetry-client-dev@mozilla.com"]
    products:
      - "firefox"
      - "fennec"
      - "thunderbird"
    record_in_processes: ["main"]
    description: This is a test entry with an expired version.
    expiry_version: "3"
  not_expired_optout:
    objects: ["object1"]
    bug_numbers: [1286606, 1685406]
    notification_emails: ["telemetry-client-dev@mozilla.com"]
    description: This is an opt-out test entry with unexpired date and version.
    release_channel_collection: opt-out
    products:
      - "firefox"
      - "fennec"
      - "thunderbird"
    record_in_processes: ["main"]
    expiry_version: "999"
  main_only:
    objects: ["object1"]
    bug_numbers: [1313326]
    notification_emails: ["telemetry-client-dev@mozilla.com"]
    products:
      - "firefox"
      - "fennec"
      - "thunderbird"
    record_in_processes: ["main"]
    description: This event is used to test main-process only recording.
    expiry_version: never
  content_only:
    objects: ["object1"]
    bug_numbers: [1313326]
    notification_emails: ["telemetry-client-dev@mozilla.com"]
    products:
      - "firefox"
      - "fennec"
      - "thunderbird"
    record_in_processes: ["content"]
    description: This event is used to test content-process only recording.
    expiry_version: never
    extra_keys:
      foo: This is just a test description.
      bar: And this is another test description.
  main_and_content:
    objects: ["object1"]
    bug_numbers: [1313326]
    notification_emails: ["telemetry-client-dev@mozilla.com"]
    products:
      - "firefox"
      - "fennec"
      - "thunderbird"
    record_in_processes: ["main", "content"]
    description: This event is used to test main and content process recording.
    expiry_version: never
  default_products:
    objects: ["object1"]
    bug_numbers: [1452552]
    notification_emails: ["telemetry-client-dev@mozilla.com"]
    products:
      - "firefox"
      - "fennec"
      - "thunderbird"
    record_in_processes: ["main"]
    description: This event is used to test default products main recording.
    expiry_version: never
  desktop_only:
    objects: ["object1"]
    bug_numbers: [1452552]
    notification_emails: ["telemetry-client-dev@mozilla.com"]
    record_in_processes: ["main"]
    description: This event is used to test desktop-only main recording.
    expiry_version: never
    products: ["firefox","thunderbird"]
  multiproduct:
    objects: ["object1"]
    bug_numbers: [1452552]
    notification_emails: ["telemetry-client-dev@mozilla.com"]
    record_in_processes: ["main"]
    description: This event is used to test multiproduct main recording.
    expiry_version: never
    products: ["firefox", "fennec", "thunderbird"]
  mobile_only:
    objects: ["object1"]
    bug_numbers: [1452552]
    notification_emails: ["telemetry-client-dev@mozilla.com"]
    record_in_processes: ["main"]
    description: This event is used to test mobile-only main recording.
    expiry_version: never
    products: ["fennec"]
  mirror_with_extra:
    objects: ["object1"]
    bug_numbers: [1685406]
    notification_emails: ["glean-team@mozilla.com"]
    record_in_processes: ["all"]
    description: Test-only. This event is mirrored to from Glean.
    expiry_version: never
    extra_keys:
      extra1: "This must be kept in-sync"
      extra2: "With the extra_keys in the Glean metric"
    products: ["firefox", "thunderbird"]

# This is a secondary category used for Telemetry tests.
# The events here will not be sent out with any pings.
telemetry.test.second:
  test:
    objects: ["object1", "object2", "object3"]
    bug_numbers: [1286606]
    notification_emails: ["telemetry-client-dev@mozilla.com"]
    products:
      - "firefox"
      - "fennec"
      - "thunderbird"
    record_in_processes: ["main"]
    description: This is a test entry for Telemetry.
    expiry_version: never
    extra_keys:
      key1: This is just a test description.

devtools.main:
  activate:
    objects: ["responsive_design", "split_console"]
    bug_numbers: [1455273]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User activates the responsive_design or split_console in the devtools toolbox.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      host: "Toolbox host (positioning): bottom, left, right, window, page or other."
      width: Toolbox width rounded up to the nearest 50px.
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  add_breakpoint:
    objects: ["debugger"]
    bug_numbers: [1463123]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User has added a breakpoint to a script.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  blackbox:
    objects: ["debugger"]
    bug_numbers: [1463126]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User clicked the blackbox button to blackbox a script.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  close:
    objects: ["tools"]
    bug_numbers: [1453312]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User closes devtools toolbox.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      host: "Toolbox host (positioning): bottom, side, window or other."
      width: Toolbox width rounded up to the nearest 50px.
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  close_adbg:
    objects: ["aboutdebugging"]
    bug_numbers: [1504173]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User closes about:debugging.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      width: Toolbox width rounded up to the nearest 50px.
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  connection_attempt:
    objects: ["aboutdebugging"]
    bug_numbers: [1549970]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User is trying to connect to a remote runtime.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      connection_id: Randomly generated id to keep to group various events related to the same connection attempt.
      connection_type: Connection type
      runtime_id: Random id generated to track events related to a single runtime
      status: One of (cancelled, failed, not responding, start, success).
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  continue:
    objects: ["debugger"]
    bug_numbers: [1463122]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User has pressed the continue button on a paused script.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  deactivate:
    objects: ["responsive_design", "split_console"]
    bug_numbers: [1455275]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User deactivates the responsive_design or split_console in the devtools toolbox.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      host: "Toolbox host (positioning): bottom, side, window or other."
      width: Toolbox width rounded up to the nearest 50px.
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  device_added:
    objects: ["aboutdebugging"]
    bug_numbers: [1521507]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: A new device was detected in about:debugging
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      connection_type: Connection type
      device_name: Device name
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  device_removed:
    objects: ["aboutdebugging"]
    bug_numbers: [1521507]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: A previously listed device was removed in about:debugging
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      connection_type: Connection type
      device_name: Device name
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  edit_html:
    objects: ["inspector"]
    bug_numbers: [1463080]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User is editing HTML via the context menu item in the markup view.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      made_changes: Indicates whether changes were made.
      time_open: The amount of time in ms that the HTML editor was open.
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  edit_resend:
    objects: ["netmonitor"]
    bug_numbers: [1463171]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User has executed edit / resend in the netmonitor.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      session_id: The toolbox session start time e.g. 13963.
  edit_rule:
    objects: ["ruleview"]
    bug_numbers: [1463081]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User is editing a CSS rule by clicking on or next to a CSS property, enabling / disabling a rule or creating a new property.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  enter:
    objects: ["accessibility", "application", "dom", "inspector", "jsdebugger", "memory", "netmonitor", "options", "performance", "storage", "styleeditor", "webconsole", "whatsnew","other", "fakeTool4242", "testBlankPanel", "testTool", "testtool1", "testTool1072208", "testtool2"]
    bug_numbers: [1441070]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User opens a tool in the devtools toolbox.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      host: "Toolbox host (positioning): bottom, side, window or other."
      width: Toolbox width rounded up to the nearest 50px.
      message_count: The number of cached console messages.
      start_state: debuggerStatement, breakpoint, exception, tab_switch, toolbox_show, initial_panel, toggle_settings_off, toggle_settings_on, key_shortcut, select_next_key, select_prev_key, tool_unloaded, inspect_dom, unknown etc.
      panel_name: The name of the panel opened or other
      cold: Is this the first time the current panel has been opened in this toolbox?
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  execute_js:
    objects: ["webconsole"]
    bug_numbers: [1463083]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User has executed some JS in the Web Console.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      input: Indicates from which input the command was evaluated ("inline" for regular input, "multiline" for editor mode).
      lines: The number of lines contained in the command.
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  reverse_search:
    objects: ["webconsole"]
    bug_numbers: [1489489]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User has toggled, navigated or evaluated expressions from reverse search .
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      functionality: Indicates functionality of reverse search being accessed.
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  exit:
    objects: ["accessibility", "application", "dom", "inspector", "jsdebugger", "memory", "netmonitor", "options", "performance", "storage", "styleeditor", "webconsole", "whatsnew", "other", "fakeTool4242", "testBlankPanel", "testTool", "testtool1", "testTool1072208", "testtool2"]
    bug_numbers: [1455270]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User closes a tool in the devtools toolbox.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      host: "Toolbox host (positioning): bottom, side, window or other."
      width: Toolbox width rounded up to the nearest 50px.
      next_panel: The name of the panel closed or other.
      panel_name: The name of the panel opened or other
      reason: debuggerStatement, breakpoint, exception, tab_switch, toolbox_show, initial_panel, toggle_settings_off, toggle_settings_on, key_shortcut, select_next_key, select_prev_key, tool_unloaded, inspect_dom, toolbox_closed, unknown etc.
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  f12_enabled:
    objects: ["tools"]
    bug_numbers: [1630228]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
    record_in_processes: ["main"]
    description: User opened DevTools for the first time, which enables the F12 shortcut.
    release_channel_collection: opt-out
    expiry_version: "80"
    extra_keys:
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  f12_popup_displayed:
    objects: ["tools"]
    bug_numbers: [1630228]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
    record_in_processes: ["main"]
    description: User triggered the "enable devtools" notification after pressing F12.
    release_channel_collection: opt-out
    expiry_version: "80"
    extra_keys:
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  filters_changed:
    objects: ["netmonitor", "webconsole"]
    bug_numbers: [1463144, 1463095]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User has changed filters in the web console.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      trigger: "The cause of the filter change: error, warn, log, info, debug, css, netxhr, net, text or reset and all, html, css, js, xhr, fonts, images, media, ws or other for netmonitor"
      active: Comma separated list of active filters.
      inactive: Comma separated list of inactive filters.
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  inspect:
    objects: ["aboutdebugging"]
    bug_numbers: [1504173]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User has clicked on the inspect button of one of the debug targets of aboutdebugging.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      runtime_type: The runtime type
      target_type: The target type
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  jump_to_definition:
    objects: ["webconsole"]
    bug_numbers: [1463101]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User has clicked "Jump to definition" icon (next to logged functions) in the web console.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  jump_to_source:
    objects: ["webconsole"]
    bug_numbers: [1463092]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User has clicked a link to a source file in the web console.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  object_expanded:
    objects: ["webconsole"]
    bug_numbers: [1463104]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User has expanded an object in the web console.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  open:
    objects: ["tools"]
    bug_numbers: [1416024, 1456984]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User opens devtools toolbox.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      entrypoint: How was the toolbox opened? CommandLine, ContextMenu, HamburgerMenu, KeyShortcut, SessionRestore or SystemMenu
      first_panel: The name of the first panel opened.
      host: "Toolbox host (positioning): bottom, side, window or other."
      splitconsole: Indicates whether the split console was open.
      width: Toolbox width rounded up to the nearest 50px.
      shortcut: The key combination pressed. Used only in the case that entrypoint === KeyShortcut.
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  open_adbg:
    objects: ["aboutdebugging"]
    bug_numbers: [1504173]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User opens about:debugging.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      width: Toolbox width rounded up to the nearest 50px.
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  pause_on_exceptions:
    objects: ["debugger"]
    bug_numbers: [1463117]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User has changed pausing behaviour in the debugger.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      exceptions: Pause on exceptions is checked.
      caught_exceptio: Pause on caught exceptions is checked.
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  pause:
    objects: ["debugger"]
    bug_numbers: [1463118]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: Debugger has paused in a script due to a breakpoint or exception.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      reason: caught-exception, uncaught-exception, pausing, debugger-statement or breakpoint.
      lib_stacks: Number of collapsed callstacks in the call tree. These are call stacks that are part of external libraries e.g. react, which are collapsed  by default.
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  persist_changed:
    objects: ["netmonitor", "webconsole"]
    bug_numbers: [1531395, 1542312]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User has changed log persist status.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  pretty_print:
    objects: ["debugger"]
    bug_numbers: [1463125]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User clicked the pretty print button to pretty print a script.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  remove_breakpoint:
    objects: ["debugger"]
    bug_numbers: [1463124]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User has removed a breakpoint from a script.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  runtime_added:
    objects: ["aboutdebugging"]
    bug_numbers: [1521507]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: A new remote runtime has been detected in about:debugging
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      connection_type: Connection type
      device_name: Name of the device on which the runtime is running (optional)
      runtime_id: Random id generated to track events related to a single runtime
      runtime_name: Name of the runtime
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  runtime_connected:
    objects: ["aboutdebugging"]
    bug_numbers: [1521507, 1530997]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: Connection was established with a remote runtime in about:debugging
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      connection_type: Connection type
      device_name: Name of the device on which the runtime is running (optional)
      runtime_id: Random id generated to track events related to a single runtime
      runtime_name: Name of the runtime
      runtime_os: Operating system on which the runtime is running (eg Android or Linux)
      runtime_version: Version of the runtime (eg 67.0a1)
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  runtime_disconnected:
    objects: ["aboutdebugging"]
    bug_numbers: [1521507]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: Connection was lost with a remote runtime in about debugging
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      connection_type: Connection type
      device_name: Name of the device on which the runtime is running (optional)
      runtime_id: Random id generated to track events related to a single runtime
      runtime_name: Name of the runtime
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  runtime_removed:
    objects: ["aboutdebugging"]
    bug_numbers: [1521507]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: A previously listed runtime was removed in about:debugging
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      connection_type: Connection type
      device_name: Name of the device on which the runtime is running (optional)
      runtime_id: Random id generated to track events related to a single runtime
      runtime_name: Name of the runtime
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  select_page:
    objects: ["aboutdebugging", "application"]
    bug_numbers: [1504173, 1643253]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User navigates to a new page of an application such as about:debugging
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      page_type: Type of page the user navigates to (this-firefox, connect, runtime)
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  show_profiler:
    objects: ["aboutdebugging"]
    bug_numbers: [1521511]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User has clicked on the "Open Profiler" button in a runtime page of about:debugging
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      runtime_id: Random id generated to track events related to a single runtime
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  select_ws_frame:
    objects: ["netmonitor"]
    bug_numbers: [1555638]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User has selected a WebSocket frame.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  sidepanel_changed:
    objects: ["inspector", "netmonitor"]
    bug_numbers: [1463083, 1463169]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User has switched sidepanel tabs.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      oldpanel: The panel the user is switching from
      newpanel: The panel the user is switching to
      os: The OS name and version e.g. "Linux 4.4.0-1014-aws", "Darwin 14.5.0", "Windows_NT 6.1.7601" or "Windows_NT 10.0.15063." This can be used to make sense of data when a feature is only available from a particular operating system build number.
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  start_worker:
    objects: ["application"]
    bug_numbers: [1643253]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
    record_in_processes: ["main"]
    description: User manually starts a service worker
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  throttle_changed:
    objects: ["netmonitor"]
    bug_numbers: [1463147]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User has changed the throttle setting in the netmonitor.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      mode: No throttling, GPRS, Regular 2G, Good 2G, Regular 3G, Good 3G, Regular 4G / LTE, DSL or WI-FI.
      session_id: The toolbox session start time e.g. 13963.
  tool_timer:
    objects: ["animationinspector", "compatibilityview", "computedview", "changesview", "fontinspector", "layoutview", "ruleview"]
    bug_numbers: [1483817, 1639454]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: The amount of time a tool was opened for.
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      time_open: Time open.
      os: The OS name and version e.g. "Linux 4.4.0-1014-aws", "Darwin 14.5.0", "Windows_NT 6.1.7601" or "Windows_NT 10.0.15063." This can be used to make sense of data when a feature is only available from a particular operating system build number.
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  unregister_worker:
    objects: ["application"]
    bug_numbers: [1643253]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
    record_in_processes: ["main"]
    description: User manually unregisters a service worker registration
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.
  update_conn_prompt:
    objects: ["aboutdebugging"]
    bug_numbers: [1521511]
    notification_emails: ["dev-developer-tools@lists.mozilla.org"]
    products:
      - "firefox"
      - "fennec"
    record_in_processes: ["main"]
    description: User has clicked on the "Enable/Disable connection prompt" button in a runtime page of about:debugging
    release_channel_collection: opt-out
    expiry_version: never
    extra_keys:
      prompt_enabled: True if the user enables the prompt, false otherwise.
      runtime_id: Random id generated to track events related to a single runtime
      session_id: The start time of the session in milliseconds since epoch (Unix Timestamp) e.g. 1396381378123.

security.ui.protections:
  show:
    objects: [
      "protection_report",
      "vpn_banner",
    ]
    bug_numbers:
      - 1557050
      - 1610897
      - 1643428
      - 1650468
      - 1661756
      - 1678201
    description: >
      User arrived on the protection report. This also includes a 'value' attribute which defaults to 'direct' or will be the value that a referring website addds to the url. This also indicates if the vpn banner has been seen.
    expiry_version: "97"
    record_in_processes: ["content"]
    release_channel_collection: opt-out
    notification_emails:
      - ewright@mozilla.com
      - seceng-telemetry@mozilla.com
    products:
      - firefox
    extra_keys:
      category: The category of protections the user is in, standard, strict or custom.
  close:
    objects: [
      "protection_report",
    ]
    bug_numbers:
      - 1557050
      - 1610897
      - 1612091
      - 1643428
      - 1678201
    description: >
      User closed on the protection report.
    expiry_version: "97"
    record_in_processes: ["content"]
    release_channel_collection: opt-out
    notification_emails:
      - ewright@mozilla.com
      - seceng-telemetry@mozilla.com
    products:
      - firefox
    extra_keys:
      category: The category of protections the user is in, standard, strict or custom.
  click:
    bug_numbers:
      - 1557050
      - 1572825
      - 1610897
      - 1612088
      - 1612091
      - 1637615
      - 1643428
      - 1661756
      - 1678201
    description: >
      User interaction by click events on the protection report.
    objects: [
      "lw_open_button",
      "lw_sync_link",
      "lw_about_link",
      "mtr_about_link",
      "mtr_report_link",
      "mtr_signup_button",
      "trackers_about_link",
      "mobile_app_link",
      "settings_link",
      "vpn_banner_link",
      "vpn_banner_close",
      "vpn_card_link",
      "vpn_app_link_android",
      "vpn_app_link_ios",
    ]
    expiry_version: "97"
    record_in_processes: ["content"]
    release_channel_collection: opt-out
    notification_emails:
      - ewright@mozilla.com
      - seceng-telemetry@mozilla.com
    products:
      - firefox
    extra_keys:
      category: The category of protections the user is in, standard, strict or custom.

security.ui.app_menu:
  click:
    bug_numbers:
      - 1603545
      - 1616229
      - 1643428
      - 1678201
    description: >
      Privacy and Security click events on app menu.
    objects: [
      "open_full_report",
    ]
    expiry_version: "97"
    record_in_processes:
      - main
    release_channel_collection: opt-out
    notification_emails:
      - ewright@mozilla.com
      - seceng-telemetry@mozilla.com
    products:
      - firefox

security.ui.protectionspopup:
  open:
    objects: ["protections_popup"]
    bug_numbers:
      - 1560327
      - 1607488
      - 1643428
      - 1678201
    description: >
      How many times the protections panel was opened.
    expiry_version: "97"
    notification_emails:
      - ewright@mozilla.com
      - nhnt11@mozilla.com
      - jhofmann@mozilla.com
      - seceng-telemetry@mozilla.com
    release_channel_collection: opt-out
    record_in_processes:
      - main
    products:
      - firefox
  click:
    objects: [
      "etp_toggle_on",
      "etp_toggle_off",
      "sitenotworking_link",
      "send_report_link",
      "send_report_submit",
      "social",
      "cookies",
      "trackers",
      "fingerprinters",
      "cryptominers",
      "subview_settings",
      "settings",
      "full_report",
      "milestone_message",
    ]
    bug_numbers:
      - 1560327
      - 1602015
      - 1607488
      - 1643428
      - 1678201
    description: >
      User interaction by click events in the protections panel.
    expiry_version: "97"
    notification_emails:
      - ewright@mozilla.com
      - nhnt11@mozilla.com
      - jhofmann@mozilla.com
      - seceng-telemetry@mozilla.com
    release_channel_collection: opt-out
    record_in_processes:
      - main
    products:
      - firefox

uptake.remotecontent.result:
  uptake:
    description: >
      Was the remote content successfully pulled?
      This uptake telemetry allows to monitor the behaviour of our clients when it comes
      to fetching data from remote servers. This helps defect-detection and allow observation of
      the proportion of success among clients and sources, the distribution of error causes, and
      its evolution over time.
    methods:
      - uptake
    objects:
      - remotesettings
      - normandy
    extra_keys:
      source: >
        A label to distinguish what is being pulled or updated in the component (eg. recipe id,
        settings collection name, ...).
      trigger: >
        A label to distinguish what triggered the polling/fetching of remote content (eg. "broadcast",
        "timer", "forced", "manual")
      age: >
        The age of pulled data in seconds (ie. difference between publication time and fetch time).
      duration: >
        The duration of the synchronization process in milliseconds.
      timestamp: >
        The current timestamp, received during synchronization.
      errorName: >
        An optional string with the error name attribute in case of failure.
    bug_numbers:
      - 1517469
      - 1617133
    products:
      - "firefox"
      - "fennec"
      - "thunderbird"
    record_in_processes: ["main"]
    release_channel_collection: opt-out
    expiry_version: never
    notification_emails:
      - mleplatre@mozilla.com
      - bens-directs@mozilla.com

intl.ui.browserLanguage:
  action:
    description: >
      User interactions for the browser language within about-preferences in the main pane and in
      the browser language dialog. Each dialog event (on the dialog object, and the manage and
      search methods of the main object) has a value which is a monotonically increasing number
      that links it with other events related to the same dialog instance.
    objects:
      - dialog
      - main
    methods:
      - manage
      - search
      - add
      - remove
      - reorder
      - apply
      - accept
      - cancel
    extra_keys:
      installId: The id for an install.
    products:
      - firefox
    expiry_version: "97"
    notification_emails:
      - flod@mozilla.com
      - mstriemer@mozilla.com
    release_channel_collection: opt-out
    record_in_processes: ["main"]
    bug_numbers: [1486507, 1553311, 1607501, 1672571]

network.dns:
  trrConfirmation:
    objects: ["context"]
    bug_numbers:
      - 1691408
      - 1694949
    description: >
      This telemetry records the status of the TRR confirmation across.
      The value of the event is one of:
        "ok"
        "trying"
    notification_emails:
      - vgosu@mozilla.com
      - necko@mozilla.com
    release_channel_collection: opt-out
    products:
      - firefox
    expiry_version: "never"
    record_in_processes:
      - main
    extra_keys:
      trigger: >
        The reason why this confirmation was triggered.
        Values: [cp-connectivity, pref-change, context-init, retry, failed-lookups]
      contextReason: >
        The cause of the current confirmation context.
        Values: [success, pref-change, network-change, shutdown]
      attemptCount: >
        The number of NS requests that were issued for this confirmation.
      results: >
        String representation of the last 32 confirmation results.
        Example: nnnnnnttttttttt indicates a number of network (n) failures
        followed by timeouts (t).
      failedLookups: >
        When the trigger is failed-lookups, this contains the string
        representation of the failures that triggered the confirmation.
      networkID: >
        The network ID for the recorded confirmation attempts
      captivePortal: >
        One of [unknown, not_captive, unlocked, locked]
      time: >
        Time from first confirmation attempt to event being recorded

security:
  fissionPrincipals:
    objects: ["contentParent"]
    bug_numbers:
      - 1687891
    description: >
      When running with Fission, we received an unexpected principal from the content process.
      Expected values for this telemetry event are the method names in ContentParent that
      received the unexpected principal.
    notification_emails:
      - tom@mozilla.com
      - ckerschb@mozilla.com
    release_channel_collection: opt-out
    products:
      - firefox
    expiry_version: "never"
    record_in_processes:
      - main
    extra_keys:
      principalType: >
        The type of principal that was received. Expected values for this field are
          NullPtr
          SystemPrincipal
          ExpandedPrincipal
          ContentPrincipal
          Unknown
      scheme: If the principal is a ContentPrincipal, we also collect the scheme
  evalUsage:
    objects: ["systemContext", "parentProcess"]
    bug_numbers:
      - 1567623
    description: >
      eval() (or an eval()-like method) was called while running in the System Principal
      context or the Parent Process.
      Expected values are:
        chromeuri - chrome:// file
        resourceuri - resource:// file
        datauri - a data URI
        bloburi - a blob URI
        singlestring - A single file or string with no slashes
        mozillaextension - An extension claiming to be from *mozilla.org
        otherextension - Another extension not from Mozilla
        suspectedUserChromeJS - A filepath ending in .uc.js
        sanitizedWindowsPath - A filepath, on Windows, sanitized by WinUtils::PreparePathForTelemetry
                               which is a bare filename or a subpath of %ProgramFiles%, %SystemRoot%,
                               or %TEMP%
        sanitizedWindowsURL - A partial URL, on Windows, consisting of either file://../ followed by
                              the value prepared as for sanitizedWindowsPath, or the bare scheme of
                              the original url
        other - Unknown
        other-on-worker - We cannot do a regex; it is not a chrome, resource, data, or blob uri, but
                          could be any other.
        regexfailure - Our Regex Matching code threw an error
      The fileinfo key may contain additional information about the file that caused the eval()
      depending on the above value. Resource, Chrome, and SingleString will contain the full value.
      Extensions will contain the full value; however .xpi! will be shortened to !,
      shield.mozilla.org! to s! and mozilla.org! to m!.  Data, Blob, UserChromeJS, Other, and
      Regexfailure should have no value.
    notification_emails:
      - tom@mozilla.com
      - ckerschb@mozilla.com
    release_channel_collection: opt-out
    products:
      - firefox
    expiry_version: "never"
    record_in_processes:
      - all
    extra_keys:
      fileinfo: Information about the file that triggered eval
  javascriptLoad:
    objects: ["parentProcess"]
    bug_numbers:
      - 1582512
    description: >
      The javascript engine requested to load a filename that was not allowed.
      Expected values, and fileinfo key, are the same possible values as above in 'evalUsage'
    notification_emails:
      - tom@mozilla.com
      - gijs@mozilla.com
    release_channel_collection: opt-out
    products:
      - firefox
    expiry_version: "never"
    record_in_processes:
      - main
    extra_keys:
      fileinfo: Information about the filename that was requested to be loaded
  unexpectedload:
    objects: ["systemprincipal"]
    bug_numbers:
      - 1644671
    description: >
      Long term want to block all loads from the system principal that cause us to parse non-trivial data.
      We don't look to break existing functionality and will allow exceptions, for this we are collecting
      information about unexpected requests triggered by the system principal
      Our measurement *excludes* acceptable requests. Those are:
      - annotated using the 'AllowedDeprecatedSystemRequests' loadinfo flag
      - using a nsContentPolicyType of FETCH, XMLHTTPREQUEST, WEBSOCKET, SAVEAS_DOWNLOAD or IMAGE
      - with a requested URI object has the flag URI_IS_UI_RESOURCE
      - if the URL scheme is 'view-source'
      - if the URL scheme is 'file' and the Content-Type is STYLESHEET or OTHER
      - if the scheme is 'jar', 'about' or 'moz-extension'
    notification_emails:
      - fbraun@mozilla.com
      - ckerschb@mozilla.com
    release_channel_collection: opt-out
    products:
      - firefox
    expiry_version: "never"
    record_in_processes:
      - all
    extra_keys:
      contenttype: Information about the content-type we expect to receive
      remotetype: Information about the remoteType in which we triggered the load
      filedetails: Information about the file that triggered the load
      redirects: Comma-separated string listing schemes for URLs that we redirected from

pictureinpicture:
  create:
    objects: ["player"]
    description: >
      Recorded when the Picture-in-Picture player window is created.
    extra_keys:
      width: The width that the window was created at
      height: The height that the window was created at
      screenX: The screen X coordinate that the window was created at
      screenY: The screen Y coordinate that the window was created at
    notification_emails:
      - mconley@mozilla.com
    products:
      - "firefox"
      - "fennec"
    record_in_processes:
      - main
    bug_numbers:
      - 1560590
      - 1678202
    expiry_version: "92"
    release_channel_collection: opt-out
  resize:
    objects: ["player"]
    description: >
      Recorded when the Picture-in-Picture player window is resized.
    extra_keys:
      width: The width that the window was resized to
      height: The height that the window was resize to
    notification_emails:
      - mconley@mozilla.com
    products:
      - "firefox"
      - "fennec"
    record_in_processes:
      - main
    bug_numbers:
      - 1560590
      - 1678202
    expiry_version: "92"
    release_channel_collection: opt-out
  move:
    objects: ["player"]
    description: >
      Recorded when the Picture-in-Picture player window is moved.
    extra_keys:
      screenX: The screen X coordinate that the window was moved to
      screenY: The screen Y coordinate that the window was moved to
    notification_emails:
      - mconley@mozilla.com
    products:
      - "firefox"
      - "fennec"
    record_in_processes:
      - main
    bug_numbers:
      - 1560590
      - 1678202
    expiry_version: "92"
    release_channel_collection: opt-out

doh:
  evaluate_v2:
    methods: ["evaluate_v2"]
    objects: ["heuristics"]
    bug_numbers:
      - 1573840
      - 1631609
      - 1603779
      - 1654714
    description: >
      Results of DoH heuristics at startup and after network changes.
    expiry_version: never
    record_in_processes:
      - main
    release_channel_collection: opt-out
    notification_emails:
      - nhnt11@mozilla.com
      - ddamjanovic@mozilla.com
      - seceng-telemetry@mozilla.com
      - necko@mozilla.com
    products:
      - firefox
    extra_keys:
      canaries: Comma-separated list of canaries that were detected (canary,zscalerCanary)
      filtering: Comma-separated list of detected parental controls/content filtering (browserParent,google,youtube)
      enterprise: Comma-separated list of detected enterprise config (policy,modifiedRoots,thirdPartyRoots)
      steeredProvider: Whether we detected a steering provider
      evaluateReason: The reason for running heuristics - startup or netchange
      networkID: An ID representing the network on which heuristics were run, unique to this client
      captiveState: The Captive Portal Service state - unknown, not_captive, locked, or unlocked
      platform: Comma-separated list of platform attributes that would cause split-horizon issues (vpn, proxy, nrpt)
  evaluate:
    methods: ["evaluate"]
    objects: ["heuristics"]
    bug_numbers:
      - 1573840
      - 1631609
      - 1603779
    description: >
      Results of DoH heuristics at startup and after network changes. OLD FORMAT: here for documentation
    expiry_version: never
    record_in_processes:
      - main
    release_channel_collection: opt-out
    notification_emails:
      - nhnt11@mozilla.com
      - ddamjanovic@mozilla.com
      - seceng-telemetry@mozilla.com
      - necko@mozilla.com
    products:
      - firefox
    extra_keys:
      google: Google safe search result
      youtube: YouTube safe search result
      zscalerCanary: ZScaler canary result
      canary: Global canary result
      modifiedRoots: Whether enterprise roots were enabled
      browserParent: Whether OS parental controls were detected
      thirdPartyRoots: Whether third party roots were installed
      policy: Enterprise policy presence - no policy/with DoH/without DoH.
      steeredProvider: Whether we detected a steering provider
      evaluateReason: The reason for running heuristics - startup or netchange
  state:
    methods: ["state"]
    objects: [
      "enabled",
      "disabled",
      "manuallyDisabled",
      "policyDisabled",
      "uninstalled",
      "UIOk",
      "UIDisabled",
      "rollback",
      "shutdown",
    ]
    bug_numbers:
      - 1573840
      - 1631609
      - 1603779
    description: >
      Results of DoH heuristics at startup and after network changes.
    expiry_version: never
    record_in_processes:
      - main
    release_channel_collection: opt-out
    notification_emails:
      - nhnt11@mozilla.com
      - ddamjanovic@mozilla.com
      - seceng-telemetry@mozilla.com
      - necko@mozilla.com
    products:
      - firefox

security.doh.trrPerformance:
  resolved:
    objects: ["record"]
    bug_numbers:
      - 1613790
    description: >
      How long it took to resolve a test domain using TRR.
    expiry_version: never
    record_in_processes:
      - main
    release_channel_collection: opt-out
    notification_emails:
      - nhnt11@mozilla.com
      - ddamjanovic@mozilla.com
      - seceng-telemetry@mozilla.com
    products:
      - firefox
    extra_keys:
      domain: The resolved domain.
      trr: The TRR provider used.
      time: The network time for the resolution.
      status: The DNS status code.
      retryCount: The number of lookup attempts before success.
      networkUnstable: Whether there was network fluctuation while gathering the results.
      captivePortal: Whether there a captive portal was detected during the run.
  trrselect:
    objects: ["dryrunresult"]
    bug_numbers:
      - 1631822
    description: >
      The URL of the DoH provider chosen by the TRR selection dry-run
    expiry_version: never
    record_in_processes:
      - main
    release_channel_collection: opt-out
    notification_emails:
      - nhnt11@mozilla.com
      - ddamjanovic@mozilla.com
      - seceng-telemetry@mozilla.com
    products:
      - firefox

security.ui.certerror:
  load:
    objects: ["aboutcerterror"]
    bug_numbers:
      - 1484255
      - 1505310
      - 1553181
      - 1629826
    description: >
      The about:certerror page is loaded, keyed by error code, see https://searchfox.org/mozilla-central/source/security/nss/lib/mozpkix/include/pkix/Result.h
    expiry_version: never
    notification_emails:
      - jhofmann@mozilla.com
      - rtestard@mozilla.com
      - seceng-telemetry@mozilla.com
    release_channel_collection: opt-out
    products:
      - "firefox"
    record_in_processes: ["content"]
    products:
      - firefox
    extra_keys:
      is_frame: If the error page is loaded in an iframe.
      has_sts: If the error page is for a site with HSTS headers or with a pinned key.
  click:
    objects: [
      "advanced_button",
      "exception_button",
      "return_button_top",
      "return_button_adv",
      "learn_more_link",
      "auto_report_cb",
      "error_code_link",
      "clipboard_button_top",
      "clipboard_button_bot",
    ]
    bug_numbers:
      - 1484255
      - 1505310
      - 1553181
      - 1629826
    description: >
      User interaction by click events on the cert error page. Keyed by error code, see https://searchfox.org/mozilla-central/source/security/nss/lib/mozpkix/include/pkix/Result.h
    expiry_version: never
    notification_emails:
      - jhofmann@mozilla.com
      - rtestard@mozilla.com
      - seceng-telemetry@mozilla.com
    release_channel_collection: opt-out
    products:
      - "firefox"
    record_in_processes: ["content"]
    products:
      - firefox
    extra_keys:
      is_frame: If the error page is loaded in an iframe.
      has_sts: If the error page is for a site with HSTS headers or with a pinned key.
      panel_open: If the advanced panel was open at the time of the interaction.

slow_script_warning:
  shown:
    bug_numbers:
      - 1652613
      - 1667245
      - 1672572
    description: >
      Recorded when a slow script hang is resolved.
    products:
      - "firefox"
    record_in_processes: ["main"]
    release_channel_collection: opt-out
    expiry_version: "93"
    notification_emails:
      - esmyth@mozilla.com
      - gkruitbosch@mozilla.com
      - perf-telemetry-alerts@mozilla.com
    # Whether the hung script was for a content or browser process.
    objects: [
      "browser",
      "content",
    ]
    extra_keys:
      end_reason: Why the warning was hidden (user action, the process becoming responsive again, the browser quitting, etc.)
      wait_count: How many times the user elected to wait.
      hang_duration: How long we believe the hang continued (ms).
      n_tab_deselect: How many times the user switched away from a tab affected by this hang.
      uri_type: The kind of script URL that hung.
      uptime: How long the notification was up (ms).

webrtc.ui:
  show_indicator:
    objects: ["show_indicator"]
    description: >
      Recorded when the user shares a microphone, camera or display, which causes
      a WebRTC sharing indicator to appear.
    notification_emails:
      - mconley@mozilla.com
      - vchin@mozilla.com
    products:
      - "firefox"
    record_in_processes:
      - main
    bug_numbers:
      - 1656274
    expiry_version: "87"
    release_channel_collection: opt-out
  share_display:
    objects:
      - screen
      - window
      - browser_window
    description: >
      Recorded when a display is shared. The value for this event is a unique
      ID that differentiates different sharing sessions. A new sharing session
      is created when the user transitions from not sharing a display to
      sharing at least one display.
    extra_keys:
      silence_notifs: True if the user opted in to silencing DOM notifications.
    notification_emails:
      - mconley@mozilla.com
      - vchin@mozilla.com
    products:
      - "firefox"
    record_in_processes:
      - main
    bug_numbers:
      - 1639283
    expiry_version: "88"
    release_channel_collection: opt-out

ysod:
  shown:
    bug_numbers:
      - 1657242
    description: >-
      This event is recorded only for Firefox UI documents (chrome).
      Recorded when a Yellow Screen of Death is shown. The `value` is a url on which the error happened.
      Yellow Screen of Death happens when XML or XHTML document encounters a parsing error. It is commonly a result
      of the document being malformed or missing DTD entity.
      Mozilla has a number of documents that rely on DTD entities for localization, and in some error scenarios those
      entities may be missing or malformed themselves, in which case the user will see a broken UI.
    products:
      - "firefox"
    record_in_processes: ["main"]
    release_channel_collection: opt-out
    expiry_version: "never"
    notification_emails:
      - zbraniecki@mozilla.com
      - vchin@mozilla.com
    objects:
      - "ysod"
    extra_keys:
      error_code: Code of the XML Error (See `XML_Error` enum in expat.h for the list of errors where XML_ERROR_NONE is 0).
      location: Location as Row:Column of where the error happened.
      last_line: The content of the last line that led to the error.
      last_line_len: The length of the last line that led to the error.
      hidden: The document is hidden.
      destroyed: The container of this document is destroyed.

dom.quota.try:
  error:
    objects: [
      "step",
    ]
    bug_numbers:
      - 1665088
    description: >
      An event recorded on an error of the quota manager or its clients. Since errors are usually
      propagated up the call chain, all such propagation steps are recorded for an error. This
      is only active during specific contexts, in particular during storage initialization.
      No dynamic data is included in the event beyond the error code which will be added through
      Bug 1670555.
    notification_emails:
      - jvarga@mozilla.com
      - sgiesecke@mozilla.com
      - storage-telemetry@mozilla.com
    products:
      - firefox
    expiry_version: "never"
    record_in_processes: ["main", "content"]
    extra_keys:
      context: The context in which the error occurred, e.g. during a storage initialization. Telemetry events are only emitted for selected contexts.
      frame_id: Optionally, the frame within stack_id.
      process_id: Optionally, the process in which the error occured.
      result: Optionally, the name of the error that occurred.
      seq: Sequence number.
      severity: One of WARNING or ERROR.
      source_file: The name of the source code file where the error occurred.
      source_line: The line within source_file where the error occurred.
      stack_id: Optionally, the stack within process_id.

zero_byte_load:
  load:
    bug_numbers:
      - 1675823
    description: >-
        Collection of zero_byte_load events as part of the Yellow Screen of Death analysis.
        When a file is loaded synchronously, this event gets recorded in nsJARChannel::Open if the content length is zero.
        For asynchronous loads, this event gets recorded in onStopRequest.
        Note that when the load has been cancelled, the consumer could already receive some data, so this event also captures non-zero-byte loads.
    products:
      - "firefox"
    record_in_processes: ["main", "content"]
    release_channel_collection: opt-out
    expiry_version: "never"
    notification_emails:
      - zbraniecki@mozilla.com
      - vchin@mozilla.com
      - kershaw@mozilla.com
    objects:
      - "ftl"
      - "dtd"
      - "properties"
      - "js"
      - "xml"
      - "xhtml"
      - "css"
      - "json"
      - "html"
      - "png"
      - "svg"
      - "others"
    extra_keys:
      sync: Was the load synchronous
      file_name: The name of the file being loaded.
      status: The channel status code.
      cancelled: Whether this load has been cancelled.

avif:
  dav1d_get_picture:
    objects: ["return_value"]
    bug_numbers: [1690406]
    description: Return value from dav1d_get_picture
    products:
      - firefox # event telemetry is not supported on fenix
    record_in_processes: ["all"]
    release_channel_collection: opt-out
    expiry_version: never
    notification_emails:
      - cchang@mozilla.com
      - jbauman@mozilla.com

installation:
  first_seen:
    description: >
      Recorded after the application has been installed or reinstalled, the first time that
      a profile sees that there was a new installation. This includes information about how
      the installer was run.
    objects:
      - full # if the full installer was run directly
      - stub # if the stub installer was used
    release_channel_collection: opt-out
    record_in_processes: ["main"]
    products: ["firefox"]
    operating_systems: ["windows"]
    extra_keys:
      version: The application version installed by the installer (not necessarily the current version)
      build_id: The build ID of the application installed by the installer (not necessarily the current version)
      admin_user: Whether the installer is running from an elevated admin user
      install_existed: Whether there was already an install in this location
      profdir_existed: Whether the top-level profile directory existed
      silent: '(optional, present if object is "full") Whether this was a silent install'
      from_msi: '(optional, present if object is "full") Whether this was an MSI install'
      default_path: '(optional, present if object is "full") Whether the default path was used'
    bug_numbers: [1660198]
    notification_emails:
      - application-update-telemetry-alerts@mozilla.com
      - agashlin@mozilla.com
      - rtestard@mozilla.com
    expiry_version: "94"

contextservices.quicksuggest:
  enable_toggled:
    objects: ["enabled", "disabled"]
    release_channel_collection: opt-out
    products:
      - "firefox"
    record_in_processes: ["main"]
    description: >
      This is recorded when the `browser.urlbar.suggest.quicksuggest` boolean
      pref is toggled.
    bug_numbers: [1693126]
    notification_emails:
      - fx-search@mozilla.com
    expiry_version: never

close_tab_warning:
  shown:
    description: >
      Recorded whenever we show the 'Close Tabs' dialog, with details about
      the reason it is shown and what choices the user makes (close or not).
    objects: ["window", "application", "tabs"]
    release_channel_collection: opt-out
    expiry_version: "94"
    record_in_processes: ["main"]
    products: ["firefox"]
    bug_numbers: [1712306]
    notification_emails:
      - gkruitbosch@mozilla.com
      - rtestard@mozilla.com
    extra_keys:
      source: The way in which the tabs were closed (shortcut, close button, menuitem, appmenu, etc.)
      button: Which button the user clicked (Close tabs or Cancel)
      warn_checkbox: Whether the checkbox to display the warning again was checked or not.
      closing_wins: The number of windows being closed.
      closing_tabs: The number of tabs being closed.
      will_restore: Whether the session will be restored if closed now.