# 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 :: Networking'

networking:
  cookie_timestamp_fixed_count:
    type: labeled_counter
    description: >
      Counts the number of times a cookie's invalid timestamp was fixed when
      reading it from the DB.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1828126
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1828126#c5
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - vgosu@mozilla.com
    labels:
      - creationTime
      - lastAccessed
    expires: never

  cookie_creation_fixup_diff:
    type: custom_distribution
    unit: second
    description: >
      If we fix up a cookie creation timestamp that is in the future this
      metric records the number of seconds that timestamp was off from NOW.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1828126
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1828126#c5
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - vgosu@mozilla.com
    expires: never
    range_min: 0
    range_max: 315360000000
    bucket_count: 100
    histogram_type: exponential

  cookie_access_fixup_diff:
    type: custom_distribution
    unit: second
    description: >
      If we fix up a cookie lastAccessed timestamp that is in the future this
      metric records the number of seconds that timestamp was off from NOW.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1828126
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1828126#c5
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - vgosu@mozilla.com
    expires: never
    range_min: 0
    range_max: 315360000000
    bucket_count: 100
    histogram_type: exponential

  cookie_count_total:
    type: custom_distribution
    description: >
      Reports the total number of cookies in storage
    range_min: 0
    range_max: 4000
    bucket_count: 22
    histogram_type: exponential
    unit: integer
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1828942
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1892158
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1922606
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1989180
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1828942#TDB
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1892158
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1922606
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1989180
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - edgul@mozilla.com
    expires: 157

  cookie_count_partitioned:
    type: custom_distribution
    description: >
      Reports the number of partitioned cookies in storage
    range_min: 0
    range_max: 4000
    bucket_count: 22
    histogram_type: exponential
    unit: integer
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1828942
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1892158
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1922606
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1989180
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1828942#TDB
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1892158
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1922606
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1989180
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - edgul@mozilla.com
    expires: 157

  cookie_count_unpartitioned:
    type: custom_distribution
    description: >
      Reports the number of unpartitioned cookies in storage
    range_min: 0
    range_max: 4000
    bucket_count: 22
    histogram_type: exponential
    unit: integer
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1828942
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1892158
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1922606
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1989180
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1828942#TDB
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1892158
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1922606
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1989180
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - edgul@mozilla.com
    expires: 157

  cookie_count_part_by_key:
    type: custom_distribution
    description: >
      A distribution of the partitioned cookies in storage belonging to
      a particular cookie key (host + origin attributes)
    range_min: 1
    range_max: 220
    bucket_count: 10
    histogram_type: exponential
    unit: integer
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1828942
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1892158
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1922606
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1989180
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1828942#TDB
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1892158
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1922606
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1989180
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - edgul@mozilla.com
    expires: 157

  cookie_count_unpart_by_key:
    type: custom_distribution
    description: >
      A distribution of the unpartitioned cookies in storage belonging to
      a particular cookie key (host + origin attributes)
    range_min: 1
    range_max: 220
    bucket_count: 10
    histogram_type: exponential
    unit: integer
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1828942
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1892158
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1922606
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1989180
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1828942#TDB
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1892158
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1922606
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1989180
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - edgul@mozilla.com
    expires: 157

  cookie_purge_max:
    type: custom_distribution
    description: >
      A distribution of the number of cookies purged across
      all host + OAs as a result of exceeding the cookie maximum threshold
      (single purge)
    range_min: 1
    range_max: 4000
    bucket_count: 22
    histogram_type: exponential
    unit: integer
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1828942
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1892158
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1922606
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1989180
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1828942#TDB
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1892158
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1922606
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1989180
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - edgul@mozilla.com
    expires: 157

  cookie_purge_entry_max:
    type: custom_distribution
    description: >
      A distribution of the number of cookies purged for a single
      host + OA entry as a result of exceeding the maximum threshold
      for the given host + OA (single purge)
    range_min: 1
    range_max: 220
    bucket_count: 10
    histogram_type: exponential
    unit: integer
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1828942
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1892158
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1922606
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1989180
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1828942#TDB
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1892158
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1922606
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1989180
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - edgul@mozilla.com
    expires: 157

  cookie_chips_partition_limit_overflow:
    type: custom_distribution
    description: >
      The number of cookie bytes exceeding chips partition limit capacity for a single partition
    range_min: 0
    range_max: 16000000
    bucket_count: 22
    histogram_type: exponential
    unit: integer
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1878391
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1922606
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1989180
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1878391
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1922606
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1989180
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - edgul@mozilla.com
    expires: 157

  cookie_db_validation:
    type: labeled_counter
    description: >
      Counts cookies loaded from the DB grouped by validation result.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1972513
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1972513
    notification_emails:
      - necko@mozilla.com
      - edgul@mozilla.com
      - baku@mozilla.com
    expires: 157
    labels:
      - eOK
      - eRejectedEmptyNameAndValue
      - eRejectedNameValueOversize
      - eRejectedInvalidCharName
      - eRejectedInvalidCharValue
      - eRejectedInvalidPath
      - eRejectedInvalidDomain
      - eRejectedInvalidPrefix
      - eRejectedNoneRequiresSecure
      - eRejectedPartitionedRequiresSecure
      - eRejectedHttpOnlyButFromScript
      - eRejectedSecureButNonHttps
      - eRejectedForNonSameSiteness
      - eRejectedAttributePathOversize
      - eRejectedAttributeDomainOversize
      - eRejectedAttributeExpiryOversize

  sqlite_cookies_block_main_thread:
    type: timing_distribution
    time_unit: millisecond
    description: >
      Time spent blocking the main thread on startup cookie database read and connection initialization (in milliseconds), only for blocking cases.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=870460
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2033900
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=870460
    notification_emails:
      - necko@mozilla.com
    expires: never

  sqlite_cookies_time_to_block_main_thread:
    type: timing_distribution
    time_unit: millisecond
    description: >
      How long (in milliseconds) after the cookie database connection was initialized until the first cookie request came in (0 implies we blocked the main thread).
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1413839
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2033900
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1413839
    notification_emails:
      - necko@mozilla.com
    expires: never

  dns_lookup_time:
    type: timing_distribution
    time_unit: millisecond
    description: >
      Time for a successful DNS resolution (msec) |
      Migrated from Firefox Telemetry's `DNS_LOOKUP_TIME`.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1838240
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1838240#c6
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - acreskey@mozilla.com
    expires: never

  trr_dns_start: &trr_dns_start
    type: labeled_timing_distribution
    time_unit: millisecond
    description: >
      In TRR channel, time from connection open to the DNS request
      being issued.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1922238
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1922238
    notification_emails:
      - necko@mozilla.com
      - kershaw@mozilla.com
    labels:
      - mozilla.cloudflare-dns.com
      - firefox.dns.nextdns.io
      - private.canadianshield.cira.ca
      - doh.xfinity.com
      - dns.shaw.ca
      - dooh.cloudflare-dns.com
      - mozilla.cloudflare-dns.com_2
      - firefox.dns.nextdns.io_2
      - private.canadianshield.cira.ca_2
      - doh.xfinity.com_2
      - dns.shaw.ca_2
      - dooh.cloudflare-dns.com_2
      - mozilla.cloudflare-dns.com_3
      - firefox.dns.nextdns.io_3
      - private.canadianshield.cira.ca_3
      - doh.xfinity.com_3
      - dns.shaw.ca_3
      - dooh.cloudflare-dns.com_3
    expires: never

  trr_dns_end:
    <<: *trr_dns_start
    description: >
      In TRR channel, time from the DNS request being issued to
      the response.
    expires: never

  trr_tcp_connection:
    <<: *trr_dns_start
    description: >
      In TRR channel, time from the TCP SYN packet is received to
      the connection is established and ready for HTTP.
    expires: never

  trr_tls_handshake:
    <<: *trr_dns_start
    description: >
      In TRR channel, time from after the TCP SYN packet is
      received to the secure connection is established and ready for HTTP.
    expires: never

  trr_open_to_first_sent:
    <<: *trr_dns_start
    description: >
      In TRR channel, time from open to first byte of request.
    expires: never

  trr_first_sent_to_last_received:
    <<: *trr_dns_start
    description: >
      In TRR channel, time from first byte of request sent to
      last byte of response received.
    expires: never

  trr_open_to_first_received:
    <<: *trr_dns_start
    description: >
      In TRR channel, time from open to first byte of reply received.
    expires: never

  trr_complete_load:
    <<: *trr_dns_start
    description: >
      In TRR channel, overall load time.
    expires: never

  trr_response_size: &trr_response_size
    type: labeled_memory_distribution
    memory_unit: byte
    description: >
      In TRR channel, the size of the HTTP response.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1957859
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1957859
    notification_emails:
      - necko@mozilla.com
      - kershaw@mozilla.com
    labels:
      - mozilla.cloudflare-dns.com
      - firefox.dns.nextdns.io
      - private.canadianshield.cira.ca
      - doh.xfinity.com
      - dns.shaw.ca
      - dooh.cloudflare-dns.com
      - mozilla.cloudflare-dns.com_2
      - firefox.dns.nextdns.io_2
      - private.canadianshield.cira.ca_2
      - doh.xfinity.com_2
      - dns.shaw.ca_2
      - dooh.cloudflare-dns.com_2
      - mozilla.cloudflare-dns.com_3
      - firefox.dns.nextdns.io_3
      - private.canadianshield.cira.ca_3
      - doh.xfinity.com_3
      - dns.shaw.ca_3
      - dooh.cloudflare-dns.com_3
    expires: never

  trr_request_size:
    <<: *trr_response_size
    description: >
      In TRR channel, the size of the HTTP request.
    expires: never

  dns_renewal_time:
    type: timing_distribution
    time_unit: millisecond
    description: >
      Time for a renewed DNS OS resolution (msec) |
      Migrated from Firefox Telemetry's `DNS_RENEWAL_TIME`.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1838240
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1838240#c6
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - acreskey@mozilla.com
    expires: never

  dns_renewal_time_for_ttl:
    type: timing_distribution
    time_unit: millisecond
    description: >
      Time for a DNS OS resolution (msec) used to get TTL |
      Migrated from Firefox Telemetry's `DNS_RENEWAL_TIME_FOR_TTL`.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1838240
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1838240#c6
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - acreskey@mozilla.com
    expires: never

  dns_failed_lookup_time:
    type: timing_distribution
    time_unit: millisecond
    description: >
      Time for an unsuccessful DNS OS resolution (msec) |
      Migrated from Firefox Telemetry's `DNS_FAILED_LOOKUP_TIME`.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1838240
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1838240#c6
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - acreskey@mozilla.com
    expires: never

  dns_native_https_call_time:
    type: timing_distribution
    time_unit: millisecond
    description: >
      Time spent in the call to the native OS DNS resolution.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1885529
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1885529
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - vgosu@mozilla.com
    expires: never

  dns_native_count:
    type: labeled_counter
    description: >
      The count of calls to the native DNS APIs
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1879165
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1958160
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1879165
    data_sensitivity:
      - technical
    notification_emails:
      - vgosu@mozilla.com
      - necko@mozilla.com
    expires: never
    labels:
      - regular
      - private
      - https_regular
      - https_private

  http_onstart_suspend_total_time:
    type: timing_distribution
    time_unit: millisecond
    description: >
      Time in milliseconds that http channel spent suspended between AsyncOpen and OnStartRequest.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1897209
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1347948
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1897209
    notification_emails:
      - necko@mozilla.com
    expires: never

  http_1_download_throughput:
    type: custom_distribution
    unit: mbps
    range_min: 0
    range_max: 10000
    bucket_count: 100
    histogram_type: exponential
    description: >
     The download throughput for  http/1.0, http/1.1 requests larger than 10MB. Measured in megabits per second, Mbps.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1846798
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1846798#c2
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - acreskey@mozilla.com
    expires: never

  http_1_download_throughput_10_50: &http_1_download_throughput_10_50
    type: custom_distribution
    unit: mbps
    range_min: 0
    range_max: 10000
    bucket_count: 100
    histogram_type: exponential
    description: >
     The download throughput for http/1.0 and http/1.1 requests between 10MB and 50MB. Measured in megabits per second, Mbps.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1909931
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1909931
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
    expires: never

  http_1_download_throughput_50_100:
    <<: *http_1_download_throughput_10_50
    description: >
     The download throughput for http/1.0 and http/1.1 requests between 50MB and 100MB. Measured in megabits per second, Mbps.

  http_1_download_throughput_100:
    <<: *http_1_download_throughput_10_50
    description: >
     The download throughput for http/1.0 and http/1.1 requests size larger than 100MB. Measured in megabits per second, Mbps.

  http_2_download_throughput:
    type: custom_distribution
    unit: mbps
    range_min: 0
    range_max: 10000
    bucket_count: 100
    histogram_type: exponential
    description: >
     The download throughput for http/2 requests larger than 10MB. Measured in megabits per second, Mbps.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1846798
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1846798#c2
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - acreskey@mozilla.com
    expires: never

  http_2_download_throughput_10_50: &http_2_download_throughput_10_50
    type: custom_distribution
    unit: mbps
    range_min: 0
    range_max: 10000
    bucket_count: 100
    histogram_type: exponential
    description: >
     The download throughput for http/2 requests between 10MB and 50MB. Measured in megabits per second, Mbps.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1909931
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1909931
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
    expires: never

  http_2_download_throughput_50_100:
    <<: *http_2_download_throughput_10_50
    description: >
     The download throughput for http/2 requests between 50MB and 100MB. Measured in megabits per second, Mbps.

  http_2_download_throughput_100:
    <<: *http_2_download_throughput_10_50
    description: >
     The download throughput for http/2 requests size larger than 100MB. Measured in megabits per second, Mbps.

  http_3_download_throughput:
    type: custom_distribution
    unit: mbps
    range_min: 0
    range_max: 10000
    bucket_count: 100
    histogram_type: exponential
    description: >
     The download throughput for http/3 requests larger than 10MB. Measured in megabits per second, Mbps.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1846798
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1846798#c2
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - acreskey@mozilla.com
    expires: never

  http_3_download_throughput_10_50: &http_3_download_throughput_10_50
    type: custom_distribution
    unit: mbps
    range_min: 0
    range_max: 10000
    bucket_count: 100
    histogram_type: exponential
    description: >
     The download throughput for http/3 requests between 10MB and 50MB. Measured in megabits per second, Mbps.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1909663
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1909663
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
    expires: never

  http_3_download_throughput_50_100:
    <<: *http_3_download_throughput_10_50
    description: >
     The download throughput for http/3 requests between 50MB and 100MB. Measured in megabits per second, Mbps.

  http_3_download_throughput_100:
    <<: *http_3_download_throughput_10_50
    description: >
     The download throughput for http/3 requests size larger than 100MB. Measured in megabits per second, Mbps.

  http_1_upload_throughput:
    type: custom_distribution
    unit: mbps
    range_min: 0
    range_max: 5000
    bucket_count: 100
    histogram_type: exponential
    description: >
     The upload throughput for http/1.0, http/1.1 requests larger than 10MB. Measured in megabits per second, Mbps.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1858256
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1858256#c2
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - acreskey@mozilla.com
    expires: never

  http_2_upload_throughput:
    type: custom_distribution
    unit: mbps
    range_min: 0
    range_max: 5000
    bucket_count: 100
    histogram_type: exponential
    description: >
     The upload throughput for http/2 requests larger than 10MB. Measured in megabits per second, Mbps.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1858256
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1858256#c2
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - acreskey@mozilla.com
    expires: never

  http_3_upload_throughput:
    type: custom_distribution
    unit: mbps
    range_min: 0
    range_max: 5000
    bucket_count: 100
    histogram_type: exponential
    description: >
     The upload throughput for http/3 requests larger than 10MB. Measured in megabits per second, Mbps.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1858256
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1858256#c2
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - acreskey@mozilla.com
    expires: never

  http_1_upload_throughput_10_50:
    type: custom_distribution
    unit: mbps
    range_min: 0
    range_max: 5000
    bucket_count: 100
    histogram_type: exponential
    description: >
     The upload throughput for http/1.0, http/1.1 request size between 10MB and 50MB. Measured in megabits per second, Mbps.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1866739
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1858256#c2
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - kershaw@mozilla.com
    expires: never

  http_1_upload_throughput_50_100:
    type: custom_distribution
    unit: mbps
    range_min: 0
    range_max: 5000
    bucket_count: 100
    histogram_type: exponential
    description: >
     The upload throughput for http/1.0, http/1.1 request size between 50MB and 100MB. Measured in megabits per second, Mbps.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1866739
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1858256#c2
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - kershaw@mozilla.com
    expires: never

  http_1_upload_throughput_100:
    type: custom_distribution
    unit: mbps
    range_min: 0
    range_max: 5000
    bucket_count: 100
    histogram_type: exponential
    description: >
     The upload throughput for http/1.0, http/1.1 request size larger than 100MB. Measured in megabits per second, Mbps.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1866739
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1858256#c2
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - kershaw@mozilla.com
    expires: never

  http_2_upload_throughput_10_50:
    type: custom_distribution
    unit: mbps
    range_min: 0
    range_max: 5000
    bucket_count: 100
    histogram_type: exponential
    description: >
     The upload throughput for http/2 request size between 10MB and 50MB. Measured in megabits per second, Mbps.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1866739
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1858256#c2
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - kershaw@mozilla.com
    expires: never

  http_2_upload_throughput_50_100:
    type: custom_distribution
    unit: mbps
    range_min: 0
    range_max: 5000
    bucket_count: 100
    histogram_type: exponential
    description: >
     The upload throughput for http/2 request size between 50MB and 100MB. Measured in megabits per second, Mbps.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1866739
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1858256#c2
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - kershaw@mozilla.com
    expires: never

  http_2_upload_throughput_100:
    type: custom_distribution
    unit: mbps
    range_min: 0
    range_max: 5000
    bucket_count: 100
    histogram_type: exponential
    description: >
     The upload throughput for http/2 request size larger than 100MB. Measured in megabits per second, Mbps.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1866739
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1858256#c2
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - kershaw@mozilla.com
    expires: never

  http_3_upload_throughput_1_10:
    type: custom_distribution
    unit: mbps
    range_min: 0
    range_max: 3000
    bucket_count: 100
    histogram_type: exponential
    description: >
     The upload throughput for http/3 request size between 1MB and 10MB. Measured in megabits per second, Mbps.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2003794
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2003794
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157

  http_3_upload_throughput_10_50:
    type: custom_distribution
    unit: mbps
    range_min: 0
    range_max: 5000
    bucket_count: 100
    histogram_type: exponential
    description: >
     The upload throughput for http/3 request size between 10MB and 50MB. Measured in megabits per second, Mbps.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1866739
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1858256#c2
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - kershaw@mozilla.com
    expires: never

  http_3_upload_throughput_50_100:
    type: custom_distribution
    unit: mbps
    range_min: 0
    range_max: 5000
    bucket_count: 100
    histogram_type: exponential
    description: >
     The upload throughput for http/3 request size between 50MB and 100MB. Measured in megabits per second, Mbps.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1866739
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1858256#c2
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - kershaw@mozilla.com
    expires: never

  http_3_upload_throughput_100:
    type: custom_distribution
    unit: mbps
    range_min: 0
    range_max: 5000
    bucket_count: 100
    histogram_type: exponential
    description: >
     The upload throughput for http/3 request size larger than 100MB. Measured in megabits per second, Mbps.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1866739
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1858256#c2
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - kershaw@mozilla.com
    expires: never

  http_3_ecn_ce_ect0_ratio_sent: &http_3_ecn_ce_ect0_ratio_sent
    type: custom_distribution
    unit: integer
    range_min: 0
    range_max: 2000
    bucket_count: 100
    histogram_type: exponential
    description: >
      HTTP3: ECN CE to ECT0 ratio (multiply by 10000) sent.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1902065
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1902065
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - minden@mozilla.com
    expires: never

  http_3_ecn_ce_ect0_ratio_received:
    <<: *http_3_ecn_ce_ect0_ratio_sent
    description: >
      HTTP3: ECN CE to ECT0 ratio (multiply by 10000) received. As of
      https://bugzilla.mozilla.org/show_bug.cgi?id=2056075, only recorded for
      connections that observed ECT(0) without ever observing ECT(1), since a
      CE mark on a connection that saw both cannot be attributed to either
      type.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1902065
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2056075
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1902065
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2056075

  http_3_ecn_ect_received:
    type: labeled_counter
    description: >
      HTTP3: Which ECN codepoints were observed on received (server->browser)
      packets, recorded once per connection that completed its handshake. Used
      to measure how many servers mark ECN on the traffic they send us and,
      among those, the adoption of ECT(1) (L4S) versus ECT(0) (classic ECN).
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2056075
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2056075
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: never
    labels:
      - none            # no ECT(0)/ECT(1)/CE received (server not marking)
      - ect0            # ECT(0) present, ECT(1) absent
      - ect1            # ECT(1) present, ECT(0) absent
      - ect0-and-ce     # ECT(0) present, CE present
      - ect1-and-ce     # ECT(1) present, CE present
      - ect0-and-ect1   # both ECT(0) and ECT(1) observed
      - ce-only         # CE present but no ECT(0)/ECT(1) (origin ambiguous)

  http_3_ecn_path_capability:
    type: labeled_counter
    description: >
      Number of paths known to be ECN capable or not-capable.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1902065
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1902065
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - minden@mozilla.com
    expires: never
    labels:
      - capable
      - black-hole
      - bleaching
      - received-unsent-ect-1

  http_3_quic_version:
    type: labeled_counter
    description: >
      The QUIC version negotiated for an HTTP/3 connection, recorded once per
      connection that completes its handshake. Used to track the effect of
      enabling compatible version negotiation (RFC 9368/9369), i.e. how often
      connections end up on QUIC v2 versus v1.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2040450
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2040450
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - minden@mozilla.com
    expires: never
    labels:
      - v1
      - v2

  http_3_loss_ratio:
    type: custom_distribution
    unit: integer
    range_min: 0
    range_max: 2000
    bucket_count: 100
    histogram_type: exponential
    description: >
      HTTP3: packet loss ratio (multiply by 10000).
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1917778
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1917778
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - minden@mozilla.com
    expires: never

  http_3_loss_ratio_filtered:
    type: custom_distribution
    unit: integer
    range_min: 0
    range_max: 2000
    bucket_count: 100
    histogram_type: exponential
    description: >
      HTTP3: packet loss ratio (multiply by 10000). Is filtered to only record connections that saw congestion window growth. Co-exists with http_3_loss_ratio to measure the impact congestion control changes have on packet loss.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: never

  http_3_spurious_congestion_event_ratio:
    type: custom_distribution
    unit: integer
    range_min: 0
    range_max: 10000
    bucket_count: 100
    histogram_type: linear
    description: >
      HTTP3: spurious congestion event to loss induced congestion event ratio (10000 scaling factor).
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1992148
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1992148
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157

  http_3_slow_start_exited:
    type: labeled_counter
    description: >
      Counts whether an HTTP3 connections exited slow start.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2004717
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2004717
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157
    labels:
      - exited
      - not_exited

  http_3_slow_start_exited_filtered:
    type: labeled_counter
    description: >
      Counts whether an HTTP3 connections exited slow start. Is filtered against connections that never grew past the initial congestion window, i.e. only records those that did see growth. Co-exists with http_3_slow_start_exited which is not filtered and also records for connections that never grew the congestion window or never sent data.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157
    labels:
      - exited
      - not_exited

  http_3_slow_start_exit_cwnd:
    type: memory_distribution
    memory_unit: byte
    description: >
      HTTP3: congestion window size in bytes when exiting slow start.
      Only recorded for connections that exited slow start. Also only records connections that grew past the initial congestion window size (new as of Bug 2024352).
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2020969
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2020969
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - minden@mozilla.com
      - omansfeld@mozilla.com
    expires: never

  http_3_slow_start_exit_reason:
    type: labeled_counter
    description: >
      Records if slow start was exited heuristically or because of a congestion event. Can be used to measure how good an algorithm is at detecting slow start exit before loss occurs. Only records for connections that ever saw congestion window growth.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157
    labels:
      - ce
      - heuristic

  http_3_slow_start_exit_accuracy:
    type: labeled_custom_distribution
    range_min: 0
    range_max: 150
    bucket_count: 100
    histogram_type: linear
    description: >
      HTTP3: Absolute congestion window size difference between exiting slow start and closing the connection, as a percentage of the window size when closing the connection.
      Only recorded for connections that exited slow start and saw congestion window growth. Is used to approximate accuracy of slow start exit per connection. The labels separate slow start exit reasons, because congestion event and heuristic based exits are fundamentally different cases that would obscure each other if mixed.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2021867
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2021867
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157
    labels:
      - ce_exit
      - heuristic_exit

  http_3_slow_start_exit_accuracy_w_max:
    type: labeled_custom_distribution
    range_min: 0
    range_max: 150
    bucket_count: 100
    histogram_type: linear
    description: >
      HTTP3: Absolute congestion window size difference between exiting slow start and Cubic's w_max parameter value when closing the connection, as a percentage of the w_max parameter value.
      Only recorded for connections that exited slow start and saw congestion window growth. Is used to approximate accuracy of slow start exit per connection. The labels separate slow start exit reasons, because congestion event and heuristic based exits are fundamentally different cases that would obscure each other if mixed. Acts as an alternative measure to http_3_slow_start_exit_accuracy, which uses the final congestion window instead of w_max.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157
    labels:
      - ce_exit
      - heuristic_exit

  http_3_slow_start_exit_direction_loss:
    type: labeled_counter
    description: >
      HTTP3: Records if a congestion-event-based slow start exit undershot, overshot or exactly matches the congestion window size when closing the connection. This mostly exists to confirm the expected assumption that loss- or ecn-based exit almost always overshoots. Only records for connections that saw congestion window growth (new as of Bug 2024352).
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2021867
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2021867
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157
    labels:
      - overshoot
      - undershoot
      - exact

  http_3_slow_start_exit_direction_heuristic:
    type: labeled_counter
    description: >
      HTTP3: Records if a heuristic-based slow start exit undershot, overshot or exactly matches the congestion window size when closing the connection. Is used to look for systematic tendencies in slow start exit algorithm accuracy direction. Only records for connections that saw congestion window growth.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157
    labels:
      - overshoot
      - undershoot
      - exact

  http_3_hystart_css_rounds_finished:
    type: labeled_custom_distribution
    range_min: 0
    range_max: 100
    bucket_count: 30
    histogram_type: exponential
    description: >
      Measures how many CSS (Conservative Slow Start) rounds were finished when using HyStart++. Only records for connections that saw congestion window growth. A count that is higher than the RFC threshold value of 5 rounds that are completed by design points at spurious CSS entries and time spent throttling congestion window growth rate during those extra CSS rounds. Values below 5 mean that slow start was not exited (heuristically) on that connection.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157
    labels:
      - exited_hystart
      - exited_ce
      - not_exited

  http_3_hystart_css_entries:
    type: labeled_custom_distribution
    range_min: 0
    range_max: 1000
    bucket_count: 100
    histogram_type: exponential
    description: >
      Measures how often CSS (Conservative Slow Start) was entered when using HyStart++. Only records for connections that saw congestion window growth. A jitter-free connection should only see 1 CSS entry. A high value points at spurious CSS entries mid-round, i.e. CSS is entered and exited within 1 RTT, which results time spent throttling congestion window growth rate during those extra ACKs where CSS was active.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157
    labels:
      - exited_hystart
      - exited_ce
      - not_exited

  http_3_search_empty_buffer_bdp_estimate:
    type: memory_distribution
    memory_unit: byte
    description: >
      HTTP3: Records the BDP estimate with empty buffers at slow start exit when using SEARCH. The SEARCH draft suggests a cwnd drain-phase using this as a target value; We record it for evaluation without implementing the drain-phase.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2039381
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2039381
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157

  http_3_search_full_buffer_bdp_estimate:
    type: memory_distribution
    memory_unit: byte
    description: >
      HTTP3: Records the BDP estimate with full buffers at slow start exit when using SEARCH. The SEARCH draft suggests a cwnd drain-phase using the empty-buffer version of this as a target value; We record this alternative for evaluation without implementing the drain-phase.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2039381
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2039381
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157

  http_3_search_lookback_bins:
    type: custom_distribution
    range_min: 0
    range_max: 50
    bucket_count: 50
    histogram_type: linear
    description: >
      HTTP3: Tracks the per connection maximum of lookback bins needed when RTT inflation prevents SEARCH from evaluating. Helps determine if the EXTRA_BINS constant value is sufficient.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2039381
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2039381
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157

  http_3_search_rtt_inflated:
    type: labeled_counter
    description: >
      HTTP3: Tracks whether a connection couldn't run the SEARCH evaluation because the RTT inflated past the point where there wasn't enough data for lookback.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2039381
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2039381
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157
    labels:
      - inflated
      - never_inflated

  http_3_search_max_norm_diff:
    type: labeled_custom_distribution
    range_min: 0
    range_max: 25
    bucket_count: 25
    histogram_type: linear
    description: >
      HTTP3: Records the maximum non-exiting value that the scaled, normalized difference between sent and acked bytes ever reached for a connection. Can be used to tune the exit threshold (THRESH). Is capped out at 25, since the current THRESH is 26, so any diff > 25 will exit.

      The bucket with the 'exited_ce' label is of special interest, since those are connections that then ended up exiting slow start with loss.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2039381
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2039381
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157
    labels:
      - exited_search
      - exited_ce
      - not_exited

  http_3_search_reset_count:
    type: labeled_custom_distribution
    range_min: 0
    range_max: 100
    bucket_count: 30
    histogram_type: exponential
    description: >
      HTTP3: Records how many resets due to stale data happened for each SEARCH connection. Is labeled by slow start outcome to help with evaluation (i.e. no resets + not_exited makes sense, since the connection might've been very short).
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2039381
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2039381
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157
    labels:
      - exited_search
      - exited_ce
      - not_exited

  http_3_search_max_passed_bins:
    type: custom_distribution
    range_min: 11
    range_max: 50
    bucket_count: 30
    histogram_type: exponential
    description: >
      HTTP3: Tracks the maximum number of passed bins for SEARCH connections that had at least one reset due to stale data. Can help evaluate the aggressiveness of the reset mechanism. Starts at 11, because that is the first value that would trigger a reset.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2039381
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2039381
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157

  http_3_search_zero_bytes_sent:
    type: labeled_custom_distribution
    range_min: 0
    range_max: 100
    bucket_count: 30
    histogram_type: exponential
    description: >
      HTTP3: Records how often SEARCH observes zero bytes sent in the previous RTT. Provides insight into app-limited behavior. Is labeled by slow start outcome to help reason about results.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2039381
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2039381
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157
    labels:
      - exited_search
      - exited_ce
      - not_exited

  http_3_search_first_rtt_vs_min_rtt:
    type: custom_distribution
    range_min: 100
    range_max: 200
    bucket_count: 50
    histogram_type: exponential
    description: >
      HTTP3: Records the ratio of SEARCH's first RTT sample to the connection's
      min_rtt, expressed as an integer percentage (100 = identical, 200 = 2x
      inflated). Quantifies how much the initial RTT used to set bin_duration is
      inflated relative to the minimum path RTT.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2039381
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2039381
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157

  http_3_search_first_rtt_vs_second_rtt:
    type: custom_distribution
    range_min: 100
    range_max: 200
    bucket_count: 50
    histogram_type: exponential
    description: >
      HTTP3: Records the ratio of SEARCH's first RTT sample to the second RTT
      sample, expressed as an integer percentage (100 = identical, 200 = first
      was 2x the second). Helps evaluate whether using the second RTT sample
      instead of the first would improve SEARCH initialization.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2039381
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2039381
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157

  http_3_congestion_window_growth:
    type: labeled_counter
    description: >
      Records if a connection ended with a congestion window higher than the initial window size and if it saw slow start exit (in this case because of a congestion event) before ever growing the congestion window.

      Label explanation:
        - had_growth: Connection saw congestion window growth
        - no_growth: Connection never surpassed the initial window size
        - no_growth_but_exit: Connection never surpassed the initial window size but slow start was exited
        - no_growth_then_exit_then_growth: Connection exited slow start before then later growing the congestion window past the initial window size

      This metric can be used to judge how HTTP3 connections behave in regard to their congestion window and keep an eye on the phenomeon that prompted the filtering on most other congestion control metrics, where we only record connections that had congestion window growth past the initial window.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: never
    labels:
      - had_growth
      - no_growth
      - no_growth_but_exit
      - no_growth_then_exit_then_growth

  http_3_final_cwnd:
    type: memory_distribution
    memory_unit: byte
    description: >
      HTTP3: Final congestion window size in bytes at connection close. Only records connections that grew past the initial congestion window (new as of Bug 2024352).
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2020969
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2020969
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - minden@mozilla.com
      - omansfeld@mozilla.com
    expires: never

  http_3_final_w_max:
    type: memory_distribution
    memory_unit: byte
    description: >
      HTTP3: Cubic's w_max parameter value in bytes at connection close. Only records connections that grew past the initial congestion window and set w_max. The parameter stores the congestion window prior to the last congestion event, i.e. the window size at which congestion occurred. Can be used to approximate a path's capacity.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024352
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157

  http_3_rtt:
    type: custom_distribution
    range_min: 1
    range_max: 10000
    bucket_count: 100
    histogram_type: exponential
    unit: ms
    description: >
      HTTP3: The smoothed round-trip time estimate in milliseconds on the connection's primary path, sampled at connection close.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2050587
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2050587
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - minden@mozilla.com
    expires: never

  http_3_rtt_var:
    type: custom_distribution
    range_min: 1
    range_max: 10000
    bucket_count: 100
    histogram_type: exponential
    unit: ms
    description: >
      HTTP3: The round-trip time variation in milliseconds on the connection's primary path, sampled at connection close.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2050587
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2050587
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - minden@mozilla.com
    expires: never

  http_3_min_rtt:
    type: custom_distribution
    range_min: 1
    range_max: 10000
    bucket_count: 100
    histogram_type: exponential
    unit: ms
    description: >
      HTTP3: The minimum round-trip time in milliseconds observed on the connection's primary path, sampled at connection close.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2050587
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2050587
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - minden@mozilla.com
    expires: never

  http_3_congestion_event_count:
    type: custom_distribution
    range_min: 0
    range_max: 180
    bucket_count: 30
    histogram_type: exponential
    description: >
      HTTP3: Records how many congestion events a connection has, with spurious congestion events filtered out. A max range of 180 still gives high granularity in the lower buckets while letting us confirm if we ever actually see connections having very high congestion event counts.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2021867
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2021867
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157

  http_3_congestion_event_reason:
    type: labeled_counter
    description: >
      The type of signal that caused a congestion event in Firefox's QUIC stack.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2004031
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2004031
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - omansfeld@mozilla.com
    expires: 157
    labels:
      - loss
      - ecn-ce

  http_3_connection_close_reason:
    type: labeled_counter
    description: >
      Number of HTTP3 connections closed, labeled by reason.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1926258
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1926258
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - minden@mozilla.com
    expires: never
    labels:
      # neqo_transport::CloseReason::Application
      - Application
      # neqo_transport::CloseReason::Transport
      - NoError
      - InternalError
      - ConnectionRefused
      - FlowControlError
      - StreamLimitError
      - StreamStateError
      - FinalSizeError
      - FrameEncodingError
      - TransportParameterError
      - ProtocolViolation
      - InvalidToken
      - ApplicationError
      - CryptoBufferExceeded
      - CryptoError
      - QlogError
      - CryptoAlert
      - EchRetry
      - AckedUnsentPacket
      - ConnectionIdLimitExceeded
      - ConnectionIdsExhausted
      - ConnectionState
      - DecodingFrame
      - DecryptError
      - DisabledVersion
      - IdleTimeout
      - IntegerOverflow
      - InvalidInput
      - InvalidMigration
      - InvalidPacket
      - InvalidResumptionToken
      - InvalidRetry
      - InvalidStreamId
      - KeysDiscarded
      - KeysExhausted
      - KeysPending
      - KeyUpdateBlocked
      - NoAvailablePath
      - NoMoreData
      - NotAvailable
      - NotConnected
      - PacketNumberOverlap
      - PeerApplicationError
      - PeerError
      - StatelessReset
      - TooMuchData
      - UnexpectedMessage
      - UnknownConnectionId
      - UnknownFrameType
      - VersionNegotiation
      - WrongRole

  http_3_quic_frame_count:
    type: labeled_counter
    description: >
      Number of QUIC frames send and received by type.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1929818
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1929818
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - minden@mozilla.com
    expires: never
    labels:
      - ack_tx
      - ack_rx
      - crypto_tx
      - crypto_rx
      - stream_tx
      - stream_rx
      - reset_stream_tx
      - reset_stream_rx
      - stop_sending_tx
      - stop_sending_rx
      - ping_tx
      - ping_rx
      - padding_tx
      - padding_rx
      - max_streams_tx
      - max_streams_rx
      - streams_blocked_tx
      - streams_blocked_rx
      - max_data_tx
      - max_data_rx
      - data_blocked_tx
      - data_blocked_rx
      - max_stream_data_tx
      - max_stream_data_rx
      - stream_data_blocked_tx
      - stream_data_blocked_rx
      - new_connection_id_tx
      - new_connection_id_rx
      - retire_connection_id_tx
      - retire_connection_id_rx
      - path_challenge_tx
      - path_challenge_rx
      - path_response_tx
      - path_response_rx
      - connection_close_tx
      - connection_close_rx
      - handshake_done_tx
      - handshake_done_rx
      - new_token_tx
      - new_token_rx
      - ack_frequency_tx
      - ack_frequency_rx
      - datagram_tx
      - datagram_rx


  cache_metadata_first_read_time: &cache_metadata_first_read_time
    type: timing_distribution
    time_unit: millisecond
    description: >
      Time spent to read the first part of the metadata from the cache entry file.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1908994
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1908994
    notification_emails:
      - necko@mozilla.com
    expires: never

  cache_metadata_second_read_time:
    <<: *cache_metadata_first_read_time
    description: >
      Time spent to read the missing part of the metadata from the cache entry file.

  cache_metadata_size:
    type: memory_distribution
    memory_unit: byte
    description:
      Size of the metadata in bytes parsed from the disk.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1133739
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1495336
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1908994
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1908994
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
    expires: never

  residual_cache_folder_count:
    type: counter
    description: >
      Counts how often we find a cache folder that wasn't purged
      at shutdown by a background task process.
    bugs:
      - https://bugzilla.mozilla.org/1848542
      - https://bugzilla.mozilla.org/2057073
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1848542
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2057073
    notification_emails:
      - vgosu@mozilla.com
    expires: 168

  residual_cache_folder_removal:
    type: labeled_counter
    description: >
      Counts how often succeed/fail in removing cache folder
      that wasn't purged at shutdown
    bugs:
      - https://bugzilla.mozilla.org/1848542
      - https://bugzilla.mozilla.org/1989190
      - https://bugzilla.mozilla.org/2057073
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1848542
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1989190
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2057073
    notification_emails:
      - vgosu@mozilla.com
    expires: 168
    labels:
      - success
      - failure

  trr_request_count:
    type: labeled_counter
    description: >
      The count of successful TRR requests keyed by regular/private browsing
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1866245
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1902190
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1958160
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1866245
    notification_emails:
      - vgosu@mozilla.com
      - necko@mozilla.com
    expires: never
    labels:
      - regular
      - private

  trr_request_count_per_conn:
    type: labeled_counter
    description: >
      Number of DOH requests per connection keyed by HTTP version
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1916352
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1916352
    notification_emails:
      - kershaw@mozilla.com
      - necko@mozilla.com
    expires: never
    labels:
      - mozilla.cloudflare-dns.com_h1
      - firefox.dns.nextdns.io_h1
      - private.canadianshield.cira.ca_h1
      - doh.xfinity.com_h1
      - dns.shaw.ca_h1
      - dooh.cloudflare-dns.com_h1
      - mozilla.cloudflare-dns.com_h2
      - firefox.dns.nextdns.io_h2
      - private.canadianshield.cira.ca_h2
      - doh.xfinity.com_h2
      - dns.shaw.ca_h2
      - dooh.cloudflare-dns.com_h2
      - mozilla.cloudflare-dns.com_h3
      - firefox.dns.nextdns.io_h3
      - private.canadianshield.cira.ca_h3
      - doh.xfinity.com_h3
      - dns.shaw.ca_h3
      - dooh.cloudflare-dns.com_h3

  http_redirect_to_scheme_top_level: &http_redirect_to_scheme_top_level
    type: labeled_counter
    description: >
      Count of the HTTP redirection that triggered by top-level document, keyed by the URL scheme redirected to
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1413512
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1567462
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1897290
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1897290
    notification_emails:
      - necko@mozilla.com
    expires: never

  http_redirect_to_scheme_subresource:
    <<: *http_redirect_to_scheme_top_level
    description: >
      Count of the HTTP redirection that triggered by subresource, keyed by the URL scheme redirected to

  http_response_version:
    type: labeled_counter
    description: >
      HTTP protocol version used on response from nsHttp.h
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1876776
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1876776#c2
    notification_emails:
      - necko@mozilla.com
    expires: never
    labels:
      - unknown
      - http_1
      - http_2
      - http_3

  http_response_status_code:
    type: labeled_counter
    description: >
      HTTP Response Status Code (200, 301, 302, 304, 307, 308, 400, 401, 403, 404, 421, 425, 429, other 400 and 500)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1896350
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1903410
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1896350
    notification_emails:
      - necko@mozilla.com
      - smayya@mozilla.com
    expires: never
    labels:
      - 200_ok
      - 301_moved_permanently
      - 302_found
      - 304_not_modified
      - 307_temporary_redirect
      - 308_permanent_redirect
      - 400_bad_request
      - 401_unauthorized
      - 403_forbidden
      - 404_not_found
      - 421_misdirected_request
      - 425_too_early
      - 429_too_many_requests
      - other_4xx
      - other_5xx
      - other

  https_rr_presented:
    type: labeled_counter
    description: >
      HTTPS RR is presented or not
    bugs:
      - https://bugzilla.mozilla.org/1686421
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1686421
    notification_emails:
      - necko@mozilla.com
      - kershaw@mozilla.com
    expires: never
    labels:
      - presented
      - presented_with_http3
      - none

  http_channel_onstart_success_https_rr:
    type: labeled_counter
    description: >
      Successfully started HTTP channels when HTTPS RR is used
    bugs:
      - https://bugzilla.mozilla.org/1682552
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1682552
    notification_emails:
      - necko@mozilla.com
      - kershaw@mozilla.com
    expires: never
    labels:
      - success
      - failure
      - success_ech_used
      - failure_ech_used

  http_channel_disposition:
    type: labeled_counter
    description: >
      Channel Disposition for HTTP and HTTPS:
      cancel, disk, net_ok, net_early_fail, and net_late_fail
    bugs:
      - https://bugzilla.mozilla.org/1341128
      - https://bugzilla.mozilla.org/1898248
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1898248
    notification_emails:
      - necko@mozilla.com
    expires: never
    labels:
      - http_cancelled
      - http_disk
      - http_net_ok
      - http_net_early_fail
      - http_net_late_fail
      - https_cancelled
      - https_disk
      - https_net_ok
      - https_net_early_fail
      - https_net_late_fail

  http_channel_disposition_enabled_upgrade: &http_channel_disposition_enabled_upgrade
    type: labeled_counter
    description: >
      Upgrading display content Channel Disposition (key: enable_upgrade)
    bugs:
      - https://bugzilla.mozilla.org/1440701
      - https://bugzilla.mozilla.org/1898248
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1898248
    notification_emails:
      - necko@mozilla.com
      - seceng-telemetry@mozilla.com
    expires: never
    labels:
      - cancel
      - disk
      - net_ok
      - net_early_fail
      - net_late_fail

  http_channel_disposition_enabled_no_reason:
    <<: *http_channel_disposition_enabled_upgrade
    description: >
      Upgrading display content Channel Disposition (key: enabled_no_reason)

  http_channel_disposition_enabled_wont:
    <<: *http_channel_disposition_enabled_upgrade
    description: >
      Upgrading display content Channel Disposition (key: enabled_wont)

  http_channel_disposition_disabled_upgrade:
    <<: *http_channel_disposition_enabled_upgrade
    description: >
      Upgrading display content Channel Disposition (key: disable_upgrade)

  http_channel_disposition_disabled_no_reason:
    <<: *http_channel_disposition_enabled_upgrade
    description: >
      Upgrading display content Channel Disposition (key: disabled_no_reason)

  http_channel_disposition_disabled_wont:
    <<: *http_channel_disposition_enabled_upgrade
    description: >
      Upgrading display content Channel Disposition (key: disabled_wont)

  http_channel_disposition_upgrade:
    type: dual_labeled_counter
    description: >
      Upgrading display content Channel Disposition

      This metric was generated to correspond to the Legacy Telemetry
      categorical histogram HTTP_CHANNEL_DISPOSITION_UPGRADE.
    dual_labels:
      key:
        description: No static keys unfortunately.
      category:
        labels:
          - cancel
          - disk
          - netOk
          - netEarlyFail
          - netLateFail
        description: Labels of the keyed categorical legacy telemetry histogram
          HTTP_CHANNEL_DISPOSITION_UPGRADE.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1440701
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1440701
    notification_emails:
      - necko@mozilla.com
      - seceng-telemetry@mozilla.com
      - jkt@mozilla.com
    expires: never

  http_channel_onstart_status:
    type: labeled_counter
    description: >
      Whether successfully started HTTP channels
    bugs:
      - https://bugzilla.mozilla.org/1473333
      - https://bugzilla.mozilla.org/1587226
      - https://bugzilla.mozilla.org/1898248
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1898248
    notification_emails:
      - necko@mozilla.com
    expires: never
    labels:
      - successful
      - fail

  http3_channel_onstart_success:
    type: dual_labeled_counter
    description: >
      Successfully started HTTP channels when HTTP3 is used

      This metric was generated to correspond to the Legacy Telemetry boolean
      histogram HTTP3_CHANNEL_ONSTART_SUCCESS.
    dual_labels:
      key:
        labels:
          - "http3"
          - "no_http3"
        description: Whether http3 was used.
      category:
        labels:
          - "false"
          - "true"
        description: Boolean
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1677987
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1677987
    notification_emails:
      - necko@mozilla.com
    expires: never

  http_channel_page_open_to_first_sent:
    type: timing_distribution
    time_unit: millisecond
    description: >
      Time in milliseconds from AsyncOpen to first byte of request sent,
      applicable for page loads without HTTPS RR
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1697480
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1697480
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - kershaw@mozilla.com
    expires: never
    metadata:
      # Settings used for prototyping telemetry alerting
      monitor:
        alert: True
        bugzilla_notification_emails:
          - gmierzwinski@mozilla.com

  http_channel_sub_open_to_first_sent:
    type: timing_distribution
    time_unit: millisecond
    description: >
      Time in milliseconds from AsyncOpen to first byte of request sent,
      applicable for sub-resource loads without HTTPS RR
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1697480
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1697480
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - kershaw@mozilla.com
    expires: never

  http_channel_page_open_to_first_sent_https_rr:
    type: timing_distribution
    time_unit: millisecond
    description: >
      Time in milliseconds from AsyncOpen to first byte of request sent,
      applicable for page loads with HTTPS RR
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1697480
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1697480
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - kershaw@mozilla.com
    expires: never

  http_to_https_upgrade_reason:
    type: labeled_counter
    description: >
      Whether a top-level HTTP request gets upgraded to HTTPS and the reason for it
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1883954
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1922559
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1883954
    notification_emails:
      - ckerschb@mozilla.com
      - freddyb@mozilla.com
      - kershaw@mozilla.com
      - necko@mozilla.com
      - seceng-telemetry@mozilla.com
    expires: never
    labels:
      - not_initialized
      - not_initialized_https #Bug 1912222, remove eventually
      - no_upgrade
      - no_upgrade_https #Bug 1912222, remove eventually
      - already_https
      - hsts
      - https_only_upgrade
      - https_only_upgrade_downgrade
      - https_first_upgrade
      - https_first_upgrade_downgrade
      - https_first_schemeless_upgrade
      - https_first_schemeless_upgrade_downgrade
      - csp_uir
      - https_rr
      - web_extension_upgrade
      - upgrade_exception
      - skip_upgrade

  https_http_or_local:
    type: labeled_counter
    description: >
      Whether a top-level request is HTTPS, HTTP, or HTTP for local domain
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1933672
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1933672
    notification_emails:
      - ckerschb@mozilla.com
      - kershaw@mozilla.com
      - necko@mozilla.com
      - seceng-telemetry@mozilla.com
    expires: never
    labels:
      - load_is_https
      - load_is_http
      - load_is_http_for_local_domain

  local_network_access:
    type: labeled_counter
    description: >
      Whether the request is crossing to a more private addresspace
    bugs:
    - https://bugzilla.mozilla.org/show_bug.cgi?id=1960582
    - https://bugzilla.mozilla.org/show_bug.cgi?id=2010463
    - https://bugzilla.mozilla.org/show_bug.cgi?id=2048455
    data_reviews:
    - https://bugzilla.mozilla.org/show_bug.cgi?id=1960582
    notification_emails:
     - smayya@mozilla.com
     - vgosu@mozilla.com
     - necko@gmail.com
    expires: 160
    labels:
      - private_to_local_http
      - private_to_local_https
      - public_to_local_http
      - public_to_local_https
      - public_to_private_http
      - public_to_private_https
      - success
      - failure

  local_network_access_prompts_shown:
    type: labeled_counter
    description: >
      Count of permission prompts shown to users for local network access,
      separated by localhost vs local network access types. Cross-site labels
      are used when the requesting origin differs from the top-level origin.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1960582
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2010463
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2048459
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1960582
    notification_emails:
      - smayya@mozilla.com
      - vgosu@mozilla.com
      - necko@mozilla.com
    expires: 160
    labels:
      - localhost
      - local_network
      - localhost_cross_site
      - local_network_cross_site

  local_network_blocked_tracker:
    type: counter
    description: >
      Counts the number of times the channel was blocked because it's a LNA load triggered by a tracker
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1973500
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1973500
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
    expires: 160

  local_network_access_connection:
    type: event
    description: >
      Recorded when a site attempts to access local network resources.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1989916
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2010465
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2048457
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1989916#c5
    data_sensitivity:
      - stored_content
    notification_emails:
      - smayya@mozilla.com
      - vgosu@mozilla.com
      - necko@mozilla.com
    send_in_pings:
      - local-network-access
    expires: 160
    extra_keys:
      top_level_site:
        description: The base domain (eTLD+1) of the top-level document/main window.
        type: string
      initiator:
        description: The base domain (eTLD+1) of the site that triggered the LNA request (triggering principal).
        type: string
      target_host:
        description: The base domain (eTLD+1) of the target host being accessed.
        type: string
      target_ip:
        description: The IP address the target URL resolves to.
        type: string
      target_port:
        description: The port being accessed.
        type: quantity
      protocol:
        description: The protocol used for the connection (websocket/webtransport/http/https/fetch/xhr).
        type: string
      is_secure_context:
        description: Whether the request is from a secure context.
        type: boolean
      prompt_action:
        description: The user action on the permission prompt (allow/deny/dismissed/not_shown).
        type: string
      load_success:
        description: Whether the load/connection was successful.
        type: boolean

  http_channel_sub_open_to_first_sent_https_rr:
    type: timing_distribution
    time_unit: millisecond
    description: >
      Time in milliseconds from AsyncOpen to first byte of request sent,
      applicable for sub-resource loads with HTTPS RR
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1697480
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1697480
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - kershaw@mozilla.com
    expires: never

  proxy_info_type:
    type: labeled_counter
    description: >
      The proxies configurations created in the browser session (SOCKSv4, SOCKSv5, HTTP, HTTPS)
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1879848
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1928273
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1879848
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1928273
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - vgosu@mozilla.com
    expires: never
    labels:
      - http
      - https
      # SOCKS4 Proxy
      - socks4
      # SOCKS4a Proxy. Proxy resolves URL hostname
      - socks4a
      # SOCKS5 Proxy
      - socks5
      # SOCKS5 Proxy. Proxy resolves URL hostname
      # Use convention from curl for socks5 proxies that resolve the hostname
      # https://curl.se/libcurl/c/CURLOPT_PROXY.html
      - socks5h
      # No proxy
      - direct
      - unknown

  proxy_fast_path_used:
    type: counter
    description: >
      The number of HTTP channels that skipped async proxy resolution via the
      fast path (system proxy reports no proxy configured, no filters
      registered).
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2028356
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2028356
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
    expires: never

  os_socket_limit_reached:
    type: counter
    description: >
      Counts the number of times the os socket limit was reached. i.e. CanAttachSocket() returned false.
    bugs:
      - https://bugzilla.mozilla.org/1901855
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1901855#c1
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - acreskey@mozilla.com
    expires: never

  trans_found_in_pending_queue:
    type: counter
    description: >
      Counts the number of times a transaction was unexpectedly still found in
      a connection entry's pending queue when
      nsHttpConnectionMgr::CheckTransInPendingQueue ran.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2040246
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2040246
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - kershaw@mozilla.com
    expires: never

  http_3_udp_datagram_segment_size_sent:
    type: memory_distribution
    memory_unit: byte
    description: >
      HTTP3 UDP datagram segment size sent.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1906853
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1906853
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - minden@mozilla.com
    expires: never

  http_3_udp_datagram_segment_size_received:
    type: memory_distribution
    memory_unit: byte
    description: >
      HTTP3 UDP datagram size received.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1906853
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1906853
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - minden@mozilla.com
    expires: never

  http_3_udp_datagram_size_sent:
    type: memory_distribution
    memory_unit: byte
    description: >
      HTTP3 UDP datagram size sent.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1975873
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1975873
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - minden@mozilla.com
    expires: never

  http_3_udp_datagram_size_received:
    type: memory_distribution
    memory_unit: byte
    description: >
      HTTP3 UDP datagram size received.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1906853
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1906853
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - minden@mozilla.com
    expires: never

  http_3_udp_datagram_segments_sent:
    type: custom_distribution
    unit: integer
    range_min: 0
    # Maximum number of UDP segments per datagram.
    #
    # See e.g. Linux https://github.com/torvalds/linux/blob/20371ba120635d9ab7fc7670497105af8f33eb08/include/linux/udp.h#L111.
    range_max: 128
    bucket_count: 100
    histogram_type: exponential
    description: >
      HTTP3 UDP number of segments per datagram sent.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1975873
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1975873
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - minden@mozilla.com
    expires: never

  http_3_udp_datagram_segments_received:
    type: custom_distribution
    unit: integer
    range_min: 0
    # Maximum number of UDP segments per datagram.
    #
    # See e.g. Linux https://github.com/torvalds/linux/blob/20371ba120635d9ab7fc7670497105af8f33eb08/include/linux/udp.h#L111.
    range_max: 128
    bucket_count: 100
    histogram_type: exponential
    description: >
      HTTP3 UDP number of segments per datagram received.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1906853
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1906853
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - minden@mozilla.com
    expires: never

  http_3_peer_max_udp_payload:
    type: custom_distribution
    unit: byte
    # > Values below 1200 are invalid.
    #
    # See https://www.rfc-editor.org/rfc/rfc9000.html#section-18.2.
    range_min: 1200
    range_max: 1501
    bucket_count: 100
    histogram_type: linear
    description: >
      HTTP3: peer's max_udp_payload_size transport parameter in bytes.
      Only recorded when the peer advertises this parameter.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2020969
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2020969
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
      - minden@mozilla.com
    expires: never

  prclose_udp_blocking_time_normal:
    type: timing_distribution
    description: >
      Time spent blocked in PR_Close when we are not shutting down and there has
      been niether a network nor an offline state change in the last 60s (ms).

      This metric was generated to correspond to the Legacy Telemetry
      exponential histogram PRCLOSE_UDP_BLOCKING_TIME_NORMAL.
    time_unit: millisecond
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1944631
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1944631
    notification_emails:
      - necko@mozilla.com
    expires: never

  prclose_udp_blocking_time_shutdown:
    type: timing_distribution
    description: >
      Time spent blocked in PR_Close during a shutdown (ms).

      This metric was generated to correspond to the Legacy Telemetry
      exponential histogram PRCLOSE_UDP_BLOCKING_TIME_SHUTDOWN.
    time_unit: millisecond
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1944631
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1944631
    notification_emails:
      - necko@mozilla.com
    expires: never

  prclose_udp_blocking_time_connectivity_change:
    type: timing_distribution
    description: >
      Time spent blocked in PR_Close when there has been the connectivity change
      in the last 60s (ms).

      This metric was generated to correspond to the Legacy Telemetry
      exponential histogram PRCLOSE_UDP_BLOCKING_TIME_CONNECTIVITY_CHANGE.
    time_unit: millisecond
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1944631
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1944631
    notification_emails:
      - necko@mozilla.com
    expires: never

  prclose_udp_blocking_time_link_change:
    type: timing_distribution
    description: >
      Time spent blocked in PR_Close when there has been a link change in the
      last 60s (ms).

      This metric was generated to correspond to the Legacy Telemetry
      exponential histogram PRCLOSE_UDP_BLOCKING_TIME_LINK_CHANGE.
    time_unit: millisecond
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1944631
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1944631
    notification_emails:
      - necko@mozilla.com
    expires: never

  prclose_udp_blocking_time_offline:
    type: timing_distribution
    description: >
      Time spent blocked in PR_Close when the offline state has changed in the
      last 60s (ms).

      This metric was generated to correspond to the Legacy Telemetry
      exponential histogram PRCLOSE_UDP_BLOCKING_TIME_OFFLINE.
    time_unit: millisecond
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1944631
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1944631
    notification_emails:
      - necko@mozilla.com
    expires: never

network.dns:
  trr_confirmation_context:
    type: event
    description: >
      This telemetry records the status of the TRR confirmation across.
      The value of the event is one of:   "ok"   "trying"
      This event was generated to correspond to the Legacy Telemetry event
      network.dns.trrConfirmation#context.
    bugs:
      - https://bugzil.la/1691408
      - https://bugzil.la/1694949
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2032398
    data_reviews:
      - https://bugzil.la/1691408
      - https://bugzil.la/1694949
    notification_emails:
      - vgosu@mozilla.com
      - necko@mozilla.com
    expires: never
    extra_keys:
      value:
        description: >
          The `value` of the event. Mirrors to the Legacy Telemetry
          event's `value` parameter.
          The `ConfirmationState`.
        type: quantity
      trigger:
        description: >
          The reason why this confirmation was triggered. Values: [cp-connectivity, pref-change, context-init, retry, failed-lookups]
        type: string
      contextReason:
        description: >
          The cause of the current confirmation context. Values: [success, pref-change, network-change, shutdown]
        type: string
      attemptCount:
        description: >
          The number of NS requests that were issued for this confirmation.
        type: quantity
      results:
        description: >
          String representation of the last 32 confirmation results. Example: nnnnnnttttttttt indicates a number of network (n) failures followed by timeouts (t).
        type: string
      failedLookups:
        description: >
          When the trigger is failed-lookups, this contains the string representation of the failures that triggered the confirmation.
        type: string
      networkID:
        description: >
          The network ID for the recorded confirmation attempts
        type: string
      captivePortal:
        description: >
          One of [unknown, not_captive, unlocked, locked]
        type: string
      time:
        description: >
          Time from first confirmation attempt to event being recorded
        type: string

network.sso:
  entra_success:
    type: labeled_counter
    description: >
      Counts how often Entra SSO succeeded/failed (macOS only). Labels are ordered in reverse chronological relation to SSO success, meaning the labels higher up are closer to the SSO success.
      device_headers_missing: only device_headers is missing in the SSO cookie.
      prt_headers_missing: only prt_headers is missing in the SSO cookie.
      both_headers_missing: both prt_headers and device_headers are missing in the SSO cookie.
      invalid_cookie: Failed to parse SSO cookie (could be a null cookie/format is incorrect).
      no_credential: ASAuthorizationSingleSignOnCredential is not present
      broker_error: An error from Microsoft's broker.
      invalid_controller_setup: ASAuthorizationController is setup incorrectly.
    bugs:
      - https://bugzilla.mozilla.org/1930742
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1930742
    notification_emails:
      - necko@mozilla.com
    expires: never
    labels:
      - success
      - device_headers_missing
      - prt_headers_missing
      - both_headers_missing
      - invalid_cookie
      - no_credential
      - broker_error
      - invalid_controller_setup

  total_entra_uses:
    type: counter
    description: >
      Counts how often Entra SSO is used (macOS only).
    bugs:
      - https://bugzilla.mozilla.org/1930742
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1930742
    notification_emails:
      - necko@mozilla.com
    expires: never

network.cookies:
  sqlite_open_readahead:
    type: timing_distribution
    description: >
      Time spent on cookie DB open with readahead (ms)

      This metric was generated to correspond to the Legacy Telemetry
      exponential histogram MOZ_SQLITE_COOKIES_OPEN_READAHEAD_MS.
    time_unit: millisecond
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1950710
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1950710
    notification_emails:
      - necko@mozilla.com
    expires: never

  open_error:
    type: labeled_counter
    description: >
      Counts the number of times the cookie DB failed to open at startup,
      labeled by nsresult error name. Used to diagnose cases where the
      cookie DB may be incorrectly wiped due to transient I/O errors
      rather than actual corruption.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1972382
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1972382
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
    expires: 157

network:
  id:
    type: custom_distribution
    description: >
      Network identification (0=None, 1=New Ipv4, 2=Same, 3=New IPv6, 4=New
      dual)

      This metric was generated to correspond to the Legacy Telemetry enumerated
      histogram NETWORK_ID2.
    range_min: 0
    range_max: 6
    bucket_count: 7
    histogram_type: linear
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1240932
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1395914
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1240932
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1395914
    notification_emails:
      - necko@mozilla.com
    expires: never

  id_online:
    type: labeled_counter
    description: >
      Network ID presence when the network connectivity checker reports that we
      have connectivity

      This metric was generated to correspond to the Legacy Telemetry
      categorical histogram NETWORK_ID_ONLINE.
    labels:
      - absent
      - present
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1580130
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1580130
    notification_emails:
      - necko@mozilla.com
    expires: never

  backgroundfilesaver_thread_count:
    type: custom_distribution
    description: >
      Maximum number of concurrent threads reached during a given download
      session

      This metric was generated to correspond to the Legacy Telemetry enumerated
      histogram BACKGROUNDFILESAVER_THREAD_COUNT.
    range_min: 0
    range_max: 21
    bucket_count: 22
    histogram_type: linear
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1956726
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2037081
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1956726
    notification_emails:
      - necko@mozilla.com
    expires: never

  ipv4_and_ipv6_address_connectivity:
    type: custom_distribution
    description: >
      Count the number of 0) successful connections to an ipv4 address, 1)
      failed connection an ipv4 address, 2) successful connection to an ipv6
      address and 3) failed connections to an ipv6 address.

      This metric was generated to correspond to the Legacy Telemetry enumerated
      histogram IPV4_AND_IPV6_ADDRESS_CONNECTIVITY.
    range_min: 0
    range_max: 4
    bucket_count: 5
    histogram_type: linear
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1956726
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1956726
    notification_emails:
      - necko@mozilla.com
    expires: never

  rel_preload_miss_ratio:
    type: labeled_counter
    description: >
      Ratio of used and unused resources preloaded with link rel=preload tag or
      response header, broken down by supported resource type.

      This metric was generated to correspond to the Legacy Telemetry
      categorical histogram REL_PRELOAD_MISS_RATIO.
    labels:
      - TYPE_SCRIPT_USED
      - TYPE_SCRIPT_UNUSED
      - TYPE_STYLE_USED
      - TYPE_STYLE_UNUSED
      - TYPE_IMAGE_USED
      - TYPE_IMAGE_UNUSED
      - TYPE_FONT_USED
      - TYPE_FONT_UNUSED
      - TYPE_FETCH_USED
      - TYPE_FETCH_UNUSED
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1658532
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1583604
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1666981
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1700831
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1736687
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1777403
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1658532
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1583604
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1666981
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1700831
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1736687
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1777403
    notification_emails:
      - necko@mozilla.com
      - kershaw@mozilla.com
    expires: never

  urlclassifier_harmful_addon_block:
    type: event
    description: >
      A classified network request initiated by a WebExtension was blocked by the
      addon-protection feature.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1986320
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=1986320
    notification_emails:
      - amarchesini@mozilla.com
      - addons-dev-internal@mozilla.com
    send_in_pings:
      - url-classifier-harmful-addon
    expires: never
    extra_keys:
      addon_id:
        description: The add-on ID
        type: string
      addon_version:
        description: The add-on version
        type: string
      etld:
        description: The eTLD+1 of the request URL
        type: string
      table:
        description: Classifier table name(s) that matched
        type: string

  ssl_token_cache_hits:
    type: labeled_counter
    description: >
      Counts session resumption token cache hits and misses.
      A 'hit' means a valid cached token was found and can be used for session
      resumption. A 'miss' means no valid token was available.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2012485
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2012485
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
    labels:
      - hit
      - miss
    expires: never

  ssl_token_cache_expired:
    type: counter
    description: >
      Counts the number of expired session resumption tokens encountered
      during cache lookups. High values may indicate token lifetime issues or
      long delays between connections to the same host.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2012485
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2012485
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
    expires: never

  content_decoding_error_report:
    type: event
    description: >
      Recorded when a content decoding error occurs, including the
      top-level site for site-specific investigation.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2016228
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2016228
    data_sensitivity:
      - stored_content
    notification_emails:
      - necko@mozilla.com
    send_in_pings:
      - content-decoding-error
    expires: never
    extra_keys:
      error_type:
        description: >
          The type of decoding error: gzip, deflate, brotli, zstd, dcb,
          dcz, or dict_hash_mismatch.
        type: string
      top_level_site:
        description: >
          The ETLD+1 of the top-level document site.
        type: string

  ssl_token_cache_persistence_records_loaded:
    type: counter
    description: >
      Number of TLS session resumption token records successfully loaded from
      disk into the cache on startup.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024146
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024146
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
    expires: never

  ssl_token_cache_load_time:
    type: timing_distribution
    time_unit: millisecond
    description: >
      Wall-clock time from SSLTokensCache::Init() to the
      completion of loading cached tokens from disk.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024146
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024146
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
    expires: never

  ssl_token_cache_evictions:
    type: counter
    description: >
      Number of still-valid TLS session resumption tokens evicted because the
      in-memory cache exceeded network.ssl_tokens_cache_capacity. Already-expired
      tokens removed under capacity pressure are not counted here (those are
      tracked by ssl_token_cache_expired). Any non-zero value indicates the
      capacity limit was reached and may need to be increased.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024146
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024146
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
    expires: never

  ssl_token_cache_early_connections:
    type: counter
    description: >
      Number of TLS connections (via Get()) that started before the background
      disk load completed. Each occurrence is also logged as a warning.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024146
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2024146
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
    expires: never

  apple_fast_datapath_used:
    type: boolean
    description: >
      True if the Apple fast datapath (sendmsg_x/recvmsg_x) is being used for
      UDP I/O. This requires the APIs to be available and the probe to
      succeed. Only recorded on Apple platforms.
    bugs:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2028797
    data_reviews:
      - https://bugzilla.mozilla.org/show_bug.cgi?id=2028797
    data_sensitivity:
      - technical
    notification_emails:
      - necko@mozilla.com
    expires: never
