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

# This file defines the metrics that are recorded by glean telemetry. They are
# automatically converted to Kotlin code at build time using the `glean_parser`
# PyPI package.
---

$schema: moz://mozilla.org/schemas/glean/metrics/2-0-0

crash_metrics:
  crash_count:
    type: labeled_counter
    description: >
      Counts the number of crashes that occur in the application.
      This measures only the counts of each crash in association
      with the labeled type of the crash.
      The labels correspond to the types of crashes handled by lib-crash.

      Deprecated: `native_code_crash`, `fatal_native_code_crash` and
      `nonfatal_native_code_crash` replaced by `main_proc_native_code_crash`,
      `fg_proc_native_code_crash` and `bg_proc_native_code_crash`.
    labels:
      - uncaught_exception
      - caught_exception
      - main_proc_native_code_crash
      - fg_proc_native_code_crash
      - bg_proc_native_code_crash
      - fatal_native_code_crash
      - nonfatal_native_code_crash
    bugs:
      - https://bugzilla.mozilla.org/1553935
      - https://github.com/mozilla-mobile/android-components/issues/5175
      - https://github.com/mozilla-mobile/android-components/issues/11876
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1553935#c3
      - https://github.com/mozilla-mobile/android-components/pull/5700#pullrequestreview-347721248
      - https://github.com/mozilla-mobile/android-components/pull/11908#issuecomment-1075243414
    data_sensitivity:
      - technical
    notification_emails:
      - android-probes@mozilla.com
      - jnicol@mozilla.com
    expires: never

crash:
  uptime:
    type: timespan
    description: >
      The application uptime. This is equivalent to the legacy crash ping's
      `UptimeTS` field.
    notification_emails:
      - crash-reporting-wg@mozilla.org
      - stability@mozilla.org
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1790569
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1790569#c12
    data_sensitivity:
      - technical
    expires: never
    send_in_pings:
      - crash

  process_type:
    type: string
    # yamllint disable
    description: >
      The type of process that experienced a crash. See the full list of
      options
      [here](https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/data/crash-ping.html#process-types).
    # yamllint enable
    notification_emails:
      - crash-reporting-wg@mozilla.org
      - stability@mozilla.org
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1790569
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1790569#c12
    data_sensitivity:
      - technical
    expires: never
    send_in_pings:
      - crash

  remote_type:
    type: string
    description: >
      Type of the child process, can be set to "web", "file" or "extension" but could also be unavailable.
    notification_emails:
      - crash-reporting-wg@mozilla.org
      - stability@mozilla.org
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1851518
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1851518#c6
    data_sensitivity:
      - technical
    expires: never
    send_in_pings:
      - crash

  time:
    type: datetime
    time_unit: minute
    description: >
      The time at which the crash occurred.
    notification_emails:
      - crash-reporting-wg@mozilla.org
      - stability@mozilla.org
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1790569
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1790569#c12
    data_sensitivity:
      - technical
    expires: never
    send_in_pings:
      - crash

  startup:
    type: boolean
    description: >
      If true, the crash occurred during process startup.
    notification_emails:
      - crash-reporting-wg@mozilla.org
      - stability@mozilla.org
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1790569
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1790569#c12
    data_sensitivity:
      - technical
    expires: never
    send_in_pings:
      - crash

  cause:
    type: string
    description: >
      The cause of the crash. May be one of `os_fault` or `java_exception`.
    notification_emails:
      - crash-reporting-wg@mozilla.org
      - stability@mozilla.org
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1839697
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1839697#c5
    data_sensitivity:
      - technical
    expires: never
    send_in_pings:
      - crash
