# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

# Adding a new metric? We have docs for that!
# https://firefox-source-docs.mozilla.org/toolkit/components/glean/user/new_definitions_file.html

---
$schema: moz://mozilla.org/schemas/glean/metrics/2-0-0
$tags:
  - 'Core :: DOM: Core & HTML'

perf:
  largest_contentful_paint:
    type: timing_distribution
    time_unit: millisecond
    description: >
        Time from navigation start to largest contentful paint.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1862939
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1862939#c5
    notification_emails:
      - perf-telemetry-alerts@mozilla.com
    expires: never
    telemetry_mirror: PERF_LARGEST_CONTENTFUL_PAINT_MS
  largest_contentful_paint_from_response_start:
    type: timing_distribution
    time_unit: millisecond
    description: >
        Time from response start to largest contentful paint.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1862939
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1862939#c5
    notification_emails:
      - perf-telemetry-alerts@mozilla.com
    expires: never
    telemetry_mirror: PERF_LARGEST_CONTENTFUL_PAINT_FROM_RESPONSE_START_MS
  page_load:
    type: event
    description: >
        Recorded when a top level content document has been loaded.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1759744
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1799727
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1834774
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1862939
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1892231
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1923894
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1759744#c5
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1799727#c4
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1834774#c3
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1862939#c5
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1892231#c3
    notification_emails:
      - perf-telemetry-alerts@mozilla.com
      - dpalmeiro@mozilla.com
    expires: never
    extra_keys:
      load_time:
        description:
          "Time between loadEventStart and navigationStart, in ms."
        type: quantity
        unit: ms
      dns_lookup_time:
        description:
          "Time taken to perform dns lookup of the top level document, in ms."
        type: quantity
        unit: ms
      time_to_request_start:
        description:
          "Time between requestStart and navigationStart, in ms."
        type: quantity
        unit: ms
      response_time:
        description:
          "Time between responseStart and navigationStart, in ms."
        type: quantity
        unit: ms
      fcp_time:
        description:
          "Time between firstContentfulPaint and navigationStart, in ms."
        type: quantity
        unit: ms
      lcp_time:
        description:
          "Time between largestContentfulPaint and navigationStart, at the point of onLoad firing, in ms. This may differ from the final LCP value as reported through the LCP histogram."
        type: quantity
        unit: ms
      js_exec_time:
        description:
          "Time spent executing JS during page load, in ms."
        type: quantity
        unit: ms
      redirect_time:
        type: quantity
        description:
          "Time spent in redirections for the top level document."
        unit: ms
      redirect_count:
        description:
          "Number of redirections for the top level document."
        type: quantity
        unit: integer
      load_type:
        description:
          "One of normal,reload,stop,link,history,error or other."
        type: string
      same_origin_nav:
        description:
          "If true, a normal navigation was performed on the same origin."
        type: boolean
      using_webdriver:
        description:
          "If true, a webdriver is running on the client."
        type: boolean
      http_ver:
        description:
          "Version of HTTP protocol used."
        type: quantity
        unit: integer
      trr_domain:
        description:
          "TRR domain used."
        type: string
      features:
        description:
          "Bitfield of features in use within this document:
            1 - fetchpriority applied to images
            2 - assistive technology in use"
        type: quantity
        unit: integer
    send_in_pings:
      - pageload

performance.pageload:
  load_time:
    type: timing_distribution
    time_unit: millisecond
    telemetry_mirror: PERF_PAGE_LOAD_TIME_MS
    description: >
      Time in milliseconds from navigationStart to loadEventStart
      for the foreground http or https root content document.
      (Migrated from the geckoview metric of the same name).
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729#c7
    notification_emails:
      - dpalmeiro@mozilla.com
      - perf-telemetry-alerts@mozilla.com
    expires: never

  load_time_responsestart:
    type: timing_distribution
    time_unit: millisecond
    telemetry_mirror: PERF_PAGE_LOAD_TIME_FROM_RESPONSESTART_MS
    description: >
      Time in milliseconds from responseStart to loadEventStart
      for the foreground http or https root content document.
      (Migrated from the geckoview metric of the same name).
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729#c7
    notification_emails:
      - dpalmeiro@mozilla.com
      - perf-telemetry-alerts@mozilla.com
    expires: never

  fcp:
    type: timing_distribution
    time_unit: millisecond
    telemetry_mirror: PERF_FIRST_CONTENTFUL_PAINT_MS
    description: >
      The time between navigationStart and the first contentful paint
      of a foreground http or https root content document, in
      milliseconds. The contentful paint timestamp is taken during
      display list building and does not include rasterization or
      compositing of that paint.
      (Migrated from the geckoview metric of the same name).
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729#c7
    notification_emails:
      - dpalmeiro@mozilla.com
      - perf-telemetry-alerts@mozilla.com
    expires: never

  fcp_responsestart:
    type: timing_distribution
    time_unit: millisecond
    telemetry_mirror: PERF_FIRST_CONTENTFUL_PAINT_FROM_RESPONSESTART_MS
    description: >
      The time between responseStart and the first contentful paint
      of a foreground http or https root content document, in
      milliseconds. The contentful paint timestamp is taken during
      display list building and does not include rasterization or
      compositing of that paint.
      (Migrated from the geckoview metric of the same name).
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1671729#c7
    notification_emails:
      - dpalmeiro@mozilla.com
      - perf-telemetry-alerts@mozilla.com
    expires: never

  http3_fcp_http3: &http3_fcp_http3
    type: timing_distribution
    time_unit: millisecond
    description: >
        The time between navigationStart and the first contentful paint of
        a foreground http or https root content document, in milliseconds.
        The contentful paint timestamp is taken during display list building
        and does not include rasterization or compositing of that paint.
        This is collected only on page load where the main document uses or suppports HTTP3.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1675503
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1898245
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1898245
    notification_emails:
      - necko@mozilla.com
      - perf-telemetry-alerts@mozilla.com
    expires: never

  http3_fcp_supports_http3:
    <<: *http3_fcp_http3
    description: >
        The time between navigationStart and the first contentful paint of
        a foreground http or https root content document, in milliseconds.
        The contentful paint timestamp is taken during display list building
        and does not include rasterization or compositing of that paint.
        This is collected only on page load where the main document supports but is not using HTTP3.

  h3p_fcp_with_priority: &h3p_fcp_with_priority
    type: timing_distribution
    time_unit: millisecond
    description: >
        The time between navigationStart and the first contentful paint of
        a foreground http or https root content document, in milliseconds.
        The contentful paint timestamp is taken during display list
        building and does not include rasterization or compositing of that paint.
        This is collected only on page load where the main document uses HTTP3.
        A "priority" header has been received.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1743965
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1796398
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1898245
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1898245
    notification_emails:
      - necko@mozilla.com
      - perf-telemetry-alerts@mozilla.com
    expires: never

  http3_fcp_without_priority:
    <<: *h3p_fcp_with_priority
    description: >
        The time between navigationStart and the first contentful paint of
        a foreground http or https root content document, in milliseconds.
        The contentful paint timestamp is taken during display list
        building and does not include rasterization or compositing of that paint.
        This is collected only on page load where the main document uses HTTP3.
        A "priority" header has not been received.

performance.time:
  dom_interactive:
    type: timing_distribution
    time_unit: millisecond
    telemetry_mirror: TIME_TO_DOM_INTERACTIVE_MS
    description: >
      Time from navigationStart to domInteractive as per the W3C
      Performance Timing API.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1344893
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1489524
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10
    notification_emails:
      - vgosu@mozilla.com
      - perf-telemetry-alerts@mozilla.com
    expires: never

  dom_content_loaded_start:
    type: timing_distribution
    time_unit: millisecond
    telemetry_mirror: TIME_TO_DOM_CONTENT_LOADED_START_MS
    description: >
      Time from navigationStart to domContentLoadedEventStart as per
      the W3C Performance Timing API.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1344893
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10
    notification_emails:
      - perf-telemetry-alerts@mozilla.com
      - bdekoz@mozilla.com
    expires: never

  dom_content_loaded_end:
    type: timing_distribution
    time_unit: millisecond
    telemetry_mirror: TIME_TO_DOM_CONTENT_LOADED_END_MS
    description: >
      Time from navigationStart to domContentLoadedEventEnd as per
      the W3C Performance Timing API.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1344893
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1489524
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10
    notification_emails:
      - vchin@mozilla.com
      - perf-telemetry-alerts@mozilla.com
    expires: never

  dom_complete:
    type: timing_distribution
    time_unit: millisecond
    telemetry_mirror: TIME_TO_DOM_COMPLETE_MS
    description: >
      Time from navigationStart to domComplete as per the W3C Performance
      Timing API.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1344893
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1489524
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10
    notification_emails:
      - vgosu@mozilla.com
      - perf-telemetry-alerts@mozilla.com
    expires: never

  load_event_start:
    type: timing_distribution
    time_unit: millisecond
    telemetry_mirror: TIME_TO_LOAD_EVENT_START_MS
    description: >
      Time from navigationStart to loadEventStart as per the W3C Performance
      Timing API.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1344893
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10
    notification_emails:
      - perf-telemetry-alerts@mozilla.com
      - bdekoz@mozilla.com
    expires: never

  load_event_end:
    type: timing_distribution
    time_unit: millisecond
    telemetry_mirror: TIME_TO_LOAD_EVENT_END_MS
    description: >
      Time from navigationStart to loadEventEnd as per the W3C Performance
      Timing API.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1344893
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1489524
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10
    notification_emails:
      - vchin@mozilla.com
      - perf-telemetry-alerts@mozilla.com
    expires: never


performance.page:
  non_blank_paint:
    type: timing_distribution
    time_unit: millisecond
    telemetry_mirror: TIME_TO_NON_BLANK_PAINT_MS
    description: >
      The time between navigationStart and the first non-blank paint of a
      foreground root content document, in milliseconds. This only records
      documents that were in an active docshell throughout the whole time
      between navigation start and non-blank paint. The non-blank paint
      timestamp is taken during display list building and does not include
      rasterization or compositing of that paint.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1307242
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1489524
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877842
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1580077#c10
    notification_emails:
      - vchin@mozilla.com
      - perf-telemetry-alerts@mozilla.com
    expires: never


javascript.pageload:
  execution_time:
    type: timing_distribution
    time_unit: millisecond
    telemetry_mirror: JS_PAGELOAD_EXECUTION_MS
    description: >
      Time spent during page load executing Javascript in ms.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1709139
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877843
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1709139#c4
    notification_emails:
      - dpalmeiro@mozilla.com
      - perf-telemetry-alerts@mozilla.com
    expires: never

  delazification_time:
    type: timing_distribution
    time_unit: millisecond
    telemetry_mirror: JS_PAGELOAD_DELAZIFICATION_MS
    description: >
      Time spent during page load delazifying Javascript in ms.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1709139
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877843
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1709139#c4
    notification_emails:
      - dpalmeiro@mozilla.com
      - perf-telemetry-alerts@mozilla.com
    expires: never

  xdr_encode_time:
    type: timing_distribution
    time_unit: millisecond
    telemetry_mirror: JS_PAGELOAD_XDR_ENCODING_MS
    description: >
      Time spent during page load XDR encoding Javascript in ms.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1709139
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877843
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1709139#c4
    notification_emails:
      - dpalmeiro@mozilla.com
      - perf-telemetry-alerts@mozilla.com
    expires: never

  baseline_compile_time:
    type: timing_distribution
    time_unit: millisecond
    telemetry_mirror: JS_PAGELOAD_BASELINE_COMPILE_MS
    description: >
      Time spent during page load baseline compiling Javascript in ms.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1709139
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877843
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1709139#c4
    notification_emails:
      - dpalmeiro@mozilla.com
      - perf-telemetry-alerts@mozilla.com
    expires: never

  gc_time:
    type: timing_distribution
    time_unit: millisecond
    telemetry_mirror: JS_PAGELOAD_GC_MS
    description: >
      Time spent during page load in the GC in ms.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1709139
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877843
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1709139#c4
    notification_emails:
      - dpalmeiro@mozilla.com
      - perf-telemetry-alerts@mozilla.com
    expires: never

  parse_time:
    type: timing_distribution
    time_unit: millisecond
    telemetry_mirror: JS_PAGELOAD_PARSE_MS
    description: >
      Time spent during page load syntax parsing JS scripts on
      the main thread in ms.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1709139
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877843
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1709139#c4
    notification_emails:
      - dpalmeiro@mozilla.com
      - perf-telemetry-alerts@mozilla.com
    expires: never

  protect_time:
    type: timing_distribution
    time_unit: millisecond
    telemetry_mirror: JS_PAGELOAD_PROTECT_MS
    description: >
      Time spent during page load protecting JIT executable memory.
      (Migrated from the geckoview metric of the same name.)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1709139
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1877843
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1709139#c4
    notification_emails:
      - dpalmeiro@mozilla.com
      - perf-telemetry-alerts@mozilla.com
    expires: never

security:
  fission_principals:
    type: event
    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.
      This event was generated to correspond to the Legacy Telemetry event
      security.fissionPrincipals#contentParent.
    bugs:
      - https://bugzil.la/1687891
    data_reviews:
      - https://bugzil.la/1687891
    notification_emails:
      - tom@mozilla.com
      - ckerschb@mozilla.com
    expires: never
    extra_keys:
      value:
        description: >
          The `value` of the event. Mirrors to the Legacy Telemetry
          event's `value` parameter.
        type: string
      principalType:
        description: >
          The type of principal that was received. Expected values for this field are
            NullPtr
            SystemPrincipal
            ExpandedPrincipal
            ContentPrincipal
            Unknown

        type: string
      scheme:
        description: >
          If the principal is a ContentPrincipal, we also collect the scheme
        type: string
    telemetry_mirror: Security_Fissionprincipals_Contentparent

mathml:
  doc_count:
    type: counter
    description: >
      The number of documents that contained enabled MathML elements.
      This metric was generated to correspond to the Legacy Telemetry
      scalar mathml.doc_count.
    bugs:
      - https://bugzil.la/1362187
      - https://bugzil.la/1538985
      - https://bugzil.la/1590350
    data_reviews:
      - https://bugzil.la/1362187
      - https://bugzil.la/1538985
      - https://bugzil.la/1590350
    notification_emails:
      - emilio@mozilla.com
      - fred.wang@free.fr
      - dev-tech-layout@lists.mozilla.org
    expires: never
    telemetry_mirror: MATHML_DOC_COUNT

dom.contentprocess:
  build_id_mismatch:
    type: counter
    description: >
      The number of times the about:restartrequired page appeared due to a
      buildID mismatch between the parent and the content processes.
      This metric was generated to correspond to the Legacy Telemetry
      scalar dom.contentprocess.buildID_mismatch.
    bugs:
      - https://bugzil.la/1366808
    data_reviews:
      - https://bugzil.la/1366808
    notification_emails:
      - spohl@mozilla.com
    expires: never
    telemetry_mirror: DOM_CONTENTPROCESS_BUILDID_MISMATCH

  build_id_mismatch_false_positive:
    type: counter
    description: >
      The number of times a process crashed early but we could verify it
      was not because of buildID mismatch between the parent and the
      content processes.
      This metric was generated to correspond to the Legacy Telemetry
      scalar dom.contentprocess.buildID_mismatch_false_positive.
    bugs:
      - https://bugzil.la/1651133
      - https://bugzil.la/1730045
      - https://bugzil.la/1754658
      - https://bugzil.la/1777404
      - https://bugzil.la/1817104
      - https://bugzil.la/1866197
      - https://bugzil.la/1928259
    data_reviews:
      - https://bugzil.la/1651133
      - https://bugzil.la/1730045
      - https://bugzil.la/1754658
      - https://bugzil.la/1777404
      - https://bugzil.la/1817104
      - https://bugzil.la/1866197
      - https://bugzil.la/1928259
    notification_emails:
      - alissy@mozilla.com
    expires: 150
    telemetry_mirror: DOM_CONTENTPROCESS_BUILDID_MISMATCH_FALSE_POSITIVE

  os_priority_lowered:
    type: counter
    description: >
      The number of times a content process has had its OS priority
      lowered due to only containing background tabs without audible media
      playing.
      This metric was generated to correspond to the Legacy Telemetry
      scalar dom.contentprocess.os_priority_lowered.
    bugs:
      - https://bugzil.la/1538987
    data_reviews:
      - https://bugzil.la/1538987
    notification_emails:
      - mconley@mozilla.com
      - gsvelto@mozilla.com
    expires: never
    telemetry_mirror: DOM_CONTENTPROCESS_OS_PRIORITY_LOWERED

  os_priority_raised:
    type: counter
    description: >
      The number of times a content process has had its OS priority raised
      due to containing at least one foregrounded tab, or a tab with
      audible media has started playing in it.
      This metric was generated to correspond to the Legacy Telemetry
      scalar dom.contentprocess.os_priority_raised.
    bugs:
      - https://bugzil.la/1538987
    data_reviews:
      - https://bugzil.la/1538987
    notification_emails:
      - mconley@mozilla.com
      - gsvelto@mozilla.com
    expires: never
    telemetry_mirror: DOM_CONTENTPROCESS_OS_PRIORITY_RAISED

  os_priority_change_considered:
    type: counter
    description: >
      The number of times we've had the opportunity to change content
      process priority due to a tab switch or a tab being opened.
      This metric was generated to correspond to the Legacy Telemetry
      scalar dom.contentprocess.os_priority_change_considered.
    bugs:
      - https://bugzil.la/1538987
    data_reviews:
      - https://bugzil.la/1538987
    notification_emails:
      - mconley@mozilla.com
      - gsvelto@mozilla.com
    expires: never
    telemetry_mirror: DOM_CONTENTPROCESS_OS_PRIORITY_CHANGE_CONSIDERED

  launch_mainthread:
    type: timing_distribution
    description: >
      Time spent on the main thread during asynchronous content process launch.

      This metric was generated to correspond to the Legacy Telemetry
      exponential histogram CONTENT_PROCESS_LAUNCH_MAINTHREAD_MS.
    time_unit: millisecond
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1474991
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1474991
    notification_emails:
      - jld@mozilla.com
      - jimm@mozilla.com
      - mconley@mozilla.com
    expires: never
    telemetry_mirror: CONTENT_PROCESS_LAUNCH_MAINTHREAD_MS

  launch_total:
    type: timing_distribution
    description: >
      Total time elapsed during asynchronous content process launch, until the
      process is usable for loading content.

      This metric was generated to correspond to the Legacy Telemetry
      exponential histogram CONTENT_PROCESS_LAUNCH_TOTAL_MS.
    time_unit: millisecond
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1474991
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1474991
    notification_emails:
      - jld@mozilla.com
      - jimm@mozilla.com
      - mconley@mozilla.com
    expires: never
    telemetry_mirror: CONTENT_PROCESS_LAUNCH_TOTAL_MS

  sync_launch:
    type: timing_distribution
    description: >
      Time elapsed during synchronous content process launch until the process
      is usable for loading content.

      This metric was generated to correspond to the Legacy Telemetry
      exponential histogram CONTENT_PROCESS_SYNC_LAUNCH_MS.
    time_unit: millisecond
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1474991
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1474991
    notification_emails:
      - jld@mozilla.com
      - jimm@mozilla.com
      - mconley@mozilla.com
    expires: never
    telemetry_mirror: CONTENT_PROCESS_SYNC_LAUNCH_MS

  launch_is_sync:
    type: labeled_counter
    description: >
      Whether a content process was launched synchronously (unnecessarily
      delaying UI response).

      This metric was generated to correspond to the Legacy Telemetry boolean
      histogram CONTENT_PROCESS_LAUNCH_IS_SYNC.
    labels:
      - "false"
      - "true"
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1474991
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1474991
    notification_emails:
      - jld@mozilla.com
      - jimm@mozilla.com
      - mconley@mozilla.com
    expires: never
    telemetry_mirror: h#CONTENT_PROCESS_LAUNCH_IS_SYNC

dom.parentprocess:
  private_window_used:
    type: boolean
    description: >
      Whether a private browsing window has been used in the session.
      This metric was generated to correspond to the Legacy Telemetry
      scalar dom.parentprocess.private_window_used.
    bugs:
      - https://bugzil.la/1491047
    data_reviews:
      - https://bugzil.la/1491047
    notification_emails:
      - seceng-telemetry@mozilla.com
      - ehsan+telemetry@mozilla.com
    expires: never
    telemetry_mirror: DOM_PARENTPROCESS_PRIVATE_WINDOW_USED

  process_launch_errors:
    type: labeled_counter
    description: >
      Collect precise set of error code and calling site upon process
      creation failure path.
      This metric was generated to correspond to the Legacy Telemetry
      scalar dom.parentprocess.process_launch_errors.
    bugs:
      - https://bugzil.la/1819311
    data_reviews:
      - https://bugzil.la/1819311
    notification_emails:
      - alissy@mozilla.com
    expires: never
    telemetry_mirror: DOM_PARENTPROCESS_PROCESS_LAUNCH_ERRORS

glam_experiment:
  protect_time:
    type: timing_distribution
    disabled: true
    time_unit: millisecond
    description: >
      Duplicate of:
      `javascript_pageload.protect_time`

      Intended for the purpose of testing client side sampling of data. This
      metric is disabled by default and will be enabled only for the purpose
      of the experiment. See Bug 1947604 for more information.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1947604
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1709139#c4
    data_sensitivity:
      - technical
    notification_emails:
      - tlong@mozilla.com
      - efilho@mozilla.com
    expires: 146
  largest_contentful_paint:
    type: timing_distribution
    disabled: true
    time_unit: millisecond
    description: >
      Duplicate of:
      `perf.largest_contentful_paint`

      Intended for the purpose of testing client side sampling of data. This
      metric is disabled by default and will be enabled only for the purpose
      of the experiment. See Bug 1947604 for more information.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1947604
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1862939#c5
    notification_emails:
      - tlong@mozilla.com
      - efilho@mozilla.com
    expires: 146
