toolkit/components/telemetry/Histograms.json
author ui.manish <1991manish.kumar@gmail.com>
Sat, 23 Feb 2019 09:56:08 +0000
changeset 460747 9eb8e5cca281f47dbdcc9b43baba61a82d68258a
parent 460745 1e95c3246660be51aa6529391d4a0c3f85e38dd3
child 461242 0a003a54ff4554cb8b68f3f0d54a6bd3ef166c16
permissions -rw-r--r--
Bug 1429016 - Remove expiring WEB_NOTIFICATION_* telemetry probes r=MattN Differential Revision: https://phabricator.services.mozilla.com/D18877

{
  "A11Y_INSTANTIATED_FLAG": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "flag",
    "releaseChannelCollection": "opt-out",
    "bug_numbers": [1382820],
    "description": "Flag indicating accessibility support has been instantiated.",
    "alert_emails": ["accessibility@mozilla.com"]
  },
  "A11Y_CONSUMERS": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 11,
    "releaseChannelCollection": "opt-out",
    "bug_numbers": [1382820, 1462238],
    "description": "A list of known accessibility clients that inject into Firefox process space (see https://dxr.mozilla.org/mozilla-central/source/accessible/windows/msaa/Compatibility.h).",
    "alert_emails": ["accessibility@mozilla.com", "jteh@mozilla.com"]
  },
  "A11Y_ISIMPLEDOM_USAGE_FLAG": {
    "record_in_processes": ["main"],
    "expires_in_version": "default",
    "kind": "flag",
    "description": "Flag indicating the ISimpleDOM* accessibility interfaces has been used.",
    "alert_emails": ["accessibility@mozilla.com"]
  },
  "A11Y_IATABLE_USAGE_FLAG": {
    "record_in_processes": ["main"],
    "expires_in_version": "default",
    "kind": "flag",
    "description": "Flag indicating the IAccessibleTable accessibility interface has been used.",
    "alert_emails": ["accessibility@mozilla.com"]
  },
  "A11Y_UIA_DETECTION_TIMING_MS" : {
    "record_in_processes": ["main"],
    "expires_in_version": "60",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 20,
    "keyed": false,
    "description": "The amount of time the parent process blocked while detecting a UIA client.",
    "bug_numbers": [1423989],
    "alert_emails": ["dbolter@mozilla.com"]
  },
  "A11Y_TREE_UPDATE_TIMING_MS" : {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["asurkov@mozilla.com"],
    "bug_numbers": [1424768],
    "expires_in_version": "never",
    "description": "The amount of time taken to update the accessibility tree (ms)",
    "kind" : "exponential",
    "high": 60000,
    "n_buckets": 50
  },
  "ABOUT_CONFIG_FEATURES_USAGE": {
    "record_in_processes": ["main"],
    "alert_emails": ["pamadini@mozilla.com"],
    "expires_in_version": "67",
    "kind": "categorical",
    "labels": ["Show", "Search", "RegexSearch", "SortByName", "SortByStatus", "SortByType", "SortByValue", "ModifyValue", "Copy", "CopyName", "CopyValue", "CreateNew", "Reset"],
    "bug_numbers": [1493445],
    "description": "Record number of times particular features on about:config are used"
  },
  "ADDON_MANAGER_UPGRADE_UI_SHOWN": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "53",
    "kind": "count",
    "description": "Recorded when the addon manager shows the modal upgrade UI. Should only be recorded once per upgrade.",
    "releaseChannelCollection": "opt-out",
    "bug_numbers": [1268548],
    "alert_emails": ["kev@mozilla.com"]
  },
  "ADDON_SHIM_USAGE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 15,
    "keyed": true,
    "description": "Reasons why add-on shims were used, keyed by add-on ID."
  },
  "ADDON_FORBIDDEN_CPOW_USAGE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "count",
    "keyed": true,
    "description": "Counts the number of times a given add-on used CPOWs when it was marked as e10s compatible.",
    "bug_numbers": [1214824],
    "alert_emails": ["wmccloskey@mozilla.com"]
  },
  "BROWSER_SHIM_USAGE_BLOCKED": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "count",
    "description": "Counts the number of times a CPOW shim was blocked from being created by browser code.",
    "releaseChannelCollection": "opt-out",
    "bug_numbers": [1245901],
    "alert_emails": ["benjamin@smedbergs.us"]
  },
  "APPLICATION_REPUTATION_BINARY": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "bug_numbers": [1480639],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "categorical",
    "labels": ["BinaryFile", "NonBinaryFile", "MissingFilename"],
    "description": "Whether or not the file examined by download protection is a binary type (or it's not possible to tell because the filename is missing)."
  },
  "APPLICATION_REPUTATION_BINARY_ARCHIVE": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "bug_numbers": [1480639],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "categorical",
    "labels": ["OtherBinaryFile", "DmgFile", "RarFile", "ZipFile"],
    "description": "Whether a binary file examined by download protection is one of the common archive formats."
  },
  "APPLICATION_REPUTATION_HASH_LENGTH": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "bug_numbers": [1485180],
    "expires_in_version": "69",
    "releaseChannelCollection": "opt-out",
    "kind": "categorical",
    "labels": ["ValidHash", "OriginalHashEmpty", "OriginalHashTooShort", "OriginalHashTooLong", "MissingDigest", "MissingSha256", "InvalidSha256"],
    "description": "Whether the hash included in application reputation lookups is valid or broken in some way."
  },
  "APPLICATION_REPUTATION_REASON": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dlee@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "bug_numbers": [1500360],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "categorical",
    "labels": ["NotSet", "LocalWhitelist", "LocalBlocklist", "NonBinaryFile", "VerdictSafe", "VerdictUnknown", "VerdictDangerous", "VerdictDangerousHost", "VerdictUnwanted", "VerdictUncommon", "VerdictUnrecognized", "DangerousPrefOff", "DangerousHostPrefOff", "UnwantedPrefOff", "UncommonPrefOff", "NetworkError", "RemoteLookupDisabled", "InternalError", "DPDisabled"],
    "description": "The reason application reputation service blocks or allows the download."
  },
  "APPLICATION_REPUTATION_SHOULD_BLOCK": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "boolean",
    "description": "Overall (local or remote) application reputation verdict (shouldBlock=false is OK)."
  },
  "APPLICATION_REPUTATION_LOCAL": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "enumerated",
    "n_values": 3,
    "description": "Application reputation local results (0=ALLOW, 1=BLOCK, 2=NONE)"
  },
  "APPLICATION_REPUTATION_SERVER": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "enumerated",
    "n_values": 3,
    "description": "Status of the application reputation remote lookup (0=OK, 1=failed, 2=invalid protobuf response)"
  },
  "APPLICATION_REPUTATION_SERVER_2": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dlee@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "bug_numbers": [1479901],
    "releaseChannelCollection": "opt-out",
    "expires_in_version": "never",
    "kind": "categorical",
    "labels": ["ErrOthers", "ResponseValid", "FailGetChannel", "FailGetResponse", "HTTP1xx", "HTTP2xx", "HTTP204", "HTTP3xx", "HTTP400", "HTTP4xx", "HTTP403", "HTTP404", "HTTP408", "HTTP413", "HTTP5xx", "HTTP502_504_511", "HTTP503", "HTTP505", "HTTPOthers", "ErrAlreadyConnected", "ErrNotConnected", "ErrConnectionRefused", "ErrNetTimeout", "ErrOffline", "ErrPortAccess", "ErrNetReset", "ErrNetInterrupt", "ErrProxyConnection", "ErrNetPartial", "ErrNetInadequate", "ErrUnknownHost", "ErrDNSLookupQueue", "ErrUnknownProxyHost"],
    "description": "Network status of the application reputation remote lookup"
  },
  "APPLICATION_REPUTATION_SERVER_VERDICT": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "bug_numbers": [1272788],
    "kind": "enumerated",
    "n_values": 8,
    "description": "Application reputation remote verdict (0=SAFE, 1=DANGEROUS, 2=UNCOMMON, 3=POTENTIALLY_UNWANTED, 4=DANGEROUS_HOST, 5=UNKNOWN)"
  },
  "APPLICATION_REPUTATION_SERVER_VERDICT_2": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dlee@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "73",
    "releaseChannelCollection": "opt-out",
    "bug_numbers": [1501974],
    "kind": "categorical",
    "keyed": true,
    "labels": ["Safe", "Dangerous", "Uncommon", "PotentiallyUnwanted", "DangerousHost", "Unknown"],
    "description": "Application reputation remote verdict, keyed by file extension"
  },
  "APPLICATION_REPUTATION_REMOTE_LOOKUP_RESPONSE_TIME": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dlee@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "bug_numbers": [1479898],
    "kind": "linear",
    "low": 1000,
    "high": 15000,
    "n_buckets": 17,
    "description": "Server response time to remote lookup request (ms)."
  },
  "APPLICATION_REPUTATION_REMOTE_LOOKUP_TIMEOUT": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "boolean",
    "bug_numbers": [1172689],
    "description": "Recorded when application reputation remote lookup is performed, `true` is recorded if the lookup times out."
  },
  "AUDIOSTREAM_FIRST_OPEN_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "50",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "The length of time (in milliseconds) for the first open of AudioStream."
  },
  "AUDIOSTREAM_LATER_OPEN_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "50",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "The length of time (in milliseconds) for the subsequent opens of AudioStream."
  },
  "AUDIOSTREAM_BACKEND_USED": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["padenot@mozilla.com", "kinetik@flim.org"],
    "bug_numbers": [1280630],
    "expires_in_version": "65",
    "kind": "enumerated",
    "n_values": 16,
    "description": "The operating system audio back-end used when successfully opening an audio stream, or whether the failure occurred on the first try or not <https://dxr.mozilla.org/mozilla-central/search?q=AUDIOSTREAM_BACKEND_ID_STR>",
    "releaseChannelCollection": "opt-out"
  },
  "BACKGROUNDFILESAVER_THREAD_COUNT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 21,
    "description": "Maximum number of concurrent threads reached during a given download session"
  },
  "CHECKERBOARD_DURATION": {
    "record_in_processes": ["main", "content", "gpu"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com", "kgupta@mozilla.com"],
    "bug_numbers": [1238040],
    "expires_in_version": "70",
    "kind": "exponential",
    "high": 100000,
    "n_buckets": 50,
    "description": "Duration of a checkerboard event in milliseconds"
  },
  "CHECKERBOARD_PEAK": {
    "record_in_processes": ["main", "content", "gpu"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com", "kgupta@mozilla.com"],
    "bug_numbers": [1238040],
    "expires_in_version": "70",
    "kind": "exponential",
    "high": 66355200,
    "n_buckets": 50,
    "description": "Peak number of CSS pixels checkerboarded during a checkerboard event (the high value is the size of a 4k display with max APZ zooming)"
  },
  "CHECKERBOARD_POTENTIAL_DURATION": {
    "record_in_processes": ["main", "content", "gpu"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com", "kgupta@mozilla.com"],
    "bug_numbers": [1238040],
    "expires_in_version": "70",
    "kind": "exponential",
    "high": 1000000,
    "n_buckets": 50,
    "description": "Duration of a chunk of time (in ms) that could reasonably have had checkerboarding"
  },
  "CHECKERBOARD_SEVERITY": {
    "record_in_processes": ["main", "content", "gpu"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com", "kgupta@mozilla.com"],
    "bug_numbers": [1238040],
    "expires_in_version": "70",
    "kind": "exponential",
    "high": 1073741824,
    "n_buckets": 50,
    "description": "Opaque measure of the severity of a checkerboard event"
  },
  "CHILD_PROCESS_LAUNCH_MS" : {
    "record_in_processes": ["main"],
    "alert_emails": ["jld@mozilla.com", "jimm@mozilla.com", "mconley@mozilla.com"],
    "expires_in_version": "70",
    "bug_numbers": [1474991],
    "kind": "exponential",
    "high": 64000,
    "n_buckets": 100,
    "releaseChannelCollection": "opt-out",
    "description": "Time spent in the generic child process launching code, which is run off-main-thread and used by all child process types"
  },
  "COMPOSITE_TIME" : {
    "record_in_processes": ["main", "content", "gpu"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com", "rhunt@mozilla.com"],
    "expires_in_version": "never",
    "description": "Composite times in milliseconds",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 50
  },
  "COMPOSITE_FRAME_ROUNDTRIP_TIME" : {
    "record_in_processes": ["main", "content", "gpu"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com", "rhunt@mozilla.com"],
    "expires_in_version": "never",
    "description": "Time from vsync to finishing a composite in milliseconds.",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 50
  },
  "CONTENT_PROCESS_LAUNCH_MAINTHREAD_MS" : {
    "record_in_processes": ["main"],
    "alert_emails": ["jld@mozilla.com", "jimm@mozilla.com", "mconley@mozilla.com"],
    "expires_in_version": "70",
    "bug_numbers": [1474991],
    "kind": "exponential",
    "high": 64000,
    "n_buckets": 100,
    "releaseChannelCollection": "opt-out",
    "description": "Time spent on the main thread during asynchronous content process launch."
  },
  "CONTENT_PROCESS_LAUNCH_TOTAL_MS" : {
    "record_in_processes": ["main"],
    "alert_emails": ["jld@mozilla.com", "jimm@mozilla.com", "mconley@mozilla.com"],
    "expires_in_version": "70",
    "bug_numbers": [1474991],
    "kind": "exponential",
    "high": 64000,
    "n_buckets": 100,
    "releaseChannelCollection": "opt-out",
    "description": "Total time elapsed during asynchronous content process launch, until the process is usable for loading content."
  },
  "CONTENT_PROCESS_SYNC_LAUNCH_MS" : {
    "record_in_processes": ["main"],
    "alert_emails": ["jld@mozilla.com", "jimm@mozilla.com", "mconley@mozilla.com"],
    "expires_in_version": "67",
    "bug_numbers": [1474991],
    "kind": "exponential",
    "high": 64000,
    "n_buckets": 100,
    "releaseChannelCollection": "opt-out",
    "description": "Time elapsed during synchronous content process launch until the process is usable for loading content."
  },
  "CONTENT_PROCESS_LAUNCH_IS_SYNC" : {
    "record_in_processes": ["main"],
    "alert_emails": ["jld@mozilla.com", "jimm@mozilla.com", "mconley@mozilla.com"],
    "expires_in_version": "67",
    "bug_numbers": [1474991],
    "kind": "boolean",
    "releaseChannelCollection": "opt-out",
    "description": "Whether a content process was launched synchronously (unnecessarily delaying UI response)."
  },
  "CONTENT_RESPONSE_DURATION" : {
    "record_in_processes": ["main", "content", "gpu"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com", "kgupta@mozilla.com"],
    "bug_numbers": [1261373],
    "expires_in_version": "70",
    "description": "Main thread response times for APZ notifications about input events (ms)",
    "kind" : "exponential",
    "high": 60000,
    "n_buckets": 50
  },
  "CYCLE_COLLECTOR": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent on one cycle collection (ms)"
  },
  "CYCLE_COLLECTOR_WORKER": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent on one cycle collection in a worker (ms)"
  },
  "CYCLE_COLLECTOR_FULL": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Full pause time for one cycle collection, including preparation (ms)"
  },
  "CYCLE_COLLECTOR_MAX_PAUSE": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "bug_numbers": [1364503],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "releaseChannelCollection": "opt-out",
    "description": "Longest pause for an individual slice of one cycle collection, including preparation (ms)"
  },
  "CYCLE_COLLECTOR_FINISH_IGC": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "Cycle collection finished an incremental GC"
  },
  "CYCLE_COLLECTOR_SYNC_SKIPPABLE": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "Cycle collection synchronously ran forget skippable"
  },
  "CYCLE_COLLECTOR_VISITED_REF_COUNTED": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 300000,
    "n_buckets": 50,
    "description": "Number of ref counted objects visited by the cycle collector"
  },
  "CYCLE_COLLECTOR_WORKER_VISITED_REF_COUNTED": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 300000,
    "n_buckets": 50,
    "description": "Number of ref counted objects visited by the cycle collector in a worker"
  },
  "CYCLE_COLLECTOR_VISITED_GCED": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 300000,
    "n_buckets": 50,
    "description": "Number of JS objects visited by the cycle collector"
  },
  "CYCLE_COLLECTOR_WORKER_VISITED_GCED": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 300000,
    "n_buckets": 50,
    "description": "Number of JS objects visited by the cycle collector in a worker"
  },
  "CYCLE_COLLECTOR_COLLECTED": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 100000,
    "n_buckets": 50,
    "description": "Number of objects collected by the cycle collector"
  },
  "CYCLE_COLLECTOR_WORKER_COLLECTED": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 100000,
    "n_buckets": 50,
    "description": "Number of objects collected by the cycle collector in a worker"
  },
  "CYCLE_COLLECTOR_NEED_GC": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "Needed garbage collection before cycle collection."
  },
  "CYCLE_COLLECTOR_WORKER_NEED_GC": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "Needed garbage collection before cycle collection in a worker."
  },
  "CYCLE_COLLECTOR_TIME_BETWEEN": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 120,
    "n_buckets": 50,
    "description": "Time spent in between cycle collections (seconds)"
  },
  "CYCLE_COLLECTOR_OOM": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "flag",
    "description": "Set if the cycle collector ran out of memory at some point"
  },
  "CYCLE_COLLECTOR_WORKER_OOM": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "flag",
    "description": "Set if the cycle collector in a worker ran out of memory at some point"
  },
  "CYCLE_COLLECTOR_ASYNC_SNOW_WHITE_FREEING": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent on one asynchronous SnowWhite freeing (ms)"
  },
  "CYCLE_COLLECTOR_SLICE_DURING_IDLE": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 100,
    "n_buckets": 50,
    "bug_numbers": [1372042],
    "description": "Percent of cycle collector slice done during idle time"
  },
  "DEFERRED_FINALIZE_ASYNC": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Pause time for asynchronous deferred finalization (ms)"
  },
  "DEVICE_RESET_REASON": {
    "record_in_processes": ["main", "content", "gpu"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com", "rhunt@mozilla.com"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 10,
    "bug_numbers": [1135408],
    "description": "GPU Device Reset Reason (ok, hung, removed, reset, internal error, invalid call, out of memory)"
  },
  "FETCH_IS_MAINTHREAD": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "50",
    "kind": "boolean",
    "description": "Was Fetch request initiated from the main thread?"
  },
  "FORCED_DEVICE_RESET_REASON": {
    "record_in_processes": ["main", "content", "gpu"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com", "rhunt@mozilla.com"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 50,
    "bug_numbers": [1235407],
    "releaseChannelCollection": "opt-out",
    "description": "GPU Forced Device Reset Reason (OpenSharedHandle)"
  },
  "FORGET_SKIPPABLE_MAX": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Max time spent on one forget skippable (ms)"
  },
  "FORGET_SKIPPABLE_DURING_IDLE": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 100,
    "n_buckets": 50,
    "bug_numbers": [1372042],
    "description": "Percent of the cycle collector's forget skippable done during idle time"
  },
  "FORGET_SKIPPABLE_FREQUENCY": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["smaug@mozilla.com", "dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 500,
    "n_buckets": 100,
    "bug_numbers": [1487271],
    "description": "Number of forget skippables occurred during a minute"
  },
  "FULLSCREEN_TRANSITION_BLACK_MS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["mozilla-telemetry@upsuper.org"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 100,
    "high": 5000,
    "n_buckets": 50,
    "bug_numbers": [1271160],
    "description": "The time spent in the fully-black screen in fullscreen transition"
  },
  "FULLSCREEN_CHANGE_MS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["mozilla-telemetry@upsuper.org"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 100,
    "high": 5000,
    "n_buckets": 50,
    "bug_numbers": [1271160],
    "description": "The time content uses to enter/exit fullscreen regardless of fullscreen transition timeout"
  },
  "GC_REASON_2": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 100,
    "description": "Reason (enum value) for initiating a GC"
  },
  "GC_IS_COMPARTMENTAL": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "Is it a zone GC?"
  },
  "GC_MS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent running JS GC (ms)"
  },
  "GC_BUDGET_MS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 100,
    "n_buckets": 10,
    "description": "Requested GC slice budget (ms)"
  },
  "GC_ANIMATION_MS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org", "jcoppeard@mozilla.com", "sdetar@mozilla.com"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "bug_numbers": [1489524],
    "description": "Time spent running JS GC when animating (ms)"
  },
  "GC_MAX_PAUSE_MS_2": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "bug_numbers": [1364503],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "releaseChannelCollection": "opt-out",
    "description": "Longest GC slice in a GC (ms)"
  },
  "GC_MARK_MS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent running JS GC mark phase (ms)"
  },
  "GC_SWEEP_MS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent running JS GC sweep phase (ms)"
  },
  "GC_COMPACT_MS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent running JS GC compact phase (ms)"
  },
  "GC_MARK_ROOTS_MS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 200,
    "n_buckets": 50,
    "description": "Time spent marking GC roots (ms)"
  },
  "GC_MARK_GRAY_MS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 200,
    "n_buckets": 50,
    "description": "Time spent marking gray GC objects (ms)"
  },
  "GC_SLICE_MS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent running a JS GC slice (ms)"
  },
  "GC_SLOW_PHASE": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 75,
    "description": "The longest phase in any slice that goes over 2x the budget. The phase values are defined in js/src/gc/GenerateStatsPhases.py."
  },
  "GC_SLOW_TASK": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org","jcoppeard@mozilla.com"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 75,
    "description": "The longest parallel task in any slice that goes over 2x the budget. The phase values are defined in js/src/gc/GenerateStatsPhases.py.",
    "bug_numbers": [1309651]
  },
  "GC_MMU_50": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 100,
    "n_buckets": 20,
    "description": "Minimum percentage of time spent outside GC over any 50ms window"
  },
  "GC_RESET": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "Was an incremental GC canceled?"
  },
  "GC_RESET_REASON": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 20,
    "description": "Reason for cancelling an ongoing GC (see js::gc::AbortReason)",
    "bug_numbers": [1308116]
  },
  "GC_INCREMENTAL_DISABLED": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "Is incremental GC permanently disabled?"
  },
  "GC_NON_INCREMENTAL": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "Was the GC non-incremental?"
  },
  "GC_NON_INCREMENTAL_REASON": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 20,
    "description": "Reason for performing a non-incremental GC (see js::gc::AbortReason)",
    "bug_numbers": [1308116]
  },
  "GC_SCC_SWEEP_TOTAL_MS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 500,
    "n_buckets": 50,
    "description": "Time spent sweeping compartment SCCs (ms)"
  },
  "GC_SCC_SWEEP_MAX_PAUSE_MS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 500,
    "n_buckets": 50,
    "description": "Time spent sweeping slowest compartment SCC (ms)"
  },
  "GC_MINOR_REASON": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 100,
    "description": "Reason (enum value) for initiating a minor GC"
  },
  "GC_MINOR_REASON_LONG": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 100,
    "description": "Reason (enum value) that caused a long (>1ms) minor GC"
  },
  "GC_MINOR_US": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000000,
    "n_buckets": 100,
    "description": "Time spent running JS minor GC (us)"
  },
  "GC_NURSERY_BYTES": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 16777216,
    "n_buckets": 16,
    "bug_numbers": [1259347],
    "description": "Size of the GC nursery (bytes)"
  },
  "GC_NURSERY_BYTES_2": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org", "pbone@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 16384,
    "high": 16777216,
    "n_buckets": 24,
    "bug_numbers": [1528867],
    "description": "Size of the GC nursery (bytes)"
  },
  "GC_PRETENURE_COUNT": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 32,
    "bug_numbers": [1293262],
    "description": "How many objects groups were selected for pretenuring by a minor GC"
  },
  "GC_SLICE_DURING_IDLE": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 100,
    "n_buckets": 50,
    "bug_numbers": [1372042],
    "description": "Percent of GC slice done during idle time"
  },
  "GC_BUDGET_OVERRUN": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org", "jcoppeard@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 100000,
    "n_buckets": 100,
    "bug_numbers": [1381777],
    "description": "How long a GC slice ran over its budget in microseconds"
  },
  "GC_NURSERY_PROMOTION_RATE": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org", "jcoppeard@mozilla.com"],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 100,
    "n_buckets": 50,
    "bug_numbers": [1485299],
    "description": "The percentage of nursery objects that were promoted to tenured heap."
  },
  "GC_MARK_RATE": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org", "jcoppeard@mozilla.com"],
    "expires_in_version": "never",
    "kind": "linear",
    "low": 1000,
    "high": 1000000,
    "n_buckets": 100,
    "bug_numbers": [1475896],
    "description": "The number of objects marked per ms during GC."
  },
  "GEOLOCATION_ACCURACY_EXPONENTIAL": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "releaseChannelCollection": "opt-out",
    "bug_numbers": [1507925],
    "high": 100000,
    "n_buckets": 50,
    "description": "Geolocation results' accuracy radius in meters. Smaller radius is more accurate.",
    "alert_emails": ["shong@mozilla.com"]
  },
  "GEOLOCATION_ERROR": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "flag",
    "description": "Has seen location error"
  },
  "GEOLOCATION_GETCURRENTPOSITION_SECURE_ORIGIN" : {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["mds@mozilla.com"],
    "expires_in_version": "60",
    "kind": "enumerated",
    "n_values": 10,
    "bug_numbers": [1230209],
    "description" : "Number of navigator.geolocation.getCurrentPosition() calls (0=other, 1=http, 2=https)"
  },
  "GEOLOCATION_REQUEST_GRANTED": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["tdsmith@mozilla.com"],
    "expires_in_version": "67",
    "kind": "enumerated",
    "n_values": 20,
    "releaseChannelCollection": "opt-out",
    "bug_numbers": [1230209, 1494496, 1519170],
    "description": "Geolocation requests either granted or denied (0=denied/other, 1=denied/http, 2=denied/https, ..., 10=granted/other, 11=granted/http, 12=granted/https)"
  },
  "GEOLOCATION_WATCHPOSITION_SECURE_ORIGIN" : {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["mds@mozilla.com"],
    "expires_in_version": "60",
    "kind": "enumerated",
    "n_values": 10,
    "bug_numbers": [1230209],
    "description" : "Number of navigator.geolocation.watchPosition() calls (0=other, 1=http, 2=https)"
  },
  "GEOLOCATION_WIN8_SOURCE_IS_MLS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "default",
    "kind": "boolean",
    "description": "Geolocation on Win8 is either MLS or native"
  },
  "GEOLOCATION_OSX_SOURCE_IS_MLS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "default",
    "kind": "boolean",
    "description": "Geolocation on OS X is either MLS or CoreLocation"
  },
  "GEOLOCATION_GETCURRENTPOSITION_VISIBLE": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["mds@mozilla.com"],
    "expires_in_version": "60",
    "kind": "boolean",
    "bug_numbers": [1255198],
    "description": "This metric is recorded every time a navigator.geolocation.getCurrentPosition() request gets allowed/fulfilled. A false value is recorded if the owner is not visible according to document.isVisible."
  },
  "GEOLOCATION_WATCHPOSITION_VISIBLE": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["mds@mozilla.com"],
    "expires_in_version": "60",
    "kind": "boolean",
    "bug_numbers": [1255198],
    "description": "This metric is recorded every time a navigator.geolocation.watchPosition() request gets allowed/fulfilled. A false value is recorded if the owner is not visible according to document.isVisible."
  },
  "GPU_PROCESS_LAUNCH_TIME_MS_2" : {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com", "rhunt@mozilla.com", "dbolter@mozilla.com"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "bug_numbers": [1297790, 1317796, 1489524],
    "kind": "exponential",
    "high": 64000,
    "n_buckets": 100,
    "description": "GPU process launch time in milliseconds"
  },
  "GPU_PROCESS_INITIALIZATION_TIME_MS" : {
    "record_in_processes": ["main", "content", "gpu"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com", "rhunt@mozilla.com", "dbolter@mozilla.com"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "bug_numbers": [1324095, 1489524],
    "kind": "exponential",
    "high": 64000,
    "n_buckets": 100,
    "description": "GPU process initialization (excluding XPCOM and fork time) time in milliseconds"
  },
  "GPU_PROCESS_CRASH_FALLBACKS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com", "cpearce@mozilla.com", "gsquelart@mozilla.com"],
    "expires_in_version": "70",
    "bug_numbers": [1338011],
    "kind": "enumerated",
    "releaseChannelCollection": "opt-out",
    "n_values":  10,
    "description": "Count how often we use different fallbacks when the GPU process crashes: None=0, GPUProcessDecodingDisabled=1, GPUProcessDisabled=2"
  },
  "JS_PRIVILEGED_PARSER_COMPILE_LAZY_AFTER_MS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dteller@mozilla.com"],
    "expires_in_version": "70",
    "bug_numbers": [1343483],
    "kind": "exponential",
    "low": 10,
    "high": 10000,
    "n_buckets": 10,
    "description": "Time elapsed between the moment a function is lazy-parsed (end of parsing of the ScriptSource) and the moment it is recompiled as non-lazy (start of compilation), in milliseconds, for privileged code."
  },
  "JS_WEB_PARSER_COMPILE_LAZY_AFTER_MS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["dteller@mozilla.com"],
    "expires_in_version": "70",
    "bug_numbers": [1343483],
    "kind": "exponential",
    "low": 10,
    "high": 10000,
    "n_buckets": 10,
    "description": "Time elapsed between the moment a function is lazy-parsed (end of parsing of the ScriptSource) and the moment it is recompiled as non-lazy (start of compilation), in milliseconds, for web code."
  },
  "JS_DEPRECATED_STRING_GENERICS": {
    "record_in_processes": ["content"],
    "alert_emails": ["jdemooij@mozilla.com"],
    "expires_in_version": "72",
    "bug_numbers": [1339777],
    "kind": "enumerated",
    "n_values": 25,
    "description": "A string generic function was called, like String.join etc. See STRING_GENERICS_* defines in SelfHostingDefines.h for the meaning of values."
  },
  "XUL_CACHE_DISABLED": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "default",
    "kind": "flag",
    "description": "XUL cache was disabled"
  },
  "MEMORY_RESIDENT_FAST": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["memshrink-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 32768,
    "high": 16777216,
    "n_buckets": 100,
    "bug_numbers": [1226196],
    "description": "Resident memory size (KB)"
  },
  "MEMORY_TOTAL": {
    "record_in_processes": ["main"],
    "alert_emails": ["memshrink-telemetry-alerts@mozilla.com", "erahm@mozilla.com"],
    "bug_numbers": [1198209, 1511918],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 32768,
    "high": 16777216,
    "n_buckets": 100,
    "description": "Total Memory Across All Processes (KB)",
    "releaseChannelCollection": "opt-out"
  },
  "MEMORY_DISTRIBUTION_AMONG_CONTENT": {
    "record_in_processes": ["main"],
    "alert_emails": ["memshrink-telemetry-alerts@mozilla.com"],
    "bug_numbers": [1344174],
    "expires_in_version": "never",
    "kind": "linear",
    "keyed": true,
    "high": 200,
    "n_buckets": 100,
    "description": "Absolute difference of each content process' USS and the mean of USS's, normalized by the mean, in percentage. It will be recorded with the rest of the memory probes when gatherMemory is called, if at least 2 content processes are alive. Example: in case of 4 content processes with USS's: 1G, 500MB, 1G, 1.5G, the reported numbers will be: 0, 50, 0, 50. Which indicates that 2 processes used 50% more or 50% less memory than the avarage and 2 used exactly as much as the avarage."
  },
  "MEMORY_UNIQUE": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["memshrink-telemetry-alerts@mozilla.com"],
    "bug_numbers": [1198209],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 32768,
    "high": 16777216,
    "n_buckets": 100,
    "description": "Unique Set Size (KB)"
  },
  "MEMORY_UNIQUE_CONTENT_STARTUP": {
    "record_in_processes": ["content"],
    "alert_emails": ["erahm@mozilla.com", "memshrink-telemetry-alerts@mozilla.com"],
    "bug_numbers": [1494827],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 2048,
    "high": 131072,
    "n_buckets": 100,
    "description": "Unique Set Size of Content Process at Startup (KB)"
  },
  "MEMORY_VSIZE": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["memshrink-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 32768,
    "high": 16777216,
    "n_buckets": 100,
    "description": "Virtual memory size (KB)"
  },
  "MEMORY_VSIZE_MAX_CONTIGUOUS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["memshrink-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 32768,
    "high": 16777216,
    "n_buckets": 100,
    "description": "Maximum-sized block of contiguous virtual memory (KB)"
  },
  "MEMORY_JS_COMPARTMENTS_SYSTEM": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["memshrink-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 50,
    "description": "Total JavaScript compartments used for add-ons and internals."
  },
  "MEMORY_JS_COMPARTMENTS_USER": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["memshrink-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 50,
    "description": "Total JavaScript compartments used for web pages"
  },
  "MEMORY_JS_REALMS_SYSTEM": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["memshrink-telemetry-alerts@mozilla.com", "jdemooij@mozilla.com"],
    "bug_numbers": [1518077],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 50,
    "description": "Total JavaScript realms used for add-ons and internals."
  },
  "MEMORY_JS_REALMS_USER": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["memshrink-telemetry-alerts@mozilla.com", "jdemooij@mozilla.com"],
    "bug_numbers": [1518077],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 50,
    "description": "Total JavaScript realms used for web pages."
  },
  "MEMORY_JS_GC_HEAP": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["memshrink-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 1024,
    "high": 16777216,
    "n_buckets": 200,
    "description": "Memory used by the garbage-collected JavaScript heap (KB)"
  },
  "MEMORY_STORAGE_SQLITE": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["memshrink-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 1024,
    "high": 524288,
    "n_buckets": 50,
    "description": "Memory used by SQLite (KB)"
  },
  "MEMORY_IMAGES_CONTENT_USED_UNCOMPRESSED": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["memshrink-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 1024,
    "high": 1048576,
    "n_buckets": 50,
    "description": "Memory used for uncompressed, in-use content images (KB)"
  },
  "MEMORY_HEAP_ALLOCATED": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["memshrink-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 1024,
    "high": 16777216,
    "n_buckets": 200,
    "description": "Heap memory allocated (KB)"
  },
  "MEMORY_HEAP_OVERHEAD_FRACTION": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["memshrink-telemetry-alerts@mozilla.com"],
    "bug_numbers": [1252375],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 100,
    "n_buckets": 25,
    "description": "Fraction of committed heap memory that is overhead (percentage)."
  },
  "GHOST_WINDOWS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["memshrink-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 128,
    "n_buckets": 32,
    "releaseChannelCollection": "opt-out",
    "description": "Number of ghost windows"
  },
  "MEMORY_FREE_PURGED_PAGES_MS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["memshrink-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1024,
    "n_buckets": 10,
    "description": "Time(ms) to purge dirty heap pages."
  },
  "LOW_MEMORY_EVENTS_VIRTUAL": {
    "record_in_processes": ["main"],
    "alert_emails": ["memshrink-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1024,
    "n_buckets": 21,
    "description": "Number of low-virtual-memory events fired since last ping",
    "operating_systems": ["windows"],
    "bug_numbers": [711490,1451005]
  },
  "LOW_MEMORY_EVENTS_PHYSICAL": {
    "record_in_processes": ["main"],
    "alert_emails": ["memshrink-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1024,
    "n_buckets": 21,
    "description": "Number of low-physical-memory events fired since last ping",
    "operating_systems": ["windows"],
    "bug_numbers": [711490,1451005]
  },
  "LOW_MEMORY_EVENTS_COMMIT_SPACE": {
    "record_in_processes": ["main"],
    "alert_emails": ["memshrink-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1024,
    "n_buckets": 21,
    "description": "Number of low-commit-space events fired since last ping",
    "operating_systems": ["windows"],
    "bug_numbers": [1451005]
  },
  "PAGE_FAULTS_HARD": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "default",
    "kind": "exponential",
    "low": 8,
    "high": 65536,
    "n_buckets": 13,
    "description": "Hard page faults (since last telemetry ping)",
    "operating_systems": ["unix"]
  },
  "FONTLIST_INITOTHERFAMILYNAMES": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "Time(ms) spent on reading other family names from all fonts"
  },
  "FONTLIST_INITOTHERFAMILYNAMES_NO_DEFERRING": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "Time(ms) spent on reading other family names from all fonts for no timeout case"
  },
  "FONTLIST_INITFACENAMELISTS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "Time(ms) spent on reading family names from all fonts"
  },
  "DWRITEFONT_DELAYEDINITFONTLIST_TOTAL": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 10,
    "description": "gfxDWriteFontList::DelayedInitFontList Total (ms)",
    "operating_systems": ["windows"]
  },
  "DWRITEFONT_DELAYEDINITFONTLIST_COUNT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 10,
    "description": "gfxDWriteFontList::DelayedInitFontList Font Family Count",
    "operating_systems": ["windows"]
  },
  "DWRITEFONT_DELAYEDINITFONTLIST_COLLECT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 10,
    "description": "gfxDWriteFontList::DelayedInitFontList GetSystemFontCollection (ms)",
    "operating_systems": ["windows"]
  },
  "DWRITEFONT_INIT_PROBLEM": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 8,
    "description": "DirectWrite system fontlist initialization problem (1=GDI interop, 2=system font collection, 3=no fonts)",
    "operating_systems": ["windows"]
  },
  "GDI_INITFONTLIST_TOTAL": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 10,
    "description": "gfxGDIFontList::InitFontList Total (ms)",
    "operating_systems": ["windows"]
  },
  "MAC_INITFONTLIST_TOTAL": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 10,
    "description": "gfxMacPlatformFontList::InitFontList Total (ms)",
    "operating_systems": ["mac"]
  },
  "SYSTEM_FONT_FALLBACK": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 100000,
    "n_buckets": 50,
    "description": "System font fallback (us)"
  },
  "SYSTEM_FONT_FALLBACK_FIRST": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 40000,
    "n_buckets": 20,
    "description": "System font fallback, first call (ms)"
  },
  "SYSTEM_FONT_FALLBACK_SCRIPT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 110,
    "description": "System font fallback script"
  },
  "FONT_CACHE_HIT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "font cache hit"
  },
  "BAD_FALLBACK_FONT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "system fallback font can't be used"
  },
  "SHUTDOWN_OK": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "alert_emails": ["chutten@mozilla.com"],
    "bug_numbers": [1421688],
    "releaseChannelCollection": "opt-out",
    "kind": "boolean",
    "description": "Did the browser start after a successful shutdown"
  },
  "IMAGE_DECODE_LATENCY_US": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 50,
    "high": 5000000,
    "n_buckets": 100,
    "description": "Time spent decoding an image chunk (us)"
  },
  "IMAGE_DECODE_TIME": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 50,
    "high": 50000000,
    "n_buckets": 100,
    "description": "Time spent decoding an image (us)"
  },
  "IMAGE_DECODE_ON_DRAW_LATENCY": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 50,
    "high": 50000000,
    "n_buckets": 100,
    "description": "Time from starting a decode to it showing up on the screen (us)"
  },
  "IMAGE_DECODE_CHUNKS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 500,
    "n_buckets": 50,
    "description": "Number of chunks per decode attempt"
  },
  "IMAGE_DECODE_COUNT": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 500,
    "n_buckets": 50,
    "description": "Decode count"
  },
  "IMAGE_DECODE_SPEED_JPEG": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 500,
    "high": 50000000,
    "n_buckets": 50,
    "description": "JPEG image decode speed (Kbytes/sec)"
  },
  "IMAGE_DECODE_SPEED_GIF": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 500,
    "high": 50000000,
    "n_buckets": 50,
    "description": "GIF image decode speed (Kbytes/sec)"
  },
  "IMAGE_DECODE_SPEED_PNG": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 500,
    "high": 50000000,
    "n_buckets": 50,
    "description": "PNG image decode speed (Kbytes/sec)"
  },
  "IMAGE_DECODE_SPEED_WEBP": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 500,
    "high": 50000000,
    "n_buckets": 50,
    "description": "WebP image decode speed (Kbytes/sec)",
    "bug_numbers": [1294490]
  },
  "IMAGE_REQUEST_DISPATCHED": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com","aosmond@mozilla.com"],
    "expires_in_version": "62",
    "kind": "boolean",
    "description": "Track how many image requests required event dispatching because we were unable to predict the correct scheduler group: true if the request required dispatching. See image/imgRequestProxy.cpp for details.",
    "bug_numbers": [1359833]
  },
  "KEYPRESS_PRESENT_LATENCY": {
    "record_in_processes": [ "all" ],
    "alert_emails": [ "perfteam@mozilla.com", "vchin@mozilla.com" ],
    "expires_in_version": "never",
    "kind": "exponential",
    "releaseChannelCollection": "opt-out",
    "low": 1,
    "high": 200000,
    "n_buckets": 50,
    "description": "Time between receiving a keypress event on the event loop and compositing its result onto the screen (ms)",
    "bug_numbers": [ 1506537 ]
  },
  "CANVAS_2D_USED": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "2D canvas used"
  },
  "CANVAS_WEBGL_ACCL_FAILURE_ID": {
    "record_in_processes": ["main", "content", "gpu"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com", "rhunt@mozilla.com"],
    "expires_in_version": "never",
    "kind": "count",
    "keyed": true,
    "description": "Track the failure IDs that lead us to reject attempting to create an accelerated context. CANVAS_WEBGL_FAILURE_ID reports the overall WebGL status with the attempt to fallback.",
    "bug_numbers": [1272808]
  },
  "CANVAS_WEBGL_FAILURE_ID": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com", "rhunt@mozilla.com"],
    "expires_in_version": "never",
    "kind": "count",
    "keyed": true,
    "description": "WebGL runtime and dynamic failure IDs. This will record a count for each context creation success or failure. Each failure id is a unique identifier that can be traced back to a particular failure branch or blocklist rule.",
    "bug_numbers": [1272808]
  },
  "CANVAS_WEBGL_SUCCESS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com", "rhunt@mozilla.com"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "WebGL1 creation success",
    "bug_numbers": [1247327]
  },
  "CANVAS_WEBGL_USED": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "WebGL canvas used"
  },
  "CANVAS_WEBGL2_SUCCESS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com", "rhunt@mozilla.com"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "WebGL2 creation success",
    "bug_numbers": [1247327]
  },
  "TOTAL_CONTENT_PAGE_LOAD_TIME": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["perf-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 100,
    "high": 30000,
    "n_buckets": 100,
    "description": "HTTP: Total page load time (ms)"
  },
  "HTTP_SUBITEM_OPEN_LATENCY_TIME": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP subitem channel: Page start -> subitem open() (ms)"
  },
  "HTTP_SUBITEM_FIRST_BYTE_LATENCY_TIME": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP subitem channel: Page start -> first byte received for subitem reply (ms)"
  },
  "HTTP_REQUEST_PER_PAGE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 50,
    "description": "HTTP: Requests per page (count)"
  },
  "HTTP_REQUEST_PER_PAGE_FROM_CACHE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 101,
    "description": "HTTP: Requests serviced from cache (%)"
  },
  "HTTP_REQUEST_PER_CONN": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 50,
    "description": "HTTP: requests per connection"
  },
  "HTTP_KBREAD_PER_CONN2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "alert_emails": ["necko@mozilla.com", "ddamjanovic@mozilla.com"],
    "bug_numbers": [1520260],
    "kind": "exponential",
    "high": 100000,
    "n_buckets": 50,
    "description": "HTTP: KB read per connection"
  },
  "HTTP_PAGE_DNS_ISSUE_TIME": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP page channel: open() -> DNS request issued (ms)"
  },
  "HTTP_PAGE_DNS_LOOKUP_TIME": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "alert_emails": ["necko@mozilla.com", "pmcmanus@mozilla.com"],
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP page channel: DNS lookup time (ms)"
  },
  "HTTP_PAGE_TLS_HANDSHAKE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "alert_emails": ["necko@mozilla.com", "pmcmanus@mozilla.com"],
    "bug_numbers": [772589],
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP page channel: After TCP SYN to Ready for HTTP (ms)"
  },
  "HTTP_PAGE_TCP_CONNECTION_2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "alert_emails": ["necko@mozilla.com", "pmcmanus@mozilla.com"],
    "bug_numbers": [772589],
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP page channel: TCP SYN to Ready for HTTP (ms)"
  },
  "HTTP_PAGE_OPEN_TO_FIRST_SENT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP page channel: Open -> first byte of request sent (ms)"
  },
  "HTTP_PAGE_FIRST_SENT_TO_LAST_RECEIVED": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP page channel: First byte of request sent -> last byte of response received (ms)"
  },
  "HTTP_PAGE_OPEN_TO_FIRST_RECEIVED": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP page channel: Open -> first byte of reply received (ms)"
  },
  "HTTP_PAGE_OPEN_TO_FIRST_FROM_CACHE_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP page channel: Open -> cache read start (ms), [cache2]"
  },
  "HTTP_PAGE_CACHE_READ_TIME_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP page channel: Cache read time (ms) [cache2]"
  },
  "HTTP_PAGE_REVALIDATION": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP page channel: Positive cache validation time (ms)"
  },
  "HTTP_PAGE_COMPLETE_LOAD_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP page channel: Overall load time - all (ms) [cache2]"
  },
  "HTTP_PAGE_COMPLETE_LOAD_CACHED_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP page channel: Overall load time - cache hits (ms) [cache2]"
  },
  "HTTP_PAGE_COMPLETE_LOAD_NET_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP page channel: Overall load time - network (ms) [cache2]"
  },
  "HTTP_SUB_DNS_ISSUE_TIME": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP subitem channel: open() -> DNS request issued (ms)"
  },
  "HTTP_SUB_DNS_LOOKUP_TIME": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "releaseChannelCollection": "opt-out",
    "alert_emails": ["necko@mozilla.com", "pmcmanus@mozilla.com"],
    "description": "HTTP subitem channel: DNS lookup time (ms)"
  },
  "HTTP_SUB_TLS_HANDSHAKE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "alert_emails": ["necko@mozilla.com", "pmcmanus@mozilla.com"],
    "bug_numbers": [772589],
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP subitem channel: After TCP SYN to Ready for HTTP (ms)"
  },
  "HTTP_SUB_TCP_CONNECTION_2": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com", "pmcmanus@mozilla.com"],
    "bug_numbers": [772589],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP subitem channel: TCP SYN to Ready for HTTP (ms)"
  },
  "HTTP_SUB_OPEN_TO_FIRST_SENT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP subitem channel: Open -> first byte of request sent (ms)"
  },
  "HTTP_SUB_FIRST_SENT_TO_LAST_RECEIVED": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP subitem channel: First byte of request sent -> last byte of response received (ms)"
  },
  "HTTP_SUB_OPEN_TO_FIRST_RECEIVED": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP subitem channel: Open -> first byte of reply received (ms)"
  },
  "HTTP_SUB_OPEN_TO_FIRST_FROM_CACHE_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP subitem channel: Open -> cache read start (ms) [cache2]"
  },
  "HTTP_SUB_CACHE_READ_TIME_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP subitem channel: Cache read time (ms) [cache2]"
  },
  "HTTP_SUB_REVALIDATION": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP subitem channel: Positive cache validation time (ms)"
  },
  "HTTP_SUB_COMPLETE_LOAD_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP subitem channel: Overall load time - all (ms) [cache2]"
  },
  "HTTP_SUB_COMPLETE_LOAD_CACHED_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP subitem channel: Overall load time - cache hits (ms) [cache2]"
  },
  "HTTP_SUB_COMPLETE_LOAD_NET_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 50,
    "description": "HTTP subitem channel: Overall load time - network (ms) [cache2]"
  },
  "HTTP_PROXY_TYPE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 8,
    "description": "HTTP Proxy Type (none, http, socks)"
  },
  "HTTP_TRANSACTION_IS_SSL": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["seceng-telemetry@mozilla.com"],
    "bug_numbers": [1340021],
    "releaseChannelCollection": "opt-out",
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "Whether an HTTP request occurred over TLS/SSL or not. Recorded during response processing for all requests."
  },
  "HTTP_PAGELOAD_IS_SSL": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["seceng-telemetry@mozilla.com"],
    "bug_numbers": [1340021],
    "releaseChannelCollection": "opt-out",
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "Whether a HTTP page load was over SSL or not. Recorded during response processing for all first-party page loads."
  },
  "HTTP_TRANSACTION_USE_ALTSVC": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "Whether a HTTP transaction was routed via Alt-Svc or not."
  },
  "HTTP_TRANSACTION_USE_ALTSVC_OE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "Whether a HTTP transaction routed via Alt-Svc was scheme=http"
  },
  "HTTP_ALTSVC_ENTRIES_PER_HEADER": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "bug_numbers": [1499149],
    "alert_emails": ["hurley@mozilla.com"],
    "kind": "enumerated",
    "n_values": 5,
    "description": "How many alt-svc productions were seen in a single Alt-Svc header"
  },
  "HTTP_ALTSVC_MAPPING_CHANGED_TARGET": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "bug_numbers": [1499149],
    "alert_emails": ["hurley@mozilla.com"],
    "kind": "boolean",
    "description": "Whether or not a new alt-svc mapping would change the target hostname of the existing mapping"
  },
  "HTTP_SCHEME_UPGRADE_TYPE": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["seceng-telemetry@mozilla.com", "jkt@mozilla.com"],
    "bug_numbers": [1340021, 1435733],
    "releaseChannelCollection": "opt-out",
    "expires_in_version": "never",
    "kind": "categorical",
    "labels": ["AlreadyHTTPS", "NoReasonToUpgrade", "PrefBlockedSTS", "STS", "CSP", "BrowserDisplay"],
    "description": "Was the URL upgraded to HTTPS?"
  },
  "HTTP_RESPONSE_STATUS_CODE": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["ckerschbaumer@mozilla.com"],
    "bug_numbers": [1272345, 1296287],
    "expires_in_version": "56",
    "kind": "enumerated",
    "n_values": 12,
    "description": "Whether the URL gets redirected?  (0=200, 1=301, 2=302, 3=304, 4=307, 5=308, 6=400, 7=401, 8=403, 9=404, 10=500, 11=other)"
  },
  "HTTP_NET_VS_CACHE_ONSTART_QSMALL_NORMALPRI_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "76",
      "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
      "bug_numbers": [1325322, 1524552],
      "kind": "enumerated",
      "n_values": 80,
      "description": "Network vs cache time load (OnStartRequest) difference (ms) for requests with a normal priority and small queue. Cache wins: 41-50 for 1-100ms, 51-59 for 101-1000ms, 60-68 for 1-10s, 69-73 for 11-60s and 74 for > 1m. Network wins: 39-30 for 1-100ms, 29-21 for 101-1000ms, 20-12 for 1-10s, 11-7 for 11-60s and 6 for > 1m."
  },
  "HTTP_NET_VS_CACHE_ONSTART_QMED_NORMALPRI_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "76",
      "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
      "bug_numbers": [1325322, 1524552],
      "kind": "enumerated",
      "n_values": 80,
      "description": "Network vs cache time load (OnStartRequest) difference (ms) for requests with a normal priority and medium queue. Cache wins: 41-50 for 1-100ms, 51-59 for 101-1000ms, 60-68 for 1-10s, 69-73 for 11-60s and 74 for > 1m. Network wins: 39-30 for 1-100ms, 29-21 for 101-1000ms, 20-12 for 1-10s, 11-7 for 11-60s and 6 for > 1m."
  },
  "HTTP_NET_VS_CACHE_ONSTART_QBIG_NORMALPRI_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "76",
      "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
      "bug_numbers": [1325322, 1524552],
      "kind": "enumerated",
      "n_values": 80,
      "description": "Network vs cache time load (OnStartRequest) difference (ms) for requests with a normal priority and large queue. Cache wins: 41-50 for 1-100ms, 51-59 for 101-1000ms, 60-68 for 1-10s, 69-73 for 11-60s and 74 for > 1m. Network wins: 39-30 for 1-100ms, 29-21 for 101-1000ms, 20-12 for 1-10s, 11-7 for 11-60s and 6 for > 1m."
  },
  "HTTP_NET_VS_CACHE_ONSTART_QSMALL_HIGHPRI_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "76",
      "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
      "bug_numbers": [1325322, 1524552],
      "kind": "enumerated",
      "n_values": 80,
      "description": "Network vs cache time load (OnStartRequest) difference (ms) for requests with a high priority and small queue. Cache wins: 41-50 for 1-100ms, 51-59 for 101-1000ms, 60-68 for 1-10s, 69-73 for 11-60s and 74 for > 1m. Network wins: 39-30 for 1-100ms, 29-21 for 101-1000ms, 20-12 for 1-10s, 11-7 for 11-60s and 6 for > 1m."
  },
  "HTTP_NET_VS_CACHE_ONSTART_QMED_HIGHPRI_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "76",
      "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
      "bug_numbers": [1325322, 1524552],
      "kind": "enumerated",
      "n_values": 80,
      "description": "Network vs cache time load (OnStartRequest) difference (ms) for requests with a high priority and medium queue. Cache wins: 41-50 for 1-100ms, 51-59 for 101-1000ms, 60-68 for 1-10s, 69-73 for 11-60s and 74 for > 1m. Network wins: 39-30 for 1-100ms, 29-21 for 101-1000ms, 20-12 for 1-10s, 11-7 for 11-60s and 6 for > 1m."
  },
  "HTTP_NET_VS_CACHE_ONSTART_QBIG_HIGHPRI_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "76",
      "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
      "bug_numbers": [1325322, 1524552],
      "kind": "enumerated",
      "n_values": 80,
      "description": "Network vs cache time load (OnStartRequest) difference (ms) for requests with a high priority and large queue. Cache wins: 41-50 for 1-100ms, 51-59 for 101-1000ms, 60-68 for 1-10s, 69-73 for 11-60s and 74 for > 1m. Network wins: 39-30 for 1-100ms, 29-21 for 101-1000ms, 20-12 for 1-10s, 11-7 for 11-60s and 6 for > 1m."
  },
  "HTTP_NET_VS_CACHE_ONSTOP_QSMALL_NORMALPRI_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "76",
      "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
      "bug_numbers": [1325322, 1524552],
      "kind": "enumerated",
      "n_values": 80,
      "description": "Network vs cache time load (OnStopRequest) difference (ms) for requests with a normal priority and small queue. Cache wins: 41-50 for 1-100ms, 51-59 for 101-1000ms, 60-68 for 1-10s, 69-73 for 11-60s and 74 for > 1m. Network wins: 39-30 for 1-100ms, 29-21 for 101-1000ms, 20-12 for 1-10s, 11-7 for 11-60s and 6 for > 1m."
  },
  "HTTP_NET_VS_CACHE_ONSTOP_QMED_NORMALPRI_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "76",
      "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
      "bug_numbers": [1325322, 1524552],
      "kind": "enumerated",
      "n_values": 80,
      "description": "Network vs cache time load (OnStopRequest) difference (ms) for requests with a normal priority and medium queue. Cache wins: 41-50 for 1-100ms, 51-59 for 101-1000ms, 60-68 for 1-10s, 69-73 for 11-60s and 74 for > 1m. Network wins: 39-30 for 1-100ms, 29-21 for 101-1000ms, 20-12 for 1-10s, 11-7 for 11-60s and 6 for > 1m."
  },
  "HTTP_NET_VS_CACHE_ONSTOP_QBIG_NORMALPRI_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "76",
      "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
      "bug_numbers": [1325322, 1524552],
      "kind": "enumerated",
      "n_values": 80,
      "description": "Network vs cache time load (OnStopRequest) difference (ms) for requests with a normal priority and large queue. Cache wins: 41-50 for 1-100ms, 51-59 for 101-1000ms, 60-68 for 1-10s, 69-73 for 11-60s and 74 for > 1m. Network wins: 39-30 for 1-100ms, 29-21 for 101-1000ms, 20-12 for 1-10s, 11-7 for 11-60s and 6 for > 1m."
  },
  "HTTP_NET_VS_CACHE_ONSTOP_QSMALL_HIGHPRI_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "76",
      "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
      "bug_numbers": [1325322, 1524552],
      "kind": "enumerated",
      "n_values": 80,
      "description": "Network vs cache time load (OnStopRequest) difference (ms) for requests with a high priority and small queue. Cache wins: 41-50 for 1-100ms, 51-59 for 101-1000ms, 60-68 for 1-10s, 69-73 for 11-60s and 74 for > 1m. Network wins: 39-30 for 1-100ms, 29-21 for 101-1000ms, 20-12 for 1-10s, 11-7 for 11-60s and 6 for > 1m."
  },
  "HTTP_NET_VS_CACHE_ONSTOP_QMED_HIGHPRI_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "76",
      "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
      "bug_numbers": [1325322, 1524552],
      "kind": "enumerated",
      "n_values": 80,
      "description": "Network vs cache time load (OnStopRequest) difference (ms) for requests with a high priority and medium queue. Cache wins: 41-50 for 1-100ms, 51-59 for 101-1000ms, 60-68 for 1-10s, 69-73 for 11-60s and 74 for > 1m. Network wins: 39-30 for 1-100ms, 29-21 for 101-1000ms, 20-12 for 1-10s, 11-7 for 11-60s and 6 for > 1m."
  },
  "HTTP_NET_VS_CACHE_ONSTOP_QBIG_HIGHPRI_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "76",
      "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
      "bug_numbers": [1325322, 1524552],
      "kind": "enumerated",
      "n_values": 80,
      "description": "Network vs cache time load (OnStopRequest) difference (ms) for requests with a high priority and large queue. Cache wins: 41-50 for 1-100ms, 51-59 for 101-1000ms, 60-68 for 1-10s, 69-73 for 11-60s and 74 for > 1m. Network wins: 39-30 for 1-100ms, 29-21 for 101-1000ms, 20-12 for 1-10s, 11-7 for 11-60s and 6 for > 1m."
  },
  "HTTP_NET_VS_CACHE_ONSTOP_SMALL_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "76",
      "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
      "bug_numbers": [1325322, 1524552],
      "kind": "enumerated",
      "n_values": 80,
      "description": "Network vs cache time load (OnStopRequest) difference (ms) for cache files with a small size (<256K). Cache wins: 41-50 for 1-100ms, 51-59 for 101-1000ms, 60-68 for 1-10s, 69-73 for 11-60s and 74 for > 1m. Network wins: 39-30 for 1-100ms, 29-21 for 101-1000ms, 20-12 for 1-10s, 11-7 for 11-60s and 6 for > 1m."
  },
  "HTTP_NET_VS_CACHE_ONSTOP_LARGE_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "76",
      "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
      "bug_numbers": [1325322, 1524552],
      "kind": "enumerated",
      "n_values": 80,
      "description": "Network vs cache time load (OnStopRequest) difference (ms) for cache files with a large size (>=256K). Cache wins: 41-50 for 1-100ms, 51-59 for 101-1000ms, 60-68 for 1-10s, 69-73 for 11-60s and 74 for > 1m. Network wins: 39-30 for 1-100ms, 29-21 for 101-1000ms, 20-12 for 1-10s, 11-7 for 11-60s and 6 for > 1m."
  },
  "HTTP_NET_VS_CACHE_ONSTART_REVALIDATED_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "76",
      "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
      "bug_numbers": [1325322, 1524552],
      "kind": "enumerated",
      "n_values": 80,
      "description": "Network vs cache time load (OnStartRequest) difference revalidated cache entries. Cache wins: 41-50 for 1-100ms, 51-59 for 101-1000ms, 60-68 for 1-10s, 69-73 for 11-60s and 74 for > 1m. Network wins: 39-30 for 1-100ms, 29-21 for 101-1000ms, 20-12 for 1-10s, 11-7 for 11-60s and 6 for > 1m."
  },
  "HTTP_NET_VS_CACHE_ONSTART_NOTREVALIDATED_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "76",
      "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
      "bug_numbers": [1325322, 1524552],
      "kind": "enumerated",
      "n_values": 80,
      "description": "Network vs cache time load (OnStartRequest) difference (ms) not revalidated cache entries. Cache wins: 41-50 for 1-100ms, 51-59 for 101-1000ms, 60-68 for 1-10s, 69-73 for 11-60s and 74 for > 1m. Network wins: 39-30 for 1-100ms, 29-21 for 101-1000ms, 20-12 for 1-10s, 11-7 for 11-60s and 6 for > 1m."
  },
  "HTTP_NET_VS_CACHE_ONSTOP_REVALIDATED_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "76",
      "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
      "bug_numbers": [1325322, 1524552],
      "kind": "enumerated",
      "n_values": 80,
      "description": "Network vs cache time load (OnStopRequest) difference (ms) revalidated cache entries. Cache wins: 41-50 for 1-100ms, 51-59 for 101-1000ms, 60-68 for 1-10s, 69-73 for 11-60s and 74 for > 1m. Network wins: 39-30 for 1-100ms, 29-21 for 101-1000ms, 20-12 for 1-10s, 11-7 for 11-60s and 6 for > 1m."
  },
  "HTTP_NET_VS_CACHE_ONSTOP_NOTREVALIDATED_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "76",
      "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
      "bug_numbers": [1325322, 1524552],
      "kind": "enumerated",
      "n_values": 80,
      "description": "Network vs cache time load (OnStopRequest) difference (ms) not revalidated cache entries. Cache wins: 41-50 for 1-100ms, 51-59 for 101-1000ms, 60-68 for 1-10s, 69-73 for 11-60s and 74 for > 1m. Network wins: 39-30 for 1-100ms, 29-21 for 101-1000ms, 20-12 for 1-10s, 11-7 for 11-60s and 6 for > 1m."
  },
  "HTTP_ONSTART_SUSPEND_TOTAL_TIME": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
      "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
      "bug_numbers": [1347948],
      "kind": "exponential",
      "high": 60000,
      "n_buckets": 100,
      "description": "Time in milliseconds that http channel spent suspended between AsyncOpen and OnStartRequest."
  },
  "NETWORK_RACE_CACHE_WITH_NETWORK_USAGE_2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
    "bug_numbers": [1377340],
    "kind": "categorical",
    "labels": ["NetworkNoRace", "CacheNoRace", "NetworkRace", "CacheRace", "NetworkDelayedRace", "CacheDelayedRace"],
    "description": "Whether we raced network with the cache."
  },
  "NETWORK_RACE_CACHE_WITH_NETWORK_SAVED_TIME": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
    "bug_numbers": [1354407],
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 100,
    "description": "Time in milliseconds that we saved when we race cache with network."
  },
  "NETWORK_RACE_CACHE_WITH_NETWORK_OCEC_ON_START_DIFF": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
    "bug_numbers": [1354407],
    "kind": "linear",
    "high": 1000,
    "n_buckets": 100,
    "description": "Time in milliseconds between onStartRequest from the cache and onCacheEntryCheck. Report only when net wins and OCEC is before onStartRequest from net."
  },
  "NETWORK_RACE_CACHE_BANDWIDTH_RACE_NETWORK_WIN": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 32,
    "high": 16777216,
    "n_buckets": 100,
    "description": "Amount of bytes received when we decide to race cache with network and network wins.",
    "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
    "bug_numbers": [1354405]
  },
  "NETWORK_RACE_CACHE_BANDWIDTH_RACE_CACHE_WIN": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 32,
    "high": 16777216,
    "n_buckets": 100,
    "description": "Amount of bytes received when we decide to race cache with network and cache wins.",
    "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
    "bug_numbers": [1354405]
  },
  "NETWORK_RACE_CACHE_BANDWIDTH_NOT_RACE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 32,
    "high": 16777216,
    "n_buckets": 100,
    "description": "Amount of bytes received when we decide not to race cache with network.",
    "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
    "bug_numbers": [1354405]
  },
  "NETWORK_RACE_CACHE_VALIDATION": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "alert_emails": ["necko@mozilla.com", "mnovotny@mozilla.com"],
    "bug_numbers": [1377223],
    "kind": "categorical",
    "labels": ["NotSent", "CachedContentUsed", "CachedContentNotUsed"],
    "description": "Stats for validation requests when cache won the race."
  },
  "NETWORK_BACK_PRESSURE_SUSPENSION_RATE_V2": {
    "record_in_processes": ["main"],
    "expires_in_version": "76",
    "alert_emails": ["necko@mozilla.com", "junior@mozilla.com"],
    "bug_numbers": [1280629, 1494133, 1524552],
    "kind": "categorical",
    "labels": ["Suspended", "NotSuspended", "SuspendedLocal", "NotSuspendedLocal"],
    "description": "Collect whether the resource is suspended by back pressure. And split by local-ness."
  },
  "NETWORK_BACK_PRESSURE_SUSPENSION_CP_TYPE": {
    "record_in_processes": ["main"],
    "expires_in_version": "76",
    "alert_emails": ["necko@mozilla.com", "junior@mozilla.com"],
    "bug_numbers": [1487559, 1524552],
    "kind": "enumerated",
    "n_values": 64,
    "description": "Collect the content policy when the resource is non-local and suspended by back pressure (0-44 from nsContentPolicyType in nsIContentPolicy.idl)."
  },
  "NETWORK_BACK_PRESSURE_SUSPENSION_DELAY_TIME_MS": {
    "record_in_processes": ["main"],
    "expires_in_version": "76",
    "alert_emails": ["necko@mozilla.com", "junior@mozilla.com"],
    "bug_numbers": [1498434, 1524552],
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 100,
    "description": "The delay caused by the e10s back pressure suspension(ms)"
  },
  "NETWORK_HTTP_REDIRECT_TO_SCHEME" :{
    "record_in_processes": ["main"],
    "alert_emails": ["necko@mozilla.com", "seceng-telemetry@mozilla.com", "jkt@mozilla.com"],
    "bug_numbers": [1413512],
    "expires_in_version": "64",
    "kind": "categorical",
    "keyed": true,
    "description": "Count of the HTTP redirection that triggered by top-level document or by subresource, keyed by the URL scheme redirected to.",
    "labels": ["topLevel", "subresource"]
  },
  "HTTP_AUTH_DIALOG_STATS_3": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "65",
    "alert_emails": ["necko@mozilla.com", "ddamjanovic@mozilla.com"],
    "bug_numbers": [1357835],
    "kind": "enumerated",
    "n_values": 64,
    "description": "Stats about what kind of resource requested http authentication. (29=top-level doc, 30=same origin subresources, 31=same origin xhr, 32=non-web-content, (nsIContentPolicy type)=cross-origin subresources per nsIContentPolicy type)"
  },
  "HTTP_AUTH_TYPE_STATS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["rbarnes@mozilla.com"],
    "bug_numbers": [1266571],
    "expires_in_version": "52",
    "kind": "enumerated",
    "n_values": 8,
    "releaseChannelCollection": "opt-out",
    "description": "Recorded once for each HTTP 401 response. The value records the type of authentication and the TLS-enabled status. (0=basic/clear, 1=basic/tls, 2=digest/clear, 3=digest/tls, 4=ntlm/clear, 5=ntlm/tls, 6=negotiate/clear, 7=negotiate/tls)"
  },
  "HTTP_CHILD_OMT_STATS": {
    "record_in_processes": ["content"],
    "alert_emails": ["necko@mozilla.com"],
    "bug_numbers": [1357682],
    "expires_in_version": "61",
    "kind": "categorical",
    "keyed": true,
    "description": "Stats about success rate of HTTP OMT request in content process, keyed by content policy.",
    "labels": ["success", "successMainThread", "failListener", "failListenerChain", "notRequested"]
  },
  "TCP_FAST_OPEN_3": {
    "record_in_processes": ["main"],
    "expires_in_version": "65",
    "kind": "enumerated",
    "n_values": 32,
    "description": "When a http connection is closed, track whether or not TCP Fast Open was used: 0=TFO_NOT_SET, 1=TFO_UNKNOWN, 2=TFO_DISABLED, 3=TFO_DISABLED_CONNECT, 4=TFO_NOT_TRIED, 5=TFO_TRIED, 6=TFO_DATA_SENT, 7=TFO_DATA_COOKIE_NOT_ACCEPTED, 8=TFO_FAILED_CONNECTION_REFUSED, 9=TFO_FAILED_NET_TIMEOUT, 10=TFO_FAILED_UNKNOW_ERROR, 11=TFO_FAILED_BACKUP_CONNECTION_TFO_NOT_TRIED, 12=TFO_FAILED_BACKUP_CONNECTION_TFO_TRIED, 13=TFO_FAILED_BACKUP_CONNECTION_TFO_DATA_SENT, 14=TFO_FAILED_BACKUP_CONNECTION_TFO_DATA_COOKIE_NOT_ACCEPTED, 15=TFO_FAILED_CONNECTION_REFUSED_NO_TFO_FAILED_TOO, 16=TFO_FAILED_NET_TIMEOUT__NO_TFO_FAILED_TOO, 17=TFO_FAILED_UNKNOW_ERROR_NO_TFO_FAILED_TOO, 18=TFO_FAILED_BACKUP_CONNECTION_NO_TFO_FAILED_TOO, 19=TFO_BACKUP_CONN. Please look at netwerk/base/TCPFastOpenLayer.h for more info",
    "alert_emails": ["necko@mozilla.com", "ddamjanovic@mozilla.com"],
    "bug_numbers": [1402879]
  },
  "TCP_FAST_OPEN_STATUS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "65",
    "kind": "enumerated",
    "n_values": 8,
    "description": "TCP Fast Open was: 0=enabled during the session, 1=not available or disabled in the os, 2=disabled by the pref, 3=disabled based on the too many connection failures, 4=disable based on too many http transaction stalls after a connection was idle.",
    "alert_emails": ["necko@mozilla.com", "ddamjanovic@mozilla.com"],
    "bug_numbers": [1390881]
  },
  "NETWORK_HTTP_BACKUP_CONN_WON_1" : {
    "record_in_processes": ["main"],
    "expires_in_version": "61",
    "kind": "boolean",
    "description": "For connection where TFO has not be use, collect telemetry on whether the backup connection or the primary connection was faster.",
    "alert_emails": ["necko@mozilla.com", "ddamjanovic@mozilla.com"],
    "bug_numbers": [1426710]
  },
  "TLS_EARLY_DATA_NEGOTIATED": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "71",
    "kind": "enumerated",
    "n_values": 3,
    "description": "Sending TLS early data was possible: 0 - not possible, 1 - possible but not used, 2 - possible and used.",
    "alert_emails": ["necko@mozilla.com", "ddamjanovic@mozilla.com"],
    "bug_numbers": [1296288],
    "releaseChannelCollection": "opt-out"
  },
  "TLS_EARLY_DATA_ACCEPTED": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "71",
    "kind": "boolean",
    "description": "TLS early data was used and it was accepted (true) or rejected (false) by the remote host.",
    "alert_emails": ["necko@mozilla.com", "ddamjanovic@mozilla.com"],
    "bug_numbers": [1296288],
    "releaseChannelCollection": "opt-out"
  },
  "TLS_EARLY_DATA_BYTES_WRITTEN": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "71",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 100,
    "description": "Amount of bytes sent using TLS early data at the start of a TLS connection for a given channel.",
    "alert_emails": ["necko@mozilla.com", "ddamjanovic@mozilla.com"],
    "bug_numbers": [1296288],
    "releaseChannelCollection": "opt-out"
  },
  "ESNI_KEYS_RECORD_FETCH_DELAYS": {
    "record_in_processes": ["main"],
    "expires_in_version": "70",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 100,
    "description": "Added delays caused the esni keys fetching.(ms)",
    "alert_emails": ["necko@mozilla.com", "ddamjanovic@mozilla.com"],
    "bug_numbers": [1473736],
    "releaseChannelCollection": "opt-out"
  },
  "ESNI_KEYS_RECORDS_FOUND": {
    "record_in_processes": ["main"],
    "expires_in_version": "70",
    "kind": "boolean",
    "description": "ESNI Keys found rate.",
    "alert_emails": ["necko@mozilla.com", "ddamjanovic@mozilla.com"],
    "bug_numbers": [1473736],
    "releaseChannelCollection": "opt-out"
  },
  "ESNI_NOESNI_TLS_SUCCESS_RATE": {
    "record_in_processes": ["main"],
    "expires_in_version": "70",
    "kind": "categorical",
    "labels": ["EsniTLSSucceeded", "EsniTLSFailed", "NoEsniTLSSucceeded", "NoEsniTLSFailed"],
    "description": "TLS handshake with and without esni success rate.",
    "alert_emails": ["necko@mozilla.com", "ddamjanovic@mozilla.com"],
    "bug_numbers": [1473736],
    "releaseChannelCollection": "opt-out"
  },
  "SSL_HANDSHAKE_VERSION": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["seceng-telemetry@mozilla.com"],
    "bug_numbers": [1250568,1340021],
    "releaseChannelCollection": "opt-out",
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 16,
    "description": "Negotiated SSL Version (1=tls1, 2=tls1.1, 3=tls1.2, 4=tls1.3)"
  },
  "SSL_HANDSHAKE_RESULT": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["seceng-telemetry@mozilla.com"],
    "bug_numbers": [1331280,1340021],
    "releaseChannelCollection": "opt-out",
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 672,
    "description": "SSL handshake result, 0=success, 1-255=NSS error offset, 256-511=SEC error offset + 256, 512-639=NSPR error offset + 512, 640-670=PKIX error, 671=unknown err"
  },
  "SSL_TIME_UNTIL_READY": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["seceng-telemetry@mozilla.com"],
    "bug_numbers": [1340021],
    "releaseChannelCollection": "opt-out",
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 200,
    "description": "ms of SSL wait time including TCP and proxy tunneling"
  },
  "SSL_TIME_UNTIL_HANDSHAKE_FINISHED_KEYED_BY_KA": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["seceng-telemetry@mozilla.com", "fkiefer@mozilla.com"],
    "bug_numbers": [1340021, 1513839],
    "releaseChannelCollection": "opt-out",
    "expires_in_version": "never",
    "kind": "exponential",
    "keyed": true,
    "high": 60000,
    "n_buckets": 200,
    "description": "ms of SSL wait time for full handshake including TCP and proxy tunneling, keyed by the key exchange algorithm used"
  },
  "SSL_BYTES_BEFORE_CERT_CALLBACK": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["seceng-telemetry@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 32000,
    "n_buckets": 64,
    "description": "plaintext bytes read before a server certificate authenticated"
  },
  "SSL_NPN_TYPE": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["seceng-telemetry@mozilla.com"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 16,
    "description": "NPN Results (0=none, 1=negotiated, 2=no-overlap, 3=selected(alpn))"
  },
  "SSL_RESUMED_SESSION": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["seceng-telemetry@mozilla.com"],
    "bug_numbers": [1340021],
    "releaseChannelCollection": "opt-out",
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "complete TLS connect that used TLS Session Resumption (collected at same time as SSL_TIME_UNTIL_HANDSHAKE_FINISHED)"
  },
  "CERT_VALIDATION_HTTP_REQUEST_RESULT": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["seceng-telemetry@mozilla.com"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 16,
    "description": "HTTP result of OCSP, etc.. (0=canceled, 1=OK, 2=FAILED, 3=internal-error)"
  },
  "CERT_VALIDATION_HTTP_REQUEST_CANCELED_TIME": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["seceng-telemetry@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 200,
    "description": "ms elapsed time of OCSP etc.. that was canceled"
  },
  "CERT_VALIDATION_HTTP_REQUEST_SUCCEEDED_TIME": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["seceng-telemetry@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 200,
    "description": "ms elapsed time of OCSP etc.. that succeeded"
  },
  "CERT_VALIDATION_HTTP_REQUEST_FAILED_TIME": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["seceng-telemetry@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 200,
    "description": "ms elapsed time of OCSP etc.. that failed"
  },
  "SSL_KEY_EXCHANGE_ALGORITHM_FULL": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["seceng-telemetry@mozilla.com"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 16,
    "description": "SSL Handshake Key Exchange Algorithm for full handshake (null=0, rsa=1, dh=2, fortezza=3, ecdh=4)"
  },
  "SSL_KEY_EXCHANGE_ALGORITHM_RESUMED": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["seceng-telemetry@mozilla.com"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 16,
    "description": "SSL Handshake Key Exchange Algorithm for resumed handshake (null=0, rsa=1, dh=2, fortezza=3, ecdh=4)"
  },
  "WEBSOCKETS_HANDSHAKE_TYPE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 16,
    "description": "Websockets Handshake Results (ws-ok-plain, ws-ok-proxy, ws-failed-plain, ws-failed-proxy, wss-ok-plain, wss-ok-proxy, wss-failed-plain, wss-failed-proxy)"
  },
  "HTTP_RESPONSE_VERSION": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 48,
    "description": "HTTP: Protocol Version Used on Response from nsHttp.h"
  },
  "HTTP_09_INFO": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 4,
    "description": "HTTP 09 Response Breakdown: lowbit subresource, high bit nonstd port",
    "bug_numbers": [1262572],
    "alert_emails": ["necko@mozilla.com"]
  },
  "SPDY_PARALLEL_STREAMS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 50,
    "description": "SPDY: Streams concurrent active per connection"
  },
  "SPDY_REQUEST_PER_CONN": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 50,
    "description": "SPDY: Streams created per connection"
  },
  "SPDY_SERVER_INITIATED_STREAMS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 100000,
    "n_buckets": 250,
    "description": "SPDY: Streams recevied per connection"
  },
  "SPDY_CHUNK_RECVD": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 100,
    "description": "SPDY: Recvd Chunk Size (rounded to KB)"
  },
  "SPDY_SYN_SIZE": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 20,
    "high": 20000,
    "n_buckets": 50,
    "description": "SPDY: SYN Frame Header Size"
  },
  "SPDY_SYN_RATIO": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com"],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 99,
    "n_buckets": 20,
    "description": "SPDY: SYN Frame Header Ratio (lower better)"
  },
  "SPDY_SYN_REPLY_SIZE": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 16,
    "high": 20000,
    "n_buckets": 50,
    "description": "SPDY: SYN Reply Header Size"
  },
  "SPDY_SYN_REPLY_RATIO": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com"],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 99,
    "n_buckets": 20,
    "description": "SPDY: SYN Reply Header Ratio (lower better)"
  },
  "SPDY_NPN_CONNECT": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "SPDY: NPN Negotiated"
  },
  "SPDY_NPN_JOIN": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "SPDY: Coalesce Succeeded"
  },
  "SPDY_KBREAD_PER_CONN2": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com", "ddamjanovic@mozilla.com"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "bug_numbers": [1520260],
    "kind": "exponential",
    "high": 100000,
    "n_buckets": 50,
    "description": "SPDY: KB read per connection"
  },
  "SPDY_SETTINGS_MAX_STREAMS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 5000,
    "n_buckets": 100,
    "description": "H2: Settings Max Streams parameter"
  },
  "SPDY_SETTINGS_IW": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 50,
    "description": "H2: Settings Initial Window (rounded to KB)"
  },
  "SPDY_GOAWAY_LOCAL": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 32,
    "description": "H2: goaway reason client sent from rfc 7540. 31 is none sent."
  },
  "SPDY_GOAWAY_PEER": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 32,
    "description": "H2: goaway reason from peer from rfc 7540. 31 is none received."
  },
  "SPDY_CONTINUED_HEADERS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "alert_emails": ["necko@mozilla.com", "pmcmanus@mozilla.com"],
    "bug_numbers": [1324855],
    "kind": "exponential",
    "high": 32000000,
    "n_buckets": 75,
    "releaseChannelCollection": "opt-out",
    "description": "Size of continued H2 headers in bytes."
  },
  "HPACK_ELEMENTS_EVICTED_DECOMPRESSOR": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 256,
    "n_buckets": 50,
    "description": "HPACK: Number of items removed from dynamic table to make room for 1 new item",
    "alert_emails": ["necko@mozilla.com", "hurley@mozilla.com"],
    "bug_numbers": [1296280]
  },
  "HPACK_BYTES_EVICTED_DECOMPRESSOR": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 8192,
    "n_buckets": 50,
    "description": "HPACK: Number of bytes removed from dynamic table to make room for 1 new item",
    "alert_emails": ["necko@mozilla.com", "hurley@mozilla.com"],
    "bug_numbers": [1296280]
  },
  "HPACK_BYTES_EVICTED_RATIO_DECOMPRESSOR": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 256,
    "n_buckets": 50,
    "description": "HPACK: Ratio of bytes evicted to bytes added (* 100)",
    "alert_emails": ["necko@mozilla.com", "hurley@mozilla.com"],
    "bug_numbers": [1296280]
  },
  "HPACK_PEAK_COUNT_DECOMPRESSOR": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1024,
    "n_buckets": 50,
    "description": "HPACK: peak number of items in the dynamic table",
    "alert_emails": ["necko@mozilla.com", "hurley@mozilla.com"],
    "bug_numbers": [1296280]
  },
  "HPACK_PEAK_SIZE_DECOMPRESSOR": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 16384,
    "n_buckets": 100,
    "description": "HPACK: peak size in bytes of the table",
    "alert_emails": ["necko@mozilla.com", "hurley@mozilla.com"],
    "bug_numbers": [1296280]
  },
  "HPACK_ELEMENTS_EVICTED_COMPRESSOR": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 256,
    "n_buckets": 50,
    "description": "HPACK: Number of items removed from dynamic table to make room for 1 new item",
    "alert_emails": ["necko@mozilla.com", "hurley@mozilla.com"],
    "bug_numbers": [1296280]
  },
  "HPACK_BYTES_EVICTED_COMPRESSOR": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 8192,
    "n_buckets": 50,
    "description": "HPACK: Number of bytes removed from dynamic table to make room for 1 new item",
    "alert_emails": ["necko@mozilla.com", "hurley@mozilla.com"],
    "bug_numbers": [1296280]
  },
  "HPACK_BYTES_EVICTED_RATIO_COMPRESSOR": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 256,
    "n_buckets": 50,
    "description": "HPACK: Ratio of bytes evicted to bytes added (* 100)",
    "alert_emails": ["necko@mozilla.com", "hurley@mozilla.com"],
    "bug_numbers": [1296280]
  },
  "HPACK_PEAK_COUNT_COMPRESSOR": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1024,
    "n_buckets": 50,
    "description": "HPACK: peak number of items in the dynamic table",
    "alert_emails": ["necko@mozilla.com", "hurley@mozilla.com"],
    "bug_numbers": [1296280]
  },
  "HPACK_PEAK_SIZE_COMPRESSOR": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 16384,
    "n_buckets": 100,
    "description": "HPACK: peak size in bytes of the table",
    "alert_emails": ["necko@mozilla.com", "hurley@mozilla.com"],
    "bug_numbers": [1296280]
  },
  "HTTP2_FAIL_BEFORE_SETTINGS": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "Whether an HTTP/2 session failed because the peer did not handshake properly",
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [1050329]
  },
  "HTTP_CHANNEL_DISPOSITION" : {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com"],
    "bug_numbers": [1341128],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 16,
    "releaseChannelCollection": "opt-out",
    "description": "Channel Disposition: 0=Cancel, 1=Disk, 2=NetOK, 3=NetEarlyFail, 4=NetlateFail, +8 for HTTPS"
  },
  "HTTP_CHANNEL_DISPOSITION_UPGRADE" : {
    "record_in_processes": ["main"],
    "alert_emails": ["necko@mozilla.com", "seceng-telemetry@mozilla.com", "jkt@mozilla.com"],
    "bug_numbers": [1440701],
    "expires_in_version": "70",
    "kind": "categorical",
    "keyed": true,
    "releaseChannelCollection": "opt-out",
    "description": "Upgrading display content Channel Disposition",
    "labels": ["cancel", "disk", "netOk", "netEarlyFail", "netLateFail"]
  },
  "HTTP_CHANNEL_ONSTART_SUCCESS" : {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "Successfully started HTTP channels",
    "bug_numbers": [1473333],
    "alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"]
  },
  "HTTP_CONNECTION_ENTRY_CACHE_HIT_1" : {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "Fraction of sockets that used a nsConnectionEntry with history - size 300."
  },
  "HTTP_CACHE_DISPOSITION_2_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 5,
    "description": "HTTP Cache v2 Hit, Reval, Failed-Reval, Miss"
  },
  "HTTP_CACHE_ENTRY_RELOAD_TIME": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 900000,
    "n_buckets": 50,
    "description": "Time before we reload an HTTP cache entry again to memory"
  },
  "HTTP_CACHE_ENTRY_ALIVE_TIME": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 7200000,
    "n_buckets": 50,
    "description": "Time for which an HTTP cache entry is kept warmed in memory"
  },
  "HTTP_CACHE_ENTRY_REUSE_COUNT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 20,
    "n_buckets": 19,
    "description": "Reuse count of an HTTP cache entry warmed in memory"
  },
  "HTTP_OFFLINE_CACHE_DOCUMENT_LOAD": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "Rate of page load from offline cache"
  },
  "HTTP_CACHE_IO_QUEUE_2_OPEN_PRIORITY": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["hbambas@mozilla.com"],
    "bug_numbers": [1294183],
    "expires_in_version": "55",
    "kind": "enumerated",
    "n_values": 10,
    "description": "HTTP Cache IO queue length"
  },
  "HTTP_CACHE_IO_QUEUE_2_READ_PRIORITY": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["hbambas@mozilla.com"],
    "bug_numbers": [1294183],
    "expires_in_version": "55",
    "kind": "enumerated",
    "n_values": 10,
    "description": "HTTP Cache IO queue length"
  },
  "HTTP_CACHE_IO_QUEUE_2_MANAGEMENT": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["hbambas@mozilla.com"],
    "bug_numbers": [1294183],
    "expires_in_version": "55",
    "kind": "enumerated",
    "n_values": 10,
    "description": "HTTP Cache IO queue length"
  },
  "HTTP_CACHE_IO_QUEUE_2_OPEN": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["hbambas@mozilla.com"],
    "bug_numbers": [1294183],
    "expires_in_version": "55",
    "kind": "enumerated",
    "n_values": 10,
    "description": "HTTP Cache IO queue length"
  },
  "HTTP_CACHE_IO_QUEUE_2_READ": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["hbambas@mozilla.com"],
    "bug_numbers": [1294183],
    "expires_in_version": "55",
    "kind": "enumerated",
    "n_values": 10,
    "description": "HTTP Cache IO queue length"
  },
  "HTTP_CACHE_IO_QUEUE_2_WRITE": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["hbambas@mozilla.com"],
    "bug_numbers": [1294183],
    "expires_in_version": "55",
    "kind": "enumerated",
    "n_values": 10,
    "description": "HTTP Cache IO queue length"
  },
  "HTTP_CACHE_IO_QUEUE_2_WRITE_PRIORITY": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["hbambas@mozilla.com"],
    "bug_numbers": [1294183],
    "expires_in_version": "55",
    "kind": "enumerated",
    "n_values": 10,
    "description": "HTTP Cache IO queue length"
  },
  "HTTP_CACHE_IO_QUEUE_2_INDEX": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["hbambas@mozilla.com"],
    "bug_numbers": [1294183],
    "expires_in_version": "55",
    "kind": "enumerated",
    "n_values": 10,
    "description": "HTTP Cache IO queue length"
  },
  "HTTP_CACHE_IO_QUEUE_2_EVICT": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["hbambas@mozilla.com"],
    "bug_numbers": [1294183],
    "expires_in_version": "55",
    "kind": "enumerated",
    "n_values": 10,
    "description": "HTTP Cache IO queue length"
  },
  "CACHE_DEVICE_SEARCH_2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time to search cache (ms)"
  },
  "CACHE_OFFLINE_SEARCH_2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time to search offline cache (ms)"
  },
  "TRANSACTION_WAIT_TIME_HTTP": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 5000,
    "n_buckets": 100,
    "description": "Time from submission to dispatch of HTTP transaction (ms)"
  },
  "TRANSACTION_WAIT_TIME_SPDY": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 5000,
    "n_buckets": 100,
    "description": "Time from submission to dispatch of SPDY transaction (ms)"
  },
  "HTTP_SAW_QUIC_ALT_PROTOCOL": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "Fraction of responses with a quic alt-protocol advertisement."
  },
  "HTTP_CONTENT_ENCODING": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 6,
    "description": "encoding removed: 0=unknown, 1=gzip, 2=deflate, 3=brotli"
  },
  "CACHE_LM_INCONSISTENT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "Cache discovered inconsistent last-modified entry"
  },
  "CACHE_SERVICE_LOCK_WAIT_2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms)"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock on the main thread (ms)"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSSETDISKSMARTSIZECALLBACK_NOTIFY": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSSETDISKSMARTSIZECALLBACK_NOTIFY"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSPROCESSREQUESTEVENT_RUN": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSPROCESSREQUESTEVENT_RUN"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSOUTPUTSTREAMWRAPPER_LAZYINIT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSOUTPUTSTREAMWRAPPER_LAZYINIT"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSOUTPUTSTREAMWRAPPER_CLOSEINTERNAL": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSOUTPUTSTREAMWRAPPER_CLOSEINTERNAL"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSOUTPUTSTREAMWRAPPER_RELEASE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSOUTPUTSTREAMWRAPPER_RELEASE"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCOMPRESSOUTPUTSTREAMWRAPPER_RELEASE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCOMPRESSOUTPUTSTREAMWRAPPER_RELEASE"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSINPUTSTREAMWRAPPER_LAZYINIT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSINPUTSTREAMWRAPPER_LAZYINIT"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSINPUTSTREAMWRAPPER_CLOSEINTERNAL": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSINPUTSTREAMWRAPPER_CLOSEINTERNAL"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSINPUTSTREAMWRAPPER_RELEASE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSINPUTSTREAMWRAPPER_RELEASE"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSDECOMPRESSINPUTSTREAMWRAPPER_RELEASE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSDECOMPRESSINPUTSTREAMWRAPPER_RELEASE"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHESERVICE_SHUTDOWN": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHESERVICE_SHUTDOWN"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHESERVICE_SETOFFLINECACHEENABLED": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHESERVICE_SETOFFLINECACHEENABLED"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHESERVICE_SETOFFLINECACHECAPACITY": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHESERVICE_SETOFFLINECACHECAPACITY"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHESERVICE_SETMEMORYCACHE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHESERVICE_SETMEMORYCACHE"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHESERVICE_SETDISKSMARTSIZE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHESERVICE_SETDISKSMARTSIZE"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHESERVICE_SETDISKCACHEMAXENTRYSIZE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHESERVICE_SETDISKCACHEMAXENTRYSIZE"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHESERVICE_SETMEMORYCACHEMAXENTRYSIZE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHESERVICE_SETMEMORYCACHEMAXENTRYSIZE"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHESERVICE_SETDISKCACHEENABLED": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHESERVICE_SETDISKCACHEENABLED"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHESERVICE_SETDISKCACHECAPACITY": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHESERVICE_SETDISKCACHECAPACITY"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHESERVICE_OPENCACHEENTRY": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHESERVICE_OPENCACHEENTRY"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHESERVICE_ONPROFILESHUTDOWN": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHESERVICE_ONPROFILESHUTDOWN"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHESERVICE_ONPROFILECHANGED": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHESERVICE_ONPROFILECHANGED"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHESERVICE_ISSTORAGEENABLEDFORPOLICY": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHESERVICE_ISSTORAGEENABLEDFORPOLICY"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHESERVICE_GETCACHEIOTARGET": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHESERVICE_GETCACHEIOTARGET"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHESERVICE_EVICTENTRIESFORCLIENT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHESERVICE_EVICTENTRIESFORCLIENT"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHESERVICE_DISKDEVICEHEAPSIZE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHESERVICE_DISKDEVICEHEAPSIZE"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHESERVICE_CLOSEALLSTREAMS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHESERVICE_CLOSEALLSTREAMS"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_DOOM": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_DOOM"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_SETPREDICTEDDATASIZE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_SETPREDICTEDDATASIZE"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_GETDATASIZE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_GETDATASIZE"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_GETSTORAGEDATASIZE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_GETSTORAGEDATASIZE"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_REQUESTDATASIZECHANGE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_REQUESTDATASIZECHANGE"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_SETDATASIZE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_SETDATASIZE"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_OPENINPUTSTREAM": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_OPENINPUTSTREAM"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_OPENOUTPUTSTREAM": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_OPENOUTPUTSTREAM"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_GETCACHEELEMENT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_GETCACHEELEMENT"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_SETCACHEELEMENT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_SETCACHEELEMENT"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_GETSTORAGEPOLICY": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_GETSTORAGEPOLICY"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_SETSTORAGEPOLICY": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_SETSTORAGEPOLICY"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_GETFILE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_GETFILE"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_GETSECURITYINFO": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_GETSECURITYINFO"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_SETSECURITYINFO": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_SETSECURITYINFO"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_DOOMANDFAILPENDINGREQUESTS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_DOOMANDFAILPENDINGREQUESTS"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_MARKVALID": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_MARKVALID"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_CLOSE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_CLOSE"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_GETMETADATAELEMENT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_GETMETADATAELEMENT"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_SETMETADATAELEMENT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_SETMETADATAELEMENT"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_VISITMETADATA": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_VISITMETADATA"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_SETEXPIRATIONTIME": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_SETEXPIRATIONTIME"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_ISSTREAMBASED": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_ISSTREAMBASED"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_GETLASTMODIFIED": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_GETLASTMODIFIED"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_GETEXPIRATIONTIME": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_GETEXPIRATIONTIME"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_GETKEY": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_GETKEY"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_GETFETCHCOUNT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_GETFETCHCOUNT"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_GETDEVICEID": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_GETDEVICEID"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHESERVICE_PROCESSREQUEST": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHESERVICE_PROCESSREQUEST"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHESERVICE_VISITENTRIES": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHESERVICE_VISITENTRIES"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_GETPREDICTEDDATASIZE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_GETPREDICTEDDATASIZE"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_GETLASTFETCHED": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_GETLASTFETCHED"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHEENTRYDESCRIPTOR_GETCLIENTID": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHEENTRYDESCRIPTOR_GETCLIENTID"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSBLOCKONCACHETHREADEVENT_RUN": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSBLOCKONCACHETHREADEVENT_RUN"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSASYNCDOOMEVENT_RUN": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSASYNCDOOMEVENT_RUN"
  },
  "DNT_USAGE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 3,
    "description": "I want to be tracked, I do NOT want to be tracked, DNT unset"
  },
  "DNS_LOOKUP_METHOD2": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 16,
    "releaseChannelCollection": "opt-out",
    "alert_emails": ["necko@mozilla.com", "pmcmanus@mozilla.com"],
    "description": "DNS Lookup Type (hit, renewal, negative-hit, literal, overflow, network-first, network-shared)"
  },
  "DNS_CLEANUP_AGE": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1440,
    "n_buckets": 50,
    "description": "DNS Cache Entry Age at Removal Time (minutes)"
  },
  "DNS_BY_TYPE_CLEANUP_AGE": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1440,
    "alert_emails": ["necko@mozilla.com", "ddamjanovic@mozilla.com"],
    "bug_numbers": [1481251],
    "releaseChannelCollection": "opt-out",
    "n_buckets": 50,
    "description": "DNS Cache Entry Age for by-type queries at Removal Time (minutes)"
  },
  "DNS_PREMATURE_EVICTION": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1440,
    "releaseChannelCollection": "opt-out",
    "alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"],
    "bug_numbers": [1460305],
    "n_buckets": 50,
    "description": "DNS Cache Entry Age at Removal Time of non-expired entries (minutes)"
  },
  "DNS_BY_TYPE_PREMATURE_EVICTION": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1440,
    "releaseChannelCollection": "opt-out",
    "alert_emails": ["necko@mozilla.com", "ddamjanovic@mozilla.com"],
    "bug_numbers": [1481251],
    "n_buckets": 50,
    "description": "DNS Cache Entry Age for by-type queries at Removal Time of non-expired entries (minutes)"
  },
  "DNS_LOOKUP_TIME": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "releaseChannelCollection": "opt-out",
    "alert_emails": ["necko@mozilla.com", "pmcmanus@mozilla.com"],
    "n_buckets": 50,
    "description": "Time for a successful DNS resolution (msec)"
  },
  "DNS_TRR_LOOKUP_TIME": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "releaseChannelCollection": "opt-out",
    "alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"],
    "bug_numbers": [1434852],
    "n_buckets": 50,
    "description": "Time for a completed TRR resolution (msec)"
  },
  "DNS_NATIVE_LOOKUP_TIME": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "releaseChannelCollection": "opt-out",
    "alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"],
    "bug_numbers": [1434852],
    "n_buckets": 50,
    "description": "Time for a completed native name resolution (msec)"
  },
  "DNS_BY_TYPE_FAILED_LOOKUP_TIME": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "releaseChannelCollection": "opt-out",
    "alert_emails": ["necko@mozilla.com", "ddamjanovic@mozilla.com"],
    "bug_numbers": [1481251],
    "n_buckets": 50,
    "description": "Time for a completed by-type resolution that has a negative answer (msec)."
  },
  "DNS_BY_TYPE_SUCCEEDED_LOOKUP_TIME": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "releaseChannelCollection": "opt-out",
    "alert_emails": ["necko@mozilla.com", "ddamjanovic@mozilla.com"],
    "bug_numbers": [1481251],
    "n_buckets": 50,
    "description": "Time for a completed by-type resolution that succeeded (msec)."
  },
  "DNS_NATIVE_QUEUING": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "releaseChannelCollection": "opt-out",
    "alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"],
    "bug_numbers": [1470215],
    "n_buckets": 50,
    "description": "Time in resolve queue waiting to getaddrinfo (msec)"
  },
  "DNS_TRR_RACE2": {
    "record_in_processes": ["main"],
    "alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"],
    "expires_in_version": "never",
    "kind": "categorical",
    "labels": ["TRRFasterBy100", "TRRFasterBy50", "TRRFaster", "NativeFaster", "NativeFasterBy50",
               "NativeFasterBy100"],
    "bug_numbers": [1434852],
    "description": "DNS: TRR parallel resolve racing results"
  },
  "DNS_TRR_COMPARE": {
    "record_in_processes": ["main"],
    "alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"],
    "expires_in_version": "never",
    "kind": "categorical",
    "labels": ["BothWorked", "NativeWorked", "TRRWorked", "BothFailed"],
    "bug_numbers": [1460589],
    "description": "DNS: success distribution when both native and TRR were used"
  },
  "DNS_TRR_FIRST2": {
    "record_in_processes": ["main"],
    "alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"],
    "expires_in_version": "never",
    "kind": "categorical",
    "labels": ["TRR", "NativeAfterTRR", "Native", "BothFailed"],
    "bug_numbers": [1497252],
    "description": "TRR-first mode distribution. 0=Worked, 1=fell back fine after TRR fail, 2=native worked, 3=both failed"
  },
  "DNS_TRR_DISABLED": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "Resolve success rate when in TRR-first and called TRR-disabled (fall-back mode)",
    "bug_numbers": [1472659],
    "alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"]
  },
  "DNS_TRR_BLACKLISTED": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "DNS check for TRR was blocked by blacklist",
    "bug_numbers": [1434852],
    "alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"]
  },
  "DNS_TRR_NS_VERFIFIED": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "TRR managed to verify NS entry",
    "bug_numbers": [1453825],
    "alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"]
  },
  "DNS_TRR_REQUEST_PER_CONN": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 5000,
    "n_buckets": 100,
    "bug_numbers": [1470853],
    "description": "Number of DOH requests per connection"
  },
  "DNS_TRR_SUCCESS": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "categorical",
    "labels": ["Fine", "Timeout", "Bad"],
    "description": "How often TRR (Trusted Recursive Resolver) requests are fine, time-out or error.",
    "bug_numbers": [1497438],
    "alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"]
  },
  "DNS_LOOKUP_ALGORITHM": {
    "record_in_processes": ["main"],
    "alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"],
    "expires_in_version": "never",
    "kind": "categorical",
    "labels": ["nativeOnly", "trrRace", "trrFirst", "trrOnly", "trrShadow"],
    "bug_numbers": [1434852],
    "description": "DNS: lookup algorithm"
  },
  "DNS_LOOKUP_DISPOSITION": {
    "record_in_processes": ["main"],
    "alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"],
    "expires_in_version": "never",
    "kind": "categorical",
    "labels": ["trrOK", "trrFail", "trrAOK", "trrAFail",
	       "trrAAAAOK", "trrAAAAFail", "osOK", "osFail"],
    "bug_numbers": [1434852],
    "description": "DNS: lookup algorithm"
  },
  "DNS_RENEWAL_TIME": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 50,
    "description": "Time for a renewed DNS OS resolution (msec)"
  },
  "DNS_RENEWAL_TIME_FOR_TTL": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 50,
    "description": "Time for a DNS OS resolution (msec) used to get TTL"
  },
  "DNS_FAILED_LOOKUP_TIME": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "releaseChannelCollection": "opt-out",
    "alert_emails": ["necko@mozilla.com", "pmcmanus@mozilla.com"],
    "n_buckets": 50,
    "description": "Time for an unsuccessful DNS OS resolution (msec)"
  },
  "DNS_BLACKLIST_COUNT": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "alert_emails": ["necko@mozilla.com", "pmcmanus@mozilla.com"],
    "kind": "linear",
    "high": 21,
    "n_buckets": 20,
    "description": "The number of unusable addresses reported for each record"
  },
  "REFRESH_DRIVER_TICK" : {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com", "rhunt@mozilla.com"],
    "expires_in_version": "never",
    "description": "Total time spent ticking the refresh driver in milliseconds",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 50
  },
  "PAINT_BUILD_DISPLAYLIST_TIME" : {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com", "mwoodrow@mozilla.com"],
    "expires_in_version": "never",
    "description": "Time spent in building displaylists in milliseconds",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 50
  },
  "PAINT_BUILD_LAYERS_TIME" : {
    "record_in_processes": ["content"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com", "mwoodrow@mozilla.com"],
    "bug_numbers": [1473908],
    "expires_in_version": "never",
    "description": "Time spent in building layers in milliseconds",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 50
  },
  "PAINT_RASTERIZE_TIME" : {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["gfx-telemetry-alerts@mozilla.com", "rhunt@mozilla.com"],
    "expires_in_version": "never",
    "description": "Time spent rasterizing each frame in milliseconds",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 50
  },
  "PREDICTOR_PREDICT_ATTEMPTS": {
    "record_in_processes": ["main"],
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [881804],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000000,
    "n_buckets": 50,
    "description": "Number of times nsINetworkPredictor::Predict is called and attempts to predict"
  },
  "PREDICTOR_LEARN_ATTEMPTS": {
    "record_in_processes": ["main"],
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [881804],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000000,
    "n_buckets": 50,
    "description": "Number of times nsINetworkPredictor::Learn is called and attempts to learn"
  },
  "PREDICTOR_PREDICT_FULL_QUEUE": {
    "record_in_processes": ["main"],
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [881804],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 50,
    "description": "Number of times nsINetworkPredictor::Predict doesn't continue because the queue is full"
  },
  "PREDICTOR_LEARN_FULL_QUEUE": {
    "record_in_processes": ["main"],
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [881804],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 50,
    "description": "Number of times nsINetworkPredictor::Learn doesn't continue because the queue is full"
  },
  "PREDICTOR_WAIT_TIME": {
    "record_in_processes": ["main"],
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [881804],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Amount of time a predictor event waits in the queue (ms)"
  },
  "PREDICTOR_PREDICT_WORK_TIME": {
    "record_in_processes": ["main"],
    "bug_numbers": [881804],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Amount of time spent doing the work for predict (ms)",
    "alert_emails": ["necko@mozilla.com"]
  },
  "PREDICTOR_LEARN_WORK_TIME": {
    "record_in_processes": ["main"],
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [881804],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Amount of time spent doing the work for learn (ms)"
  },
  "PREDICTOR_TOTAL_PREDICTIONS": {
    "record_in_processes": ["main"],
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [881804],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000000,
    "n_buckets": 50,
    "description": "How many actual predictions (preresolves, preconnects, ...) happen"
  },
  "PREDICTOR_TOTAL_PREFETCHES": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [1016628],
    "kind": "exponential",
    "high": 1000000,
    "n_buckets": 50,
    "description": "How many actual prefetches happen"
  },
  "PREDICTOR_TOTAL_PREFETCHES_USED": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [1016628],
    "kind": "exponential",
    "high": 1000000,
    "n_buckets": 50,
    "description": "How many prefetches are actually used by a channel"
  },
  "PREDICTOR_PREFETCH_TIME": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [1016628],
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "How long it takes from OnStartRequest to OnStopRequest for a prefetch"
  },
  "PREDICTOR_TOTAL_PRECONNECTS": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [881804],
    "kind": "exponential",
    "high": 1000000,
    "n_buckets": 50,
    "description": "How many actual preconnects happen"
  },
  "PREDICTOR_TOTAL_PRECONNECTS_CREATED": {
    "record_in_processes": ["main"],
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [881804],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000000,
    "n_buckets": 50,
    "description": "How many preconnects actually created a speculative socket"
  },
  "PREDICTOR_TOTAL_PRECONNECTS_USED": {
    "record_in_processes": ["main"],
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [881804],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000000,
    "n_buckets": 50,
    "description": "How many preconnects actually created a used speculative socket"
  },
  "PREDICTOR_TOTAL_PRECONNECTS_UNUSED": {
    "record_in_processes": ["main"],
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [881804],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000000,
    "n_buckets": 50,
    "description": "How many preconnects needlessly created a speculative socket"
  },
  "PREDICTOR_TOTAL_PRERESOLVES": {
    "record_in_processes": ["main"],
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [881804],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000000,
    "n_buckets": 50,
    "description": "How many actual preresolves happen"
  },
  "PREDICTOR_PREDICTIONS_CALCULATED": {
    "record_in_processes": ["main"],
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [881804],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000000,
    "n_buckets": 50,
    "description": "How many prediction calculations are performed"
  },
  "PREDICTOR_GLOBAL_DEGRADATION": {
    "record_in_processes": ["main"],
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [881804],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 100,
    "n_buckets": 50,
    "description": "The global degradation calculated"
  },
  "PREDICTOR_SUBRESOURCE_DEGRADATION": {
    "record_in_processes": ["main"],
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [881804],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 100,
    "n_buckets": 50,
    "description": "The degradation calculated for a subresource"
  },
  "PREDICTOR_BASE_CONFIDENCE": {
    "record_in_processes": ["main"],
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [881804],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 100,
    "n_buckets": 50,
    "description": "The base confidence calculated for a subresource"
  },
  "PREDICTOR_CONFIDENCE": {
    "record_in_processes": ["main"],
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [881804],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 100,
    "n_buckets": 50,
    "description": "The final confidence calculated for a subresource"
  },
  "PREDICTOR_PREDICT_TIME_TO_ACTION": {
    "record_in_processes": ["main"],
    "bug_numbers": [881804],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "How long it takes from the time Predict() is called to the time we take action",
    "alert_emails": ["necko@mozilla.com"]
  },
  "PREDICTOR_PREDICT_TIME_TO_INACTION": {
    "record_in_processes": ["main"],
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [881804],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "How long it takes from the time Predict() is called to the time we figure out there's nothing to do"
  },
  "PREDICTOR_PREFETCH_DECISION_REASON": {
    "record_in_processes": ["main"],
    "expires_in_version": "65",
    "kind": "enumerated",
    "n_values": 15,
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [1409542, 1430322],
    "description": "Why the predictor determined a particular resource was eligible for future prefetch (or not). See PrefetchDecisionReason in Predictor.cpp for value meanings"
  },
  "PREDICTOR_PREFETCH_IGNORE_REASON": {
    "record_in_processes": ["main"],
    "expires_in_version": "65",
    "kind": "enumerated",
    "n_values": 15,
    "alert_emails": ["hurley@mozilla.com"],
    "bug_numbers": [1409542, 1430322],
    "description": "Why the predictor determined a particular resource that was marked eligible for prefetch should not be prefetched. See PrefetchIgnoreReason in Predictor.cpp for value meanings"
  },
  "HTTPCONNMGR_TOTAL_SPECULATIVE_CONN": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000000,
    "n_buckets": 50,
    "description": "How many speculative http connections are created"
  },
  "HTTPCONNMGR_USED_SPECULATIVE_CONN": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000000,
    "n_buckets": 50,
    "description": "How many speculative http connections are actually used"
  },
  "HTTPCONNMGR_UNUSED_SPECULATIVE_CONN": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000000,
    "n_buckets": 50,
    "description": "How many speculative connections are made needlessly"
  },
  "TAB_COUNT": {
    "record_in_processes": ["main"],
    "alert_emails": ["gijs@mozilla.com"],
    "bug_numbers": [1361855, 1488945],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 100,
    "releaseChannelCollection": "opt-out",
    "description": "Number of tabs opened across all windows, collected at most every 5 minutes whenever the user interacts with the browser in the following ways: open tab/window, page load."
  },
  "TAP_TO_LOAD_IMAGE_SIZE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "50",
    "kind": "exponential",
    "high": 32768,
    "n_buckets": 50,
    "description": "The size of the image being shown, when using tap-to-load images. (kilobytes)",
    "bug_numbers": [1208167]
  },
  "STS_POLL_AND_EVENTS_CYCLE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "The duraion of a socketThread cycle, including polls and pending events. (ms)"
  },
  "STS_NUMBER_OF_PENDING_EVENTS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 2000,
    "n_buckets": 100,
    "description": "Number of pending events per SocketThread cycle."
  },
  "STS_POLL_CYCLE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "The duration of poll. (ms)"
  },
  "STS_POLL_AND_EVENT_THE_LAST_CYCLE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "The duraion of the socketThread cycle during shutdown, including polls and pending events. (ms)"
  },
  "STS_NUMBER_OF_PENDING_EVENTS_IN_THE_LAST_CYCLE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 2000,
    "n_buckets": 100,
    "description": "Number of pending events per SocketThread cycle during shutdown."
  },
  "STS_NUMBER_OF_ONSOCKETREADY_CALLS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 2000,
    "n_buckets": 100,
    "description": "Number of OnSocketReady calls during a single poll."
  },
  "STS_POLL_BLOCK_TIME": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "Time spent blocked on poll (ms)."
  },
  "PRCONNECT_BLOCKING_TIME_NORMAL": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "Time spent blocked in PR_Connect when we are not shutting down and there has been niether a network nor an offline state change in the last 60s (ms)."
  },
  "PRCONNECT_BLOCKING_TIME_SHUTDOWN": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "Time spent blocked in PR_Connect during a shutdown (ms)."
  },
  "PRCONNECT_BLOCKING_TIME_CONNECTIVITY_CHANGE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "Time spent blocked in PR_Connect when there has been the connectiviy change in the last 60s (ms)."
  },
  "PRCONNECT_BLOCKING_TIME_LINK_CHANGE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "Time spent blocked in PR_Connect when there has been a link change in the last 60s (ms)."
  },
  "PRCONNECT_BLOCKING_TIME_OFFLINE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "Time spent blocked in PR_Connect when the offline state has changed in the last 60s (ms)."
  },
  "PRCONNECT_FAIL_BLOCKING_TIME_NORMAL": {
    "record_in_processes": ["main", "content"],
    "bug_numbers": [1257809],
    "alert_emails": ["ddamjanovic@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 100,
    "description": "Time spent blocked in a failed PR_Connect when we are not shutting down and there has been niether a network nor an offline state change in the last 60s (ms)."
  },
  "PRCONNECT_FAIL_BLOCKING_TIME_SHUTDOWN": {
    "record_in_processes": ["main", "content"],
    "bug_numbers": [1257809],
    "alert_emails": ["ddamjanovic@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 100,
    "description": "Time spent blocked in a failed PR_Connect during a shutdown (ms)."
  },
  "PRCONNECT_FAIL_BLOCKING_TIME_CONNECTIVITY_CHANGE": {
    "record_in_processes": ["main", "content"],
    "bug_numbers": [1257809],
    "alert_emails": ["ddamjanovic@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 100,
    "description": "Time spent blocked in a failed PR_Connect when there has been the connectiviy change in the last 60s (ms)."
  },
  "PRCONNECT_FAIL_BLOCKING_TIME_LINK_CHANGE": {
    "record_in_processes": ["main", "content"],
    "bug_numbers": [1257809],
    "alert_emails": ["ddamjanovic@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 100,
    "description": "Time spent blocked in a failed PR_Connect when there has been a link change in the last 60s (ms)."
  },
  "PRCONNECT_FAIL_BLOCKING_TIME_OFFLINE": {
    "record_in_processes": ["main", "content"],
    "bug_numbers": [1257809],
    "alert_emails": ["ddamjanovic@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 100,
    "description": "Time spent blocked in a failed PR_Connect when the offline state has changed in the last 60s (ms)."
  },
  "PRCONNECTCONTINUE_BLOCKING_TIME_NORMAL": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "Time spent blocked in PR_ConnectContinue when we are not shutting down and there has been niether a network nor an offline state change in the last 60s (ms)."
  },
  "PRCONNECTCONTINUE_BLOCKING_TIME_SHUTDOWN": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "Time spent blocked in PR_ConnectContinue during a shutdown (ms)."
  },
  "PRCONNECTCONTINUE_BLOCKING_TIME_CONNECTIVITY_CHANGE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "Time spent blocked in PR_ConnectContinue when there has been the connectivity change in the last 60s (ms)."
  },
  "PRCONNECTCONTINUE_BLOCKING_TIME_LINK_CHANGE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "Time spent blocked in PR_ConnectContinue when there has been a link change in the last 60s (ms)."
  },
  "PRCONNECTCONTINUE_BLOCKING_TIME_OFFLINE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "Time spent blocked in PR_ConnectContinue when the offline state has changed in the last 60s (ms)."
  },
  "PRCLOSE_TCP_BLOCKING_TIME_NORMAL": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "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)."
  },
  "PRCLOSE_TCP_BLOCKING_TIME_SHUTDOWN": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "Time spent blocked in PR_Close during a shutdown (ms)."
  },
  "PRCLOSE_TCP_BLOCKING_TIME_CONNECTIVITY_CHANGE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "Time spent blocked in PR_Close when there has been the connectivity change in the last 60s (ms)."
  },
  "PRCLOSE_TCP_BLOCKING_TIME_LINK_CHANGE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "Time spent blocked in PR_Close when there has been a link change in the last 60s (ms)."
  },
  "PRCLOSE_TCP_BLOCKING_TIME_OFFLINE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "Time spent blocked in PR_Close when the offline state has changed in the last 60s (ms)."
  },
  "PRCLOSE_UDP_BLOCKING_TIME_NORMAL": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "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)."
  },
  "PRCLOSE_UDP_BLOCKING_TIME_SHUTDOWN": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "Time spent blocked in PR_Close during a shutdown (ms)."
  },
  "PRCLOSE_UDP_BLOCKING_TIME_CONNECTIVITY_CHANGE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "Time spent blocked in PR_Close when there has been the connectivity change in the last 60s (ms)."
  },
  "PRCLOSE_UDP_BLOCKING_TIME_LINK_CHANGE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "Time spent blocked in PR_Close when there has been a link change in the last 60s (ms)."
  },
  "PRCLOSE_UDP_BLOCKING_TIME_OFFLINE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 1000,
    "description": "Time spent blocked in PR_Close when the offline state has changed in the last 60s (ms)."
  },
  "IPV4_AND_IPV6_ADDRESS_CONNECTIVITY": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 4,
    "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."
  },
  "NETWORK_CONNECTION_COUNT": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["amarchesini@mozilla.com"],
    "expires_in_version": "58",
    "kind": "count",
    "bug_numbers": [1330255],
    "description": "Number of the use of navigator.connection."
  },
  "NETWORK_SESSION_AT_900FD": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "session reached 900 fd limit sockets",
    "bug_numbers": [1260218],
    "alert_emails": ["necko@mozilla.com"]
  },
  "NETWORK_PROBE_MAXCOUNT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "linear",
    "low": 50,
    "high": 1000,
    "n_buckets": 10,
    "description": "Result of nsSocketTransportService::ProbeMaxCount()",
    "bug_numbers": [1260218],
    "alert_emails": ["necko@mozilla.com"]
  },
  "FIND_PLUGINS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["perf-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent scanning filesystem for plugins (ms)"
  },
  "PLUGIN_HANG_UI_USER_RESPONSE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 3,
    "description": "User response to Plugin Hang UI"
  },
  "PLUGIN_HANG_UI_DONT_ASK": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "boolean",
    "description": "Whether the user has requested not to see the Plugin Hang UI again"
  },
  "PLUGIN_HANG_UI_RESPONSE_TIME": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 20,
    "description": "Time spent in Plugin Hang UI (ms)"
  },
  "PLUGIN_HANG_TIME": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 20,
    "description": "Value of dom.ipc.plugins.hangUITimeoutSecs plus time spent in Plugin Hang UI (ms)"
  },
  "PLUGIN_LOAD_METADATA": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["perf-telemetry-alerts@mozilla.com"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 5000,
    "n_buckets": 20,
    "description": "Time spent loading plugin DLL and obtaining metadata (ms)"
  },
  "PLUGIN_SHUTDOWN_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 5000,
    "n_buckets": 20,
    "description": "Time spent shutting down plugins (ms)"
  },
  "MOZ_SQLITE_OPEN_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "default",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite open() (ms)"
  },
  "MOZ_SQLITE_OPEN_MAIN_THREAD_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite open() (ms) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_TRUNCATE_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite truncate() (ms) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_TRUNCATE_MAIN_THREAD_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite truncate() (ms) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_OTHER_READ_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite read() (ms) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_OTHER_READ_MAIN_THREAD_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite read() (ms) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_PLACES_READ_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite read() (ms) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_PLACES_READ_MAIN_THREAD_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite read() (ms) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_COOKIES_OPEN_READAHEAD_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on cookie DB open with readahead (ms)"
  },
  "MOZ_SQLITE_COOKIES_READ_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite read() (ms) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_COOKIES_BLOCK_MAIN_THREAD_MS_V2": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "exponential",
    "alert_emails": ["necko@mozilla.com", "junior@mozilla.com"],
    "bug_numbers": [870460],
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on blocking main thread by startup cookie database read (ms), only for blocking case"
  },
  "MOZ_SQLITE_COOKIES_TIME_TO_BLOCK_MAIN_THREAD_MS": {
    "record_in_processes": ["main"],
    "expires_in_version": "never",
    "kind": "exponential",
    "alert_emails": ["necko@mozilla.com", "junior@mozilla.com"],
    "bug_numbers": [1413839],
    "high": 10000,
    "n_buckets": 30,
    "description": "How long (ms) after we finished reading the cookie db until the first cookie request came in (0 implies we blocked the main thread)"
  },
  "MOZ_SQLITE_COOKIES_READ_MAIN_THREAD_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite read() (ms) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_WEBAPPS_READ_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite read() (ms) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_WEBAPPS_READ_MAIN_THREAD_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite read() (ms) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_OTHER_WRITE_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite write() (ms) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_OTHER_WRITE_MAIN_THREAD_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite write() (ms) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_PLACES_WRITE_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "default",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite write() (ms)"
  },
  "MOZ_SQLITE_PLACES_WRITE_MAIN_THREAD_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite write() (ms) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_COOKIES_WRITE_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite write() (ms) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_COOKIES_WRITE_MAIN_THREAD_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite write() (ms) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_WEBAPPS_WRITE_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite write() (ms) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_WEBAPPS_WRITE_MAIN_THREAD_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite write() (ms) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_OTHER_SYNC_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite fsync() (ms)"
  },
  "MOZ_SQLITE_OTHER_SYNC_MAIN_THREAD_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite fsync() (ms)"
  },
  "MOZ_SQLITE_PLACES_SYNC_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite fsync() (ms)"
  },
  "MOZ_SQLITE_PLACES_SYNC_MAIN_THREAD_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite fsync() (ms)"
  },
  "MOZ_SQLITE_COOKIES_SYNC_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite fsync() (ms)"
  },
  "MOZ_SQLITE_COOKIES_SYNC_MAIN_THREAD_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite fsync() (ms)"
  },
  "MOZ_SQLITE_WEBAPPS_SYNC_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite fsync() (ms)"
  },
  "MOZ_SQLITE_WEBAPPS_SYNC_MAIN_THREAD_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 3000,
    "n_buckets": 10,
    "description": "Time spent on SQLite fsync() (ms)"
  },
  "MOZ_SQLITE_OTHER_READ_B": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "default",
    "kind": "linear",
    "high": 32768,
    "n_buckets": 3,
    "description": "SQLite read() (bytes)"
  },
  "MOZ_SQLITE_PLACES_READ_B": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "linear",
    "high": 32768,
    "n_buckets": 3,
    "description": "SQLite read() (bytes) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_COOKIES_READ_B": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "linear",
    "high": 32768,
    "n_buckets": 3,
    "description": "SQLite read() (bytes) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_WEBAPPS_READ_B": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "linear",
    "high": 32768,
    "n_buckets": 3,
    "description": "SQLite read() (bytes) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_PLACES_WRITE_B": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "linear",
    "high": 32768,
    "n_buckets": 3,
    "description": "SQLite write (bytes) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_COOKIES_WRITE_B": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "linear",
    "high": 32768,
    "n_buckets": 3,
    "description": "SQLite write (bytes) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_WEBAPPS_WRITE_B": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "40",
    "kind": "linear",
    "high": 32768,
    "n_buckets": 3,
    "description": "SQLite write (bytes) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_SQLITE_OTHER_WRITE_B": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "default",
    "kind": "linear",
    "high": 32768,
    "n_buckets": 3,
    "description": "SQLite write (bytes)"
  },
  "MOZ_STORAGE_ASYNC_REQUESTS_MS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["perf-telemetry-alerts@mozilla.com"],
    "expires_in_version": "40",
    "kind": "exponential",
    "high": 32768,
    "n_buckets": 20,
    "description": "mozStorage async requests completion (ms) *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "MOZ_STORAGE_ASYNC_REQUESTS_SUCCESS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["perf-telemetry-alerts@mozilla.com"],
    "expires_in_version": "40",
    "kind": "boolean",
    "description": "mozStorage async requests success *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "STARTUP_MEASUREMENT_ERRORS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "default",
    "kind": "enumerated",
    "n_values": 16,
    "description": "Flags errors in startup calculation()"
  },
  "NETWORK_DISK_CACHE_TRASHRENAME": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 10,
    "description": "Time spent renaming bad Cache to Cache.Trash (ms)"
  },
  "NETWORK_DISK_CACHE_DELETEDIR": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 10,
    "description": "Time spent deleting disk cache (ms)"
  },
  "NETWORK_DISK_CACHE_DELETEDIR_SHUTDOWN": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 10,
    "description": "Time spent during showdown stopping thread deleting old disk cache (ms)"
  },
  "NETWORK_DISK_CACHE_SHUTDOWN": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 10,
    "description": "Total Time spent (ms) during disk cache showdown"
  },
  "NETWORK_DISK_CACHE_SHUTDOWN_V2": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 10,
    "description": "Total Time spent (ms) during disk cache showdown [cache2]"
  },
  "NETWORK_DISK_CACHE_SHUTDOWN_CLEAR_PRIVATE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 10,
    "description": "Time spent (ms) during showdown deleting disk cache for 'clear private data' option"
  },
  "NETWORK_DISK_CACHE2_SHUTDOWN_CLEAR_PRIVATE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 10000,
    "n_buckets": 10,
    "description": "Time spent (ms) during showdown deleting disk cache v2 for 'clear private data' option"
  },
  "NETWORK_ID": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["necko@mozilla.com"],
    "bug_numbers": [1240932],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 6,
    "description": "Network identification (0=None, 1=New, 2=Same)"
  },
  "IDLE_NOTIFY_IDLE_MS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["froydnj@mozilla.com"],
    "bug_numbers": [731004],
    "expires_in_version": "default",
    "kind": "exponential",
    "high": 5000,
    "n_buckets": 10,
    "description": "Time spent checking for and notifying listeners that the user is idle (ms)"
  },
  "URLCLASSIFIER_LOOKUP_TIME_2": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "bug_numbers": [1336376],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "exponential",
    "high": 5000,
    "n_buckets": 30,
    "description": "Time spent per dbservice lookup (ms)"
  },
  "URLCLASSIFIER_SHUTDOWN_TIME": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 50,
    "bug_numbers": [1315140],
    "description": "Time spent per dbservice shutdown (ms)"
  },
  "URLCLASSIFIER_CL_CHECK_TIME": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "exponential",
    "high": 500,
    "n_buckets": 10,
    "description": "Time spent per classifier lookup (ms)"
  },
  "URLCLASSIFIER_CL_KEYED_UPDATE_TIME": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "keyed": true,
    "kind": "exponential",
    "low": 20,
    "high": 120000,
    "n_buckets": 30,
    "bug_numbers": [1315893],
    "description": "Time spent per classifier update (ms), keyed by the name of the provider."
  },
  "URLCLASSIFIER_ASYNC_CLASSIFYLOCAL_TIME": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "bug_numbers": [1341506],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 30,
    "description": "Time spent per AsyncClassifyLocalWithTables (ms)"
  },
  "URLCLASSIFIER_PS_FILELOAD_TIME": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 10,
    "description": "Time spent loading PrefixSet from file (ms)"
  },
  "URLCLASSIFIER_PS_FALLOCATE_TIME": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 10,
    "description": "Time spent fallocating PrefixSet (ms)"
  },
  "URLCLASSIFIER_PS_CONSTRUCT_TIME": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "exponential",
    "high": 5000,
    "n_buckets": 15,
    "description": "Time spent constructing PrefixSet from DB (ms)"
  },
  "URLCLASSIFIER_VLPS_FILELOAD_TIME": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 10,
    "bug_numbers": [1283007],
    "description": "Time spent loading Variable-Length PrefixSet from file (ms)"
  },
  "URLCLASSIFIER_VLPS_FALLOCATE_TIME": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 10,
    "bug_numbers": [1283007],
    "description": "Time spent fallocating Variable-Length PrefixSet (ms)"
  },
  "URLCLASSIFIER_VLPS_CONSTRUCT_TIME": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "exponential",
    "high": 5000,
    "n_buckets": 15,
    "bug_numbers": [1336865],
    "description": "Time spent constructing Variable-Length PrefixSet from file (ms)"
  },
  "URLCLASSIFIER_VLPS_LOAD_CORRUPT": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "boolean",
    "bug_numbers": [1305581],
    "description": "Whether or not a variable-length prefix set loaded from disk is corrupted (true = file corrupted)."
  },
  "URLCLASSIFIER_VLPS_METADATA_CORRUPT": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "boolean",
    "bug_numbers": [1433636],
    "description": "Whether or not the metadata for a variable-length prefix set loaded from disk is corrupted (true = file corrupted)."
  },
  "URLCLASSIFIER_VLPS_LONG_PREFIXES": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "63",
    "releaseChannelCollection": "opt-out",
    "kind": "enumerated",
    "n_values": 32,
    "bug_numbers": [1322523],
    "description": "Length of the first 20 long prefixes (> 4 bytes) received in a Safe Browsing V4 table during an update."
  },
  "URLCLASSIFIER_LC_PREFIXES": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 1500000,
    "n_buckets": 15,
    "description": "Size of the prefix cache in entries"
  },
  "URLCLASSIFIER_LC_COMPLETIONS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 200,
    "n_buckets": 10,
    "description": "Size of the completion cache in entries"
  },
  "URLCLASSIFIER_UPDATE_REMOTE_NETWORK_ERROR": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "enumerated",
    "keyed": true,
    "n_values": 30,
    "bug_numbers": [1332780],
    "description": "Network error from SafeBrowsing database updates. (0=sucess, 1=unknown error, 2=already connected, 3=not connected, 4=connection refused,5=net timeout, 6=offline, 7=port access not allowed, 8=net reset, 9=net interrupt, 10=proxy connection refused,11=partial transfer,12=inadequate security,13=unknown host,14=dns lookup queue full,15=unknown proxy host"
  },
  "URLCLASSIFIER_UPDATE_REMOTE_STATUS2": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "enumerated",
    "keyed": true,
    "n_values": 16,
    "bug_numbers": [1311910],
    "description": "Server HTTP status code from SafeBrowsing database updates. (0=1xx, 1=200, 2=2xx, 3=204, 4=3xx, 5=400, 6=4xx, 7=403, 8=404, 9=408, 10=413, 11=5xx, 12=502|504|511, 13=503, 14=505, 15=Other). Keyed by provider"
  },
  "URLCLASSIFIER_UPDATE_SERVER_RESPONSE_TIME": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "exponential",
    "keyed": true,
    "high": 100000,
    "n_buckets": 30,
    "bug_numbers": [1336903],
    "description": "Server response time to update request (ms). Keyed by provider"
  },
  "URLCLASSIFIER_UPDATE_TIMEOUT": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "enumerated",
    "keyed": true,
    "n_values": 4,
    "bug_numbers": [1336904],
    "description": " Whether or not an update timed out (0 = no timeout, 1 = server respond timeout, 2 = overall timeout). Keyed by provider"
  },
  "URLCLASSIFIER_COMPLETE_REMOTE_STATUS2": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "enumerated",
    "keyed": true,
    "n_values": 16,
    "bug_numbers": [1150921, 1311926],
    "description": "Server HTTP status code from remote SafeBrowsing gethash lookups. (0=1xx, 1=200, 2=2xx, 3=204, 4=3xx, 5=400, 6=4xx, 7=403, 8=404, 9=408, 10=413, 11=5xx, 12=502|504|511, 13=503, 14=505, 15=Other). Keyed by provider"
  },
  "URLCLASSIFIER_COMPLETION_ERROR": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "enumerated",
    "n_values": 16,
    "bug_numbers": [1276826],
    "description": "SafeBrowsing v4 hash completion error (0 = success, 1 = parsing failure, 2 = unknown threat type)"
  },
  "URLCLASSIFIER_COMPLETE_TIMEOUT2": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "boolean",
    "keyed": true,
    "bug_numbers": [1172688, 1311926],
    "description": "This metric is recorded every time a gethash lookup is performed, `true` is recorded if the lookup times out. Keyed by provider"
  },
  "URLCLASSIFIER_COMPLETE_SERVER_RESPONSE_TIME": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "exponential",
    "keyed": true,
    "high": 5000,
    "n_buckets": 15,
    "bug_numbers": [1336903],
    "description": "Server response time to getHash request (ms). Keyed by provider"
  },
  "URLCLASSIFIER_UPDATE_ERROR": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "enumerated",
    "keyed": true,
    "n_values": 16,
    "bug_numbers": [1311910],
    "description": "Whether or not an error was encountered while processing a Safe Browsing update (0 = success, 1 = unspecified error, 2 = addition of an already existing prefix, 3 = parser got into an infinite loop, 4 = removal index out of bounds, 5 = checksum mismatch, 6 = missing checksum, 7 = update while shutdown, 8 = cannot find table, 9 = build prefix failure, 10 = write disk failure, 11 = protocol parser error). Keyed by provider"
  },
  "URLCLASSIFIER_POSITIVE_CACHE_DURATION": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "63",
    "releaseChannelCollection": "opt-out",
    "kind": "exponential",
    "high": 86400000,
    "n_buckets": 50,
    "bug_numbers": [1338082],
    "description": "Positive cache duration (ms) received in fullhash response from any v4 provider"
  },
  "URLCLASSIFIER_NEGATIVE_CACHE_DURATION": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["francois@mozilla.com", "safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "63",
    "releaseChannelCollection": "opt-out",
    "kind": "exponential",
    "high": 86400000,
    "n_buckets": 50,
    "bug_numbers": [1338082],
    "description": "Negative cache duration (ms) received in fullhash response from any v4 provider"
  },
  "URLCLASSIFIER_THREATHIT_NETWORK_ERROR": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["tnguyen@mozilla.com, safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "enumerated",
    "n_values": 30,
    "bug_numbers": [1351147],
    "description": "Whether or not an error was encountered while sending a Safe Browsing ThreatHit report. (0=sucess, 1=unknown error, 2=already connected, 3=not connected, 4=connection refused,5=net timeout, 6=offline, 7=port access not allowed, 8=net reset, 9=net interrupt, 10=proxy connection refused, 11=partial transfer, 12=inadequate security, 13=unknown host, 14=dns lookup queue full, 15=unknown proxy host)"
  },
  "URLCLASSIFIER_THREATHIT_REMOTE_STATUS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["tnguyen@mozilla.com, safebrowsing-telemetry@mozilla.org"],
    "expires_in_version": "never",
    "releaseChannelCollection": "opt-out",
    "kind": "enumerated",
    "n_values": 16,
    "bug_numbers": [1351147],
    "description": "Server HTTP status code from Safe Browsing ThreatHit report. (0=1xx, 1=200, 2=2xx, 3=204, 4=3xx, 5=400, 6=4xx, 7=403, 8=404, 9=408, 10=413, 11=5xx, 12=502|504|511, 13=503, 14=505, 15=Other)"
  },

  "CSP_DOCUMENTS_COUNT": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["seceng-telemetry@mozilla.com"],
    "bug_numbers": [1252829],
    "expires_in_version": "65",
    "kind": "count",
    "description": "Number of unique pages that contain a CSP"
  },
  "CSP_UNSAFE_INLINE_DOCUMENTS_COUNT": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["seceng-telemetry@mozilla.com"],
    "bug_numbers": [1252829],
    "expires_in_version": "65",
    "kind": "count",
    "description": "Number of unique pages that contain an unsafe-inline CSP directive"
  },
  "CSP_UNSAFE_EVAL_DOCUMENTS_COUNT": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["seceng-telemetry@mozilla.com"],
    "bug_numbers": [1252829],
    "expires_in_version": "65",
    "kind": "count",
    "description": "Number of unique pages that contain an unsafe-eval CSP directive"
  },
  "PLACES_DATABASE_CORRUPTION_HANDLING_STAGE": {
    "record_in_processes": ["main"],
    "alert_emails": ["mbonardo@mozilla.com", "mbanner@mozilla.com"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 6,
    "releaseChannelCollection": "opt-out",
    "bug_numbers": [1356812],
    "description": "PLACES: stage reached when trying to fix a database corruption , see Places::Database::eCorruptDBReplaceStatus"
  },
  "PLACES_PAGES_COUNT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 1000,
    "high": 150000,
    "n_buckets": 20,
    "releaseChannelCollection": "opt-out",
    "description": "PLACES: Number of unique pages"
  },
  "PLACES_MOST_RECENT_EXPIRED_VISIT_DAYS": {
    "record_in_processes": ["main", "content"],
    "alert_emails": ["mbonardo@mozilla.com", "mbanner@mozilla.com"],
    "expires_in_version": "never",
    "kind": "linear",
    "low": 30,
    "high": 730,
    "n_buckets": 12,
    "description": "PLACES: the most recent expired visit in days"
  },
  "PLACES_BOOKMARKS_COUNT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 100,
    "high": 8000,
    "n_buckets": 15,
    "releaseChannelCollection": "opt-out",
    "description": "PLACES: Number of bookmarks"
  },
  "PLACES_TAGS_COUNT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 200,
    "n_buckets": 10,
    "description": "PLACES: Number of tags"
  },
  "PLACES_KEYWORDS_COUNT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "high": 200,
    "n_buckets": 10,
    "description": "PLACES: Number of keywords"
  },
  "PLACES_BACKUPS_DAYSFROMLAST": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 15,
    "description": "PLACES: Days from last backup"
  },
  "PLACES_BACKUPS_BOOKMARKSTREE_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 50,
    "high": 2000,
    "n_buckets": 10,
    "description": "PLACES: Time to build the bookmarks tree"
  },
  "PLACES_BACKUPS_TOJSON_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "default",
    "kind": "exponential",
    "low": 50,
    "high": 2000,
    "n_buckets": 10,
    "description": "PLACES: Time to convert and write the backup"
  },
  "PLACES_EXPORT_TOHTML_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 50,
    "high": 2000,
    "n_buckets": 10,
    "description": "PLACES: Time to convert and write bookmarks.html"
  },
  "PLACES_FAVICON_ICO_SIZES": {
    "record_in_processes": ["main", "content"],
    "expires_in_version" : "never",
    "kind": "exponential",
    "high": 524288,
    "n_buckets" : 100,
    "description": "PLACES: Size of the ICO favicon files loaded from the web (Bytes)"
  },
  "PLACES_FAVICON_PNG_SIZES": {
    "record_in_processes": ["main", "content"],
    "expires_in_version" : "never",
    "kind": "exponential",
    "high": 524288,
    "n_buckets" : 100,
    "description": "PLACES: Size of the PNG favicon files loaded from the web (Bytes)"
  },
  "PLACES_FAVICON_GIF_SIZES": {
    "record_in_processes": ["main", "content"],
    "expires_in_version" : "never",
    "kind": "exponential",
    "high": 524288,
    "n_buckets" : 100,
    "description": "PLACES: Size of the GIF favicon files loaded from the web (Bytes)"
  },
  "PLACES_FAVICON_JPEG_SIZES": {
    "record_in_processes": ["main", "content"],
    "expires_in_version" : "never",
    "kind": "exponential",
    "high": 524288,
    "n_buckets" : 100,
    "description": "PLACES: Size of the JPEG favicon files loaded from the web (Bytes)"
  },
  "PLACES_FAVICON_BMP_SIZES": {
    "record_in_processes": ["main", "content"],
    "expires_in_version" : "never",
    "kind": "exponential",
    "high": 524288,
    "n_buckets" : 100,
    "description": "PLACES: Size of the BMP favicon files loaded from the web (Bytes)"
  },
  "PLACES_FAVICON_SVG_SIZES": {
    "record_in_processes": ["main", "content"],
    "expires_in_version" : "never",
    "kind": "exponential",
    "high": 524288,
    "n_buckets" : 100,
    "description": "PLACES: Size of the SVG favicon files loaded from the web (Bytes)"
  },
  "PLACES_FAVICON_OTHER_SIZES": {
    "record_in_processes": ["main", "content"],
    "expires_in_version" : "never",
    "kind": "exponential",
    "high": 524288,
    "n_buckets" : 100,
    "description": "PLACES: Size of favicon files without a specific file type probe, loaded from the web (Bytes)"
  },
  "LINK_ICON_SIZES_ATTR_USAGE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version" : "never",
    "kind": "enumerated",
    "n_values": 4,
    "alert_emails": ["fx-search@mozilla.com"],
    "bug_numbers": [1053467],
    "description": "The possible types of the 'sizes' attribute for <link rel=icon>. 0: Attribute not specified, 1: 'any', 2: Integer dimensions, 3: Invalid value."
  },
  "LINK_ICON_SIZES_ATTR_DIMENSION": {
    "record_in_processes": ["main", "content"],
    "expires_in_version" : "never",
    "kind": "linear",
    "high": 513,
    "n_buckets" : 64,
    "alert_emails": ["fx-search@mozilla.com"],
    "bug_numbers": [1053467],
    "description": "The width dimension of the 'sizes' attribute for <link rel=icon>."
  },
  "PAGE_METADATA_SIZE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 500,
    "n_buckets": 10,
    "alert_emails": ["najiang@mozilla.com", "activity-stream@mozilla.com"],
    "bug_numbers": [1399880],
    "description": "The size of the description and preview image url for page metadata (Bytes)"
  },
  "FENNEC_DISTRIBUTION_REFERRER_INVALID": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "flag",
    "description": "Whether the referrer intent specified an invalid distribution name",
    "operating_systems": ["android"]
  },
  "FENNEC_DISTRIBUTION_CODE_CATEGORY": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "enumerated",
    "n_values": 20,
    "description": "First digit of HTTP result code, or error category, during distribution download",
    "operating_systems": ["android"]
  },
  "FENNEC_DISTRIBUTION_DOWNLOAD_TIME_MS": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "exponential",
    "low": 100,
    "high": 40000,
    "n_buckets": 30,
    "description": "Time taken to download a specified distribution file (msec)",
    "operating_systems": ["android"]
  },
  "FENNEC_BOOKMARKS_COUNT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "60",
    "kind": "exponential",
    "high": 8000,
    "n_buckets": 20,
    "description": "Number of bookmarks stored in the browser DB",
    "alert_emails": ["mobile-frontend@mozilla.com"],
    "bug_numbers": [1244704]
  },
  "FENNEC_ORBOT_INSTALLED": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "70",
    "kind": "flag",
    "operating_systems": ["android"],
    "description": "Whether or not users have Orbot installed",
    "alert_emails": ["seceng@mozilla.org"],
    "bug_numbers": [1314784]
  },
  "FENNEC_READING_LIST_COUNT": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "50",
    "kind": "exponential",
    "high": 1000,
    "n_buckets": 10,
    "operating_systems": ["android"],
    "description": "Number of reading list items stored in the browser DB *** No longer needed (bug 1156565). Delete histogram and accumulation code! ***"
  },
  "FENNEC_READER_VIEW_CACHE_SIZE": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "60",
    "alert_emails": ["mobile-frontend@mozilla.com"],
    "kind": "exponential",
    "low": 32,
    "high": 51200,
    "n_buckets": 20,
    "description": "Total disk space used by items in the reader view cache (KB)",
    "bug_numbers": [1246159]
  },
  "FENNEC_LOOP_UI_LATENCY": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "55",
    "alert_emails": ["mobile-platform@mozilla.org"],
    "kind": "exponential",
    "low": 10,
    "high": 10485760,
    "n_buckets": 22,
    "description": "Latency in microseconds of UI events in the Android event loop between posting and processing",
    "bug_numbers": [1322574],
    "operating_systems": ["android"]
  },
  "FENNEC_LOOP_OTHER_LATENCY": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "55",
    "alert_emails": ["mobile-platform@mozilla.org"],
    "kind": "exponential",
    "low": 10,
    "high": 10485760,
    "n_buckets": 22,
    "description": "Latency in microseconds of non-UI events in the Android event loop between posting and processing",
    "bug_numbers": [1322574],
    "operating_systems": ["android"]
  },
  "PLACES_SORTED_BOOKMARKS_PERC": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 100,
    "n_buckets": 10,
    "description": "PLACES: Percentage of bookmarks organized in folders"
  },
  "PLACES_TAGGED_BOOKMARKS_PERC": {
    "record_in_processes": ["main", "content"],
    "expires_in_version": "never",
    "kind": "linear",
    "high": 100,
    "n_buckets": 10,
    "description": "PLACES: Percentage of tagged bookmarks"
  },
  "PLACES_DATABASE_FILESIZE_MB":