toolkit/components/telemetry/Histograms.json
author Jared Wein <jwein@mozilla.com>
Wed, 23 Oct 2013 12:08:00 +0100
changeset 166850 fc55dc50155118ff89ae9c59e886adb899997b8a
parent 166616 a00ba6f64d80a50c9e5a0abf88a3a8a2b59b5f6b
child 166991 3097d7118a1863ae264a1edc02d4f69dad9ac226
child 171463 db37e3b9371d47c0dca85cb5b4884ddcdd84c589
permissions -rw-r--r--
Bug 930071 - Remove site identity panel telemetry probe. r=felipe

{
  "A11Y_INSTANTIATED_FLAG": {
    "kind": "flag",
    "description": "has accessibility support been instantiated"
  },
  "A11Y_CONSUMERS": {
    "kind": "enumerated",
    "n_values": 11,
    "description": "Accessibility client by enum id"
  },
  "A11Y_ISIMPLEDOM_USAGE_FLAG": {
    "kind": "flag",
    "description": "have the ISimpleDOM* accessibility interfaces been used"
  },
  "A11Y_IATABLE_USAGE_FLAG": {
    "kind": "flag",
    "description": "has the IAccessibleTable accessibility interface been used"
  },
  "A11Y_UPDATE_TIME": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "time spent updating accessibility (ms)"
  },
  "BACKGROUNDFILESAVER_THREAD_COUNT": {
    "kind": "enumerated",
    "n_values": 21,
    "description": "Maximum number of concurrent threads reached during a given download session"
  },
  "COMPARTMENT_DONATED_NODE": {
    "kind": "boolean",
    "description": "When a compartment is destroyed, we record whether one of its nodes was ever adopted into another compartment"
  },
  "COMPARTMENT_ADOPTED_NODE": {
    "kind": "boolean",
    "description": "When a compartment is destroyed, we record whether it had ever adopted a node from another compartment"
  },
  "COMPARTMENT_LIVING_ADOPTERS": {
    "kind": "enumerated",
    "n_values": 10,
    "description": "The number of living compartments for which COMPARTMENT_ADOPTED_NODE is true"
  },
  "CYCLE_COLLECTOR": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "description": "Time spent on one cycle collection (ms)"
  },
  "CYCLE_COLLECTOR_WORKER": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "description": "Time spent on one cycle collection in a worker (ms)"
  },
  "CYCLE_COLLECTOR_FULL": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "description": "Full pause time for one cycle collection, including preparation (ms)"
  },
  "CYCLE_COLLECTOR_FINISH_IGC": {
    "kind": "boolean",
    "description": "Cycle collection finished an incremental GC"
  },
  "CYCLE_COLLECTOR_SYNC_SKIPPABLE": {
    "kind": "boolean",
    "description": "Cycle collection synchronously ran forget skippable"
  },
  "CYCLE_COLLECTOR_VISITED_REF_COUNTED": {
    "kind": "exponential",
    "high": "300000",
    "n_buckets": 50,
    "description": "Number of ref counted objects visited by the cycle collector"
  },
  "CYCLE_COLLECTOR_WORKER_VISITED_REF_COUNTED": {
    "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": {
    "kind": "exponential",
    "high": "300000",
    "n_buckets": 50,
    "description": "Number of JS objects visited by the cycle collector"
  },
  "CYCLE_COLLECTOR_WORKER_VISITED_GCED": {
    "kind": "exponential",
    "high": "300000",
    "n_buckets": 50,
    "description": "Number of JS objects visited by the cycle collector in a worker"
  },
  "CYCLE_COLLECTOR_COLLECTED": {
    "kind": "exponential",
    "high": "100000",
    "n_buckets": 50,
    "description": "Number of objects collected by the cycle collector"
  },
  "CYCLE_COLLECTOR_WORKER_COLLECTED": {
    "kind": "exponential",
    "high": "100000",
    "n_buckets": 50,
    "description": "Number of objects collected by the cycle collector in a worker"
  },
  "CYCLE_COLLECTOR_NEED_GC": {
    "kind": "boolean",
    "description": "Needed garbage collection before cycle collection."
  },
  "CYCLE_COLLECTOR_WORKER_NEED_GC": {
    "kind": "boolean",
    "description": "Needed garbage collection before cycle collection in a worker."
  },
  "CYCLE_COLLECTOR_TIME_BETWEEN": {
    "kind": "exponential",
    "high": "120",
    "n_buckets": 50,
    "description": "Time spent in between cycle collections (seconds)"
  },
  "CYCLE_COLLECTOR_CONTENT_UNBIND": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "description": "Time spent on one ContentUnbinder (ms)"
  },
  "CYCLE_COLLECTOR_OOM": {
    "kind": "flag",
    "description": "Set if the cycle collector ran out of memory at some point"
  },
  "CYCLE_COLLECTOR_WORKER_OOM": {
    "kind": "flag",
    "description": "Set if the cycle collector in a worker ran out of memory at some point"
  },
  "CYCLE_COLLECTOR_ASYNC_SNOW_WHITE_FREEING": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "description": "Time spent on one asynchronous SnowWhite freeing (ms)"
  },
  "FORGET_SKIPPABLE_MAX": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "description": "Max time spent on one forget skippable (ms)"
  },
  "GC_REASON_2": {
    "kind": "enumerated",
    "n_values": "JS::gcreason::NUM_TELEMETRY_REASONS",
    "description": "Reason (enum value) for initiating a GC"
  },
  "GC_IS_COMPARTMENTAL": {
    "kind": "boolean",
    "description": "Is it a compartmental GC?"
  },
  "GC_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "description": "Time spent running JS GC (ms)"
  },
  "GC_MAX_PAUSE_MS": {
    "kind": "linear",
    "high": "1000",
    "n_buckets": 50,
    "description": "Longest GC slice in a GC (ms)"
  },
  "GC_MARK_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "description": "Time spent running JS GC mark phase (ms)"
  },
  "GC_SWEEP_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "description": "Time spent running JS GC sweep phase (ms)"
  },
  "GC_MARK_ROOTS_MS": {
    "kind": "linear",
    "high": "200",
    "n_buckets": 50,
    "description": "Time spent marking GC roots (ms)"
  },
  "GC_MARK_GRAY_MS": {
    "kind": "linear",
    "high": "200",
    "n_buckets": 50,
    "description": "Time spent marking gray GC objects (ms)"
  },
  "GC_SLICE_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "description": "Time spent running a JS GC slice (ms)"
  },
  "GC_MMU_50": {
    "kind": "linear",
    "high": "100",
    "n_buckets": 20,
    "description": "Minimum percentage of time spent outside GC over any 50ms window"
  },
  "GC_RESET": {
    "kind": "boolean",
    "description": "Was an incremental GC canceled?"
  },
  "GC_INCREMENTAL_DISABLED": {
    "kind": "boolean",
    "description": "Is incremental GC permanently disabled?"
  },
  "GC_NON_INCREMENTAL": {
    "kind": "boolean",
    "description": "Was the GC non-incremental?"
  },
  "GC_SCC_SWEEP_TOTAL_MS": {
    "kind": "linear",
    "high": "500",
    "n_buckets": 50,
    "description": "Time spent sweeping compartment SCCs (ms)"
  },
  "GC_SCC_SWEEP_MAX_PAUSE_MS": {
    "kind": "linear",
    "high": "500",
    "n_buckets": 50,
    "description": "Time spent sweeping slowest compartment SCC (ms)"
  },
  "TELEMETRY_PING": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time taken to submit telemetry info (ms)"
  },
  "TELEMETRY_SUCCESS": {
    "kind": "boolean",
    "description": "Successful telemetry submission"
  },
  "XUL_CACHE_DISABLED": {
    "kind": "flag",
    "description": "XUL cache was disabled"
  },
  "MEMORY_RESIDENT": {
    "kind": "exponential",
    "low": "32 * 1024",
    "high": "16 * 1024 * 1024",
    "n_buckets": 200,
    "extended_statistics_ok": true,
    "description": "Resident memory size (KB)"
  },
  "MEMORY_VSIZE": {
    "kind": "exponential",
    "low": "32 * 1024",
    "high": "16 * 1024 * 1024",
    "n_buckets": 100,
    "extended_statistics_ok": true,
    "description": "Virtual memory size (KB)"
  },
  "MEMORY_JS_COMPARTMENTS_SYSTEM": {
    "kind": "exponential",
    "high": "1000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Total JavaScript compartments used for add-ons and internals."
  },
  "MEMORY_JS_COMPARTMENTS_USER": {
    "kind": "exponential",
    "high": "1000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Total JavaScript compartments used for web pages"
  },
  "MEMORY_JS_MAIN_RUNTIME_TEMPORARY_PEAK": {
    "kind": "exponential",
    "low": 1024,
    "high": "16 * 1024 * 1024",
    "n_buckets": 200,
    "extended_statistics_ok": true,
    "description": "Peak memory used by the main JSRuntime to store transient data (KB)"
  },
  "MEMORY_JS_GC_HEAP": {
    "kind": "exponential",
    "low": 1024,
    "high": "16 * 1024 * 1024",
    "n_buckets": 200,
    "extended_statistics_ok": true,
    "description": "Memory used by the garbage-collected JavaScript heap (KB)"
  },
  "MEMORY_STORAGE_SQLITE": {
    "kind": "exponential",
    "low": 1024,
    "high": "512 * 1024",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Memory used by SQLite (KB)"
  },
  "MEMORY_IMAGES_CONTENT_USED_UNCOMPRESSED": {
    "kind": "exponential",
    "low": 1024,
    "high": "1024 * 1024",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Memory used for uncompressed, in-use content images (KB)"
  },
  "MEMORY_HEAP_ALLOCATED": {
    "kind": "exponential",
    "low": 1024,
    "high": "16 * 1024 * 1024",
    "n_buckets": 200,
    "extended_statistics_ok": true,
    "description": "Heap memory allocated (KB)"
  },
  "MEMORY_HEAP_COMMITTED_UNUSED": {
    "kind": "exponential",
    "low": 1024,
    "high": "512 * 1024",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Committed, unused heap memory (KB)"
  },
  "MEMORY_HEAP_COMMITTED_UNUSED_RATIO": {
    "kind": "linear",
    "high": "100",
    "n_buckets": 25,
    "description": "Ratio of committed, unused memory to allocated memory in the heap (percentage)."
  },
  "GHOST_WINDOWS": {
    "kind": "exponential",
    "high": "128",
    "n_buckets": 32,
    "extended_statistics_ok": true,
    "description": "Number of ghost windows"
  },
  "MEMORY_FREE_PURGED_PAGES_MS": {
    "kind": "exponential",
    "high": "1024",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time(ms) to purge MADV_FREE'd heap pages.",
    "cpp_guard": "XP_MACOSX"
  },
  "LOW_MEMORY_EVENTS_VIRTUAL": {
    "kind": "exponential",
    "high": "1024",
    "n_buckets": 21,
    "extended_statistics_ok": true,
    "description": "Number of low-virtual-memory events fired since last ping",
    "cpp_guard": "XP_WIN"
  },
  "LOW_MEMORY_EVENTS_PHYSICAL": {
    "kind": "exponential",
    "high": "1024",
    "n_buckets": 21,
    "extended_statistics_ok": true,
    "description": "Number of low-physical-memory events fired since last ping",
    "cpp_guard": "XP_WIN"
  },
  "LOW_MEMORY_EVENTS_COMMIT_SPACE": {
    "kind": "exponential",
    "high": "1024",
    "n_buckets": 21,
    "extended_statistics_ok": true,
    "description": "Number of low-commit-space events fired since last ping",
    "cpp_guard": "XP_WIN"
  },
  "EARLY_GLUESTARTUP_READ_OPS": {
    "kind": "linear",
    "high": "100",
    "n_buckets": 12,
    "description": "ProcessIoCounters.ReadOperationCount before glue startup",
    "cpp_guard": "XP_WIN"
  },
  "EARLY_GLUESTARTUP_READ_TRANSFER": {
    "kind": "exponential",
    "high": "50 * 1024",
    "n_buckets": 12,
    "extended_statistics_ok": true,
    "description": "ProcessIoCounters.ReadTransferCount before glue startup (KB)",
    "cpp_guard": "XP_WIN"
  },
  "GLUESTARTUP_READ_OPS": {
    "kind": "linear",
    "high": "100",
    "n_buckets": 12,
    "description": "ProcessIoCounters.ReadOperationCount after glue startup",
    "cpp_guard": "XP_WIN"
  },
  "GLUESTARTUP_READ_TRANSFER": {
    "kind": "exponential",
    "high": "50 * 1024",
    "n_buckets": 12,
    "extended_statistics_ok": true,
    "description": "ProcessIoCounters.ReadTransferCount after glue startup (KB)",
    "cpp_guard": "XP_WIN"
  },
  "EARLY_GLUESTARTUP_HARD_FAULTS": {
    "kind": "linear",
    "high": "100",
    "n_buckets": 12,
    "description": "Hard faults count before glue startup",
    "cpp_guard": "XP_UNIX"
  },
  "GLUESTARTUP_HARD_FAULTS": {
    "kind": "exponential",
    "high": "500",
    "n_buckets": 12,
    "extended_statistics_ok": true,
    "description": "Hard faults count after glue startup",
    "cpp_guard": "XP_UNIX"
  },
  "PAGE_FAULTS_HARD": {
    "kind": "exponential",
    "low": 8,
    "high": "64 * 1024",
    "n_buckets": 13,
    "extended_statistics_ok": true,
    "description": "Hard page faults (since last telemetry ping)",
    "cpp_guard": "XP_UNIX"
  },
  "FONTLIST_INITOTHERFAMILYNAMES": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Time(ms) spent on reading other family names from all fonts"
  },
  "FONTLIST_INITFACENAMELISTS": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Time(ms) spent on reading family names from all fonts"
  },
  "DWRITEFONT_INITFONTLIST_TOTAL": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "gfxDWriteFontList::InitFontList Total (ms)",
    "cpp_guard": "XP_WIN"
  },
  "DWRITEFONT_INITFONTLIST_INIT": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "gfxDWriteFontList::InitFontList init (ms)",
    "cpp_guard": "XP_WIN"
  },
  "DWRITEFONT_INITFONTLIST_GDI": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "gfxDWriteFontList::InitFontList GdiInterop object (ms)",
    "cpp_guard": "XP_WIN"
  },
  "DWRITEFONT_DELAYEDINITFONTLIST_TOTAL": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "gfxDWriteFontList::DelayedInitFontList Total (ms)",
    "cpp_guard": "XP_WIN"
  },
  "DWRITEFONT_DELAYEDINITFONTLIST_COUNT": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "gfxDWriteFontList::DelayedInitFontList Font Family Count",
    "cpp_guard": "XP_WIN"
  },
  "DWRITEFONT_DELAYEDINITFONTLIST_GDI_TABLE": {
    "kind": "boolean",
    "description": "gfxDWriteFontList::DelayedInitFontList GDI Table Access",
    "cpp_guard": "XP_WIN"
  },
  "DWRITEFONT_DELAYEDINITFONTLIST_COLLECT": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "gfxDWriteFontList::DelayedInitFontList GetSystemFontCollection (ms)",
    "cpp_guard": "XP_WIN"
  },
  "DWRITEFONT_DELAYEDINITFONTLIST_ITERATE": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "gfxDWriteFontList::DelayedInitFontList iterate over families (ms)",
    "cpp_guard": "XP_WIN"
  },
  "GDI_INITFONTLIST_TOTAL": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "gfxGDIFontList::InitFontList Total (ms)",
    "cpp_guard": "XP_WIN"
  },
  "MAC_INITFONTLIST_TOTAL": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "gfxMacPlatformFontList::InitFontList Total (ms)",
    "cpp_guard": "XP_MACOSX"
  },
  "SYSTEM_FONT_FALLBACK": {
    "kind": "exponential",
    "high": "100000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "System font fallback (us)"
  },
  "SYSTEM_FONT_FALLBACK_FIRST": {
    "kind": "exponential",
    "high": "40000",
    "n_buckets": 20,
    "extended_statistics_ok": true,
    "description": "System font fallback, first call (ms)"
  },
  "SYSTEM_FONT_FALLBACK_SCRIPT": {
    "kind": "enumerated",
    "n_values": 110,
    "description": "System font fallback script"
  },
  "GRADIENT_DURATION": {
    "kind": "exponential",
    "high":"50000000",
    "n_buckets":20,
    "description": "Gradient generation time (us)"
  },
  "GRADIENT_RETENTION_TIME": {
    "kind": "linear",
    "high": "10000",
    "n_buckets":20,
    "description": "Maximum retention time for the gradient cache. (ms)"
  },
  "STARTUP_CACHE_AGE_HOURS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 20,
    "extended_statistics_ok": true,
    "description": "Startup cache age (hours)"
  },
  "STARTUP_CACHE_INVALID": {
    "kind": "flag",
    "description": "Was the disk startup cache file detected as invalid"
  },
  "WORD_CACHE_HITS_CONTENT": {
    "kind": "exponential",
    "high": "256",
    "n_buckets": 30,
    "description": "Word cache hits, content text (chars)"
  },
  "WORD_CACHE_HITS_CHROME": {
    "kind": "exponential",
    "high": "256",
    "n_buckets": 30,
    "description": "Word cache hits, chrome text (chars)"
  },
  "WORD_CACHE_MISSES_CONTENT": {
    "kind": "exponential",
    "high": "256",
    "n_buckets": 30,
    "description": "Word cache misses, content text (chars)"
  },
  "WORD_CACHE_MISSES_CHROME": {
    "kind": "exponential",
    "high": "256",
    "n_buckets": 30,
    "description": "Word cache misses, chrome text (chars)"
  },
  "FONT_CACHE_HIT": {
    "kind": "boolean",
    "description": "font cache hit"
  },
  "BAD_FALLBACK_FONT": {
    "kind": "boolean",
    "description": "system fallback font can't be used"
  },
  "SHUTDOWN_OK": {
    "kind": "boolean",
    "description": "Did the browser start after a successful shutdown"
  },
  "IMAGE_DECODE_LATENCY_US": {
    "kind": "exponential",
    "low": 50,
    "high": "5000000",
    "n_buckets": 100,
    "description": "Time spent decoding an image chunk (us)"
  },
  "IMAGE_DECODE_TIME": {
    "kind": "exponential",
    "low": 50,
    "high": "50000000",
    "n_buckets": 100,
    "description": "Time spent decoding an image (us)"
  },
  "IMAGE_DECODE_ON_DRAW_LATENCY": {
    "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": {
    "kind": "exponential",
    "high": "500",
    "n_buckets": 50,
    "description": "Number of chunks per decode attempt"
  },
  "IMAGE_DECODE_COUNT": {
    "kind": "exponential",
    "high": "500",
    "n_buckets": 50,
    "description": "Decode count"
  },
  "IMAGE_MAX_DECODE_COUNT": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 100,
    "description": "Max decode count over all images"
  },
  "IMAGE_DECODE_SPEED_JPEG": {
    "kind": "exponential",
    "low": 500,
    "high": "50000000",
    "n_buckets": 50,
    "description": "JPEG image decode speed (Kbytes/sec)"
  },
  "IMAGE_DECODE_SPEED_GIF": {
    "kind": "exponential",
    "low": 500,
    "high": "50000000",
    "n_buckets": 50,
    "description": "GIF image decode speed (Kbytes/sec)"
  },
  "IMAGE_DECODE_SPEED_PNG": {
    "kind": "exponential",
    "low": 500,
    "high": "50000000",
    "n_buckets": 50,
    "description": "PNG image decode speed (Kbytes/sec)"
  },
  "CANVAS_2D_USED": {
    "kind": "boolean",
    "description": "2D canvas used"
  },
  "CANVAS_WEBGL_USED": {
    "kind": "boolean",
    "description": "WebGL canvas used"
  },
  "TOTAL_CONTENT_PAGE_LOAD_TIME": {
    "kind": "exponential",
    "low": 100,
    "high": "30000",
    "n_buckets": 100,
    "extended_statistics_ok": true,
    "description": "HTTP: Total page load time (ms)"
  },
  "HTTP_SUBITEM_OPEN_LATENCY_TIME": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP subitem: Page start -> subitem open() (ms)"
  },
  "HTTP_SUBITEM_FIRST_BYTE_LATENCY_TIME": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP subitem: Page start -> first byte received for subitem reply (ms)"
  },
  "HTTP_REQUEST_PER_PAGE": {
    "kind": "exponential",
    "high": "1000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP: Requests per page (count)"
  },
  "HTTP_REQUEST_PER_PAGE_FROM_CACHE": {
    "kind": "enumerated",
    "n_values": 101,
    "description": "HTTP: Requests serviced from cache (%)"
  },
  "HTTP_REQUEST_PER_CONN": {
    "kind": "exponential",
    "high": "1000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP: requests per connection"
  },
  "HTTP_KBREAD_PER_CONN": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP: KB read per connection"
  },
  "HTTP_PAGE_DNS_ISSUE_TIME": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP page: open() -> DNS request issued (ms)"
  },
  "HTTP_PAGE_DNS_LOOKUP_TIME": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP page: DNS lookup time (ms)"
  },
  "HTTP_PAGE_TCP_CONNECTION": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP page: TCP connection setup (ms)"
  },
  "HTTP_PAGE_OPEN_TO_FIRST_SENT": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP page: Open -> first byte of request sent (ms)"
  },
  "HTTP_PAGE_FIRST_SENT_TO_LAST_RECEIVED": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP page: First byte of request sent -> last byte of response received (ms)"
  },
  "HTTP_PAGE_OPEN_TO_FIRST_RECEIVED": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP page: Open -> first byte of reply received (ms)"
  },
  "HTTP_PAGE_OPEN_TO_FIRST_FROM_CACHE": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP page: Open -> cache read start (ms)"
  },
  "HTTP_PAGE_OPEN_TO_FIRST_FROM_CACHE_V2": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP page: Open -> cache read start (ms), [cache2]"
  },
  "HTTP_PAGE_CACHE_READ_TIME": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP page: Cache read time (ms)"
  },
  "HTTP_PAGE_CACHE_READ_TIME_V2": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP page: Cache read time (ms) [cache2]"
  },
  "HTTP_PAGE_REVALIDATION": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP page: Positive cache validation time (ms)"
  },
  "HTTP_PAGE_COMPLETE_LOAD": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP page: Overall load time - all (ms)"
  },
  "HTTP_PAGE_COMPLETE_LOAD_V2": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP page: Overall load time - all (ms) [cache2]"
  },
  "HTTP_PAGE_COMPLETE_LOAD_CACHED": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP page: Overall load time - cache hits (ms)"
  },
  "HTTP_PAGE_COMPLETE_LOAD_CACHED_V2": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP page: Overall load time - cache hits (ms) [cache2]"
  },
  "HTTP_PAGE_COMPLETE_LOAD_NET": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP page: Overall load time - network (ms)"
  },
  "HTTP_PAGE_COMPLETE_LOAD_NET_V2": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP page: Overall load time - network (ms) [cache2]"
  },
  "HTTP_SUB_DNS_ISSUE_TIME": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP subitem: open() -> DNS request issued (ms)"
  },
  "HTTP_SUB_DNS_LOOKUP_TIME": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP subitem: DNS lookup time (ms)"
  },
  "HTTP_SUB_TCP_CONNECTION": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP subitem: TCP connection setup (ms)"
  },
  "HTTP_SUB_OPEN_TO_FIRST_SENT": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP subitem: Open -> first byte of request sent (ms)"
  },
  "HTTP_SUB_FIRST_SENT_TO_LAST_RECEIVED": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP subitem: First byte of request sent -> last byte of response received (ms)"
  },
  "HTTP_SUB_OPEN_TO_FIRST_RECEIVED": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP subitem: Open -> first byte of reply received (ms)"
  },
  "HTTP_SUB_OPEN_TO_FIRST_FROM_CACHE": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP subitem: Open -> cache read start (ms)"
  },
  "HTTP_SUB_OPEN_TO_FIRST_FROM_CACHE_V2": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP subitem: Open -> cache read start (ms) [cache2]"
  },
  "HTTP_SUB_CACHE_READ_TIME": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP subitem: Cache read time (ms)"
  },
  "HTTP_SUB_CACHE_READ_TIME_V2": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP subitem: Cache read time (ms) [cache2]"
  },
  "HTTP_SUB_REVALIDATION": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP subitem: Positive cache validation time (ms)"
  },
  "HTTP_SUB_COMPLETE_LOAD": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP subitem: Overall load time - all (ms)"
  },
  "HTTP_SUB_COMPLETE_LOAD_V2": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP subitem: Overall load time - all (ms) [cache2]"
  },
  "HTTP_SUB_COMPLETE_LOAD_CACHED": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP subitem: Overall load time - cache hits (ms)"
  },
  "HTTP_SUB_COMPLETE_LOAD_CACHED_V2": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP subitem: Overall load time - cache hits (ms) [cache2]"
  },
  "HTTP_SUB_COMPLETE_LOAD_NET": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP subitem: Overall load time - network (ms)"
  },
  "HTTP_SUB_COMPLETE_LOAD_NET_V2": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "HTTP subitem: Overall load time - network (ms) [cache2]"
  },
  "HTTP_PROXY_TYPE": {
    "kind": "enumerated",
    "n_values": 8,
    "description": "HTTP Proxy Type (none, http, socks)"
  },
  "HTTP_TRANSACTION_IS_SSL": {
    "kind": "boolean",
    "description": "Whether a HTTP transaction was over SSL or not."
  },
  "HTTP_PAGELOAD_IS_SSL": {
    "kind": "boolean",
    "description": "Whether a HTTP base page load was over SSL or not."
  },
  "HTTPDATA_DAILY_ETHERNET_IN": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 200,
    "extended_statistics_ok": true,
    "description": "MB of http ethernet data recvd in one day"
  },
  "HTTPDATA_DAILY_ETHERNET_OUT": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 200,
    "extended_statistics_ok": true,
    "description": "MB of http ethernet data sent in one day"
  },
  "HTTPDATA_DAILY_CELL_IN": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 200,
    "extended_statistics_ok": true,
    "description": "MB of http cell data recvd in one day"
  },
  "HTTPDATA_DAILY_CELL_OUT": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 200,
    "extended_statistics_ok": true,
    "description": "MB of http cell data sent in one day"
  },
  "SSL_HANDSHAKE_VERSION": {
    "kind": "enumerated",
    "n_values": 16,
    "description": "SSL Version (0=ssl3, 1=tls1, 2=tls1.1, 3=tls1.2)"
  },
  "SSL_TIME_UNTIL_READY": {
    "kind": "exponential",
    "high": "60000",
    "n_buckets": 200,
    "extended_statistics_ok": true,
    "description": "ms of SSL wait time including TCP and proxy tunneling"
  },
  "SSL_TIME_UNTIL_HANDSHAKE_FINISHED": {
    "kind": "exponential",
    "high": "60000",
    "n_buckets": 200,
    "description": "ms of SSL wait time for full handshake including TCP and proxy tunneling"
  },
  "SSL_BYTES_BEFORE_CERT_CALLBACK": {
    "kind": "exponential",
    "high": "32000",
    "n_buckets": 64,
    "extended_statistics_ok": true,
    "description": "plaintext bytes read before a server certificate authenticated"
  },
  "SSL_NPN_TYPE": {
    "kind": "enumerated",
    "n_values": 16,
    "description": "NPN Results (0=none, 1=negotiated, 2=no-overlap)"
  },
  "SSL_RESUMED_SESSION": {
    "kind": "boolean",
    "description": "complete TLS connect that used TLS Sesison Resumption"
  },
  "CERT_VALIDATION_HTTP_REQUEST_RESULT": {
    "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": {
    "kind": "exponential",
    "high": "60000",
    "n_buckets": 200,
    "extended_statistics_ok": true,
    "description": "ms elapsed time of OCSP etc.. that was canceled"
  },
  "CERT_VALIDATION_HTTP_REQUEST_SUCCEEDED_TIME": {
    "kind": "exponential",
    "high": "60000",
    "n_buckets": 200,
    "extended_statistics_ok": true,
    "description": "ms elapsed time of OCSP etc.. that succeeded"
  },
  "CERT_VALIDATION_HTTP_REQUEST_FAILED_TIME": {
    "kind": "exponential",
    "high": "60000",
    "n_buckets": 200,
    "extended_statistics_ok": true,
    "description": "ms elapsed time of OCSP etc.. that failed"
  },
  "SSL_KEY_EXCHANGE_ALGORITHM": {
    "kind": "enumerated",
    "n_values": 16,
    "description": "SSL Handshake Key Exchange Algorithm (null=0, rsa=1, dh=2, fortezza=3, ecdh=4)"
  },
  "WEBSOCKETS_HANDSHAKE_TYPE": {
    "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)"
  },
  "SPDY_VERSION2": {
    "kind": "enumerated",
    "n_values": 48,
    "description": "SPDY: Protocol Version Used"
  },
  "SPDY_PARALLEL_STREAMS": {
    "kind": "exponential",
    "high": "1000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "SPDY: Streams concurrent active per connection"
  },
  "SPDY_REQUEST_PER_CONN": {
    "kind": "exponential",
    "high": "1000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "SPDY: Streams created per connection"
  },
  "SPDY_SERVER_INITIATED_STREAMS": {
    "kind": "exponential",
    "high": "100000",
    "n_buckets": 250,
    "extended_statistics_ok": true,
    "description": "SPDY: Streams recevied per connection"
  },
  "SPDY_CHUNK_RECVD": {
    "kind": "exponential",
    "high": "1000",
    "n_buckets": 100,
    "extended_statistics_ok": true,
    "description": "SPDY: Recvd Chunk Size (rounded to KB)"
  },
  "SPDY_SYN_SIZE": {
    "kind": "exponential",
    "low": 20,
    "high": "20000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "SPDY: SYN Frame Header Size"
  },
  "SPDY_SYN_RATIO": {
    "kind": "linear",
    "high": "99",
    "n_buckets": 20,
    "description": "SPDY: SYN Frame Header Ratio (lower better)"
  },
  "SPDY_SYN_REPLY_SIZE": {
    "kind": "exponential",
    "low": 16,
    "high": "20000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "SPDY: SYN Reply Header Size"
  },
  "SPDY_SYN_REPLY_RATIO": {
    "kind": "linear",
    "high": "99",
    "n_buckets": 20,
    "description": "SPDY: SYN Reply Header Ratio (lower better)"
  },
  "SPDY_NPN_CONNECT": {
    "kind": "boolean",
    "description": "SPDY: NPN Negotiated"
  },
  "SPDY_NPN_JOIN": {
    "kind": "boolean",
    "description": "SPDY: Coalesce Succeeded"
  },
  "SPDY_KBREAD_PER_CONN": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "SPDY: KB read per connection"
  },
  "SPDY_SETTINGS_UL_BW": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 100,
    "extended_statistics_ok": true,
    "description": "SPDY: Settings Upload Bandwidth"
  },
  "SPDY_SETTINGS_DL_BW": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 100,
    "extended_statistics_ok": true,
    "description": "SPDY: Settings Download Bandwidth"
  },
  "SPDY_SETTINGS_RTT": {
    "kind": "exponential",
    "high": "1000",
    "n_buckets": 100,
    "extended_statistics_ok": true,
    "description": "SPDY: Settings RTT"
  },
  "SPDY_SETTINGS_MAX_STREAMS": {
    "kind": "exponential",
    "high": "5000",
    "n_buckets": 100,
    "extended_statistics_ok": true,
    "description": "SPDY: Settings Max Streams parameter"
  },
  "SPDY_SETTINGS_CWND": {
    "kind": "exponential",
    "high": "500",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "SPDY: Settings CWND (packets)"
  },
  "SPDY_SETTINGS_RETRANS": {
    "kind": "exponential",
    "high": "100",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "SPDY: Retransmission Rate"
  },
  "SPDY_SETTINGS_IW": {
    "kind": "exponential",
    "high": "1000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "SPDY: Settings IW (rounded to KB)"
  },
  "DISK_CACHE_CORRUPT_DETAILS": {
    "kind": "enumerated",
    "n_values": 50,
    "description": "Why the HTTP disk cache was corrupted at startup"
  },
  "DISK_CACHE_REDUCTION_TRIAL": {
    "kind": "boolean",
    "description": "Stores 1 if the cache would be clean with the disk cache corruption plan of Bug 105843"
  },
  "DISK_CACHE_REVALIDATION_SAFE": {
    "kind": "boolean",
    "description": "Stores 1 if the cache clean file was revalidated, or 0 if a non empty doom list prevented revalidation"
  },
  "DISK_CACHE_INVALIDATION_SUCCESS": {
    "kind": "boolean",
    "description": "Stores 1 if writing '0' to the cache clean file succeeded, and 0 if it failed."
  },
  "DISK_CACHE_REVALIDATION_SUCCESS": {
    "kind": "boolean",
    "description": "Stores 1 if writing '1' to the cache clean file succeeded, and 0 if it failed."
  },
  "HTTP_CACHE_DISPOSITION_2": {
    "kind": "enumerated",
    "n_values": 5,
    "description": "HTTP Cache Hit, Reval, Failed-Reval, Miss"
  },
  "HTTP_CACHE_DISPOSITION_2_V2": {
    "kind": "enumerated",
    "n_values": 5,
    "description": "HTTP Cache v2 Hit, Reval, Failed-Reval, Miss"
  },
  "HTTP_DISK_CACHE_DISPOSITION_2": {
    "kind": "enumerated",
    "n_values": 5,
    "description": "HTTP Disk Cache Hit, Reval, Failed-Reval, Miss"
  },
  "HTTP_MEMORY_CACHE_DISPOSITION_2": {
    "kind": "enumerated",
    "n_values": 5,
    "description": "HTTP Memory Cache Hit, Reval, Failed-Reval, Miss"
  },
  "HTTP_OFFLINE_CACHE_DISPOSITION_2": {
    "kind": "enumerated",
    "n_values": 5,
    "description": "HTTP Offline Cache Hit, Reval, Failed-Reval, Miss"
  },
  "HTTP_OFFLINE_CACHE_DOCUMENT_LOAD": {
    "kind": "boolean",
    "description": "Rate of page load from offline cache"
  },
  "CACHE_DEVICE_SEARCH_2": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Time to search cache (ms)"
  },
  "CACHE_MEMORY_SEARCH_2": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Time to search memory cache (ms)"
  },
  "CACHE_DISK_SEARCH_2": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Time to search disk cache (ms)"
  },
  "CACHE_OFFLINE_SEARCH_2": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Time to search offline cache (ms)"
  },
  "TRANSACTION_WAIT_TIME_HTTP": {
    "kind": "exponential",
    "high": "5000",
    "n_buckets": 100,
    "extended_statistics_ok": true,
    "description": "Time from submission to dispatch of HTTP transaction (ms)"
  },
  "TRANSACTION_WAIT_TIME_HTTP_PIPELINES": {
    "kind": "exponential",
    "high": "5000",
    "n_buckets": 100,
    "extended_statistics_ok": true,
    "description": "Time from submission to dispatch of HTTP with pipelines transaction (ms)"
  },
  "TRANSACTION_WAIT_TIME_SPDY": {
    "kind": "exponential",
    "high": "5000",
    "n_buckets": 100,
    "extended_statistics_ok": true,
    "description": "Time from submission to dispatch of SPDY transaction (ms)"
  },
  "HTTP_DISK_CACHE_OVERHEAD": {
    "kind": "exponential",
    "high": "32000000",
    "n_buckets": 100,
    "extended_statistics_ok": true,
    "description": "HTTP Disk cache memory overhead (bytes)"
  },
  "CACHE_LM_INCONSISTENT": {
    "kind": "boolean",
    "description": "Cache discovered inconsistent last-modified entry"
  },
  "CACHE_SERVICE_LOCK_WAIT_2": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms)"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_2": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock on the main thread (ms)"
  },
  "DISK_CACHE_SMART_SIZE_USING_OLD_MAX": {
    "kind": "boolean",
    "description": "Whether we are using the old default cache smart size"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSSETDISKSMARTSIZECALLBACK_NOTIFY": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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_NSEVICTDISKCACHEENTRIESEVENT_RUN": {
    "kind": "exponential",
    "high": "10 * 1000",
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSEVICTDISKCACHEENTRIESEVENT_RUN"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSDOOMEVENT_RUN": {
    "kind": "exponential",
    "high": "10 * 1000",
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSDOOMEVENT_RUN"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSDISKCACHESTREAMIO_WRITE": {
    "kind": "exponential",
    "high": "10 * 1000",
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSDISKCACHESTREAMIO_WRITE"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSDISKCACHESTREAMIO_CLOSEOUTPUTSTREAM": {
    "kind": "exponential",
    "high": "10 * 1000",
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSDISKCACHESTREAMIO_CLOSEOUTPUTSTREAM"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSDISKCACHEDEVICEDEACTIVATEENTRYEVENT_RUN": {
    "kind": "exponential",
    "high": "10 * 1000",
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSDISKCACHEDEVICEDEACTIVATEENTRYEVENT_RUN"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSDISKCACHEBINDING_DESTRUCTOR": {
    "kind": "exponential",
    "high": "10 * 1000",
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSDISKCACHEBINDING_DESTRUCTOR"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHESERVICE_SHUTDOWN": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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_LEAVEPRIVATEBROWSING": {
    "kind": "exponential",
    "high": "10 * 1000",
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSCACHESERVICE_LEAVEPRIVATEBROWSING"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSCACHESERVICE_ISSTORAGEENABLEDFORPOLICY": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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": {
    "kind": "exponential",
    "high": "10 * 1000",
    "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_NSDISKCACHEMAP_REVALIDATION": {
    "kind": "exponential",
    "high": "10 * 1000",
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSDISKCACHEMAP_REVALIDATION"
  },
  "CACHE_SERVICE_LOCK_WAIT_MAINTHREAD_NSASYNCDOOMEVENT_RUN": {
    "kind": "exponential",
    "high": "10 * 1000",
    "n_buckets": 50,
    "description": "Time spent waiting on the cache service lock (ms) on the main thread in NSASYNCDOOMEVENT_RUN"
  },
  "DNT_USAGE": {
    "kind": "enumerated",
    "n_values": 3,
    "description": "I want to be tracked, I do NOT want to be tracked, DNT unset"
  },
  "DNS_LOOKUP_METHOD2": {
    "kind": "enumerated",
    "n_values": 16,
    "description": "DNS Lookup Type (hit, renewal, negative-hit, literal, overflow, network-first, network-shared)"
  },
  "DNS_CLEANUP_AGE": {
    "kind": "exponential",
    "high": "1440",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "DNS Cache Entry Age at Removal Time (minutes)"
  },
  "DNS_LOOKUP_TIME": {
    "kind": "exponential",
    "high": "60000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Time for a successful DNS OS resolution (msec)"
  },
  "DNS_RENEWAL_TIME": {
    "kind": "exponential",
    "high": "60000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Time for a renewed DNS OS resolution (msec)"
  },
  "DNS_FAILED_LOOKUP_TIME": {
    "kind": "exponential",
    "high": "60000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Time for an unsuccessful DNS OS resolution (msec)"
  },
  "FIND_PLUGINS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent scanning filesystem for plugins (ms)"
  },
  "CHECK_JAVA_ENABLED": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent checking if Java is enabled (ms)"
  },
  "PLUGIN_HANG_UI_USER_RESPONSE": {
    "kind": "enumerated",
    "n_values": 3,
    "description": "User response to Plugin Hang UI"
  },
  "PLUGIN_HANG_UI_DONT_ASK": {
    "kind": "boolean",
    "description": "Whether the user has requested not to see the Plugin Hang UI again"
  },
  "PLUGIN_HANG_UI_RESPONSE_TIME": {
    "kind": "exponential",
    "high": "60000",
    "n_buckets": 20,
    "description": "Time spent in Plugin Hang UI (ms)"
  },
  "PLUGIN_HANG_TIME": {
    "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": {
    "kind": "exponential",
    "high": "5000",
    "n_buckets": 20,
    "description": "Time spent loading plugin DLL and obtaining metadata (ms)"
  },
  "PLUGIN_SHUTDOWN_MS": {
    "kind": "exponential",
    "high": "5000",
    "n_buckets": 20,
    "extended_statistics_ok": true,
    "description": "Time spent shutting down plugins (ms)"
  },
  "PLUGIN_CALLED_DIRECTLY": {
    "kind": "flag",
    "description": "A plugin object was successfully invoked as a function"
  },
  "MOZ_SQLITE_OPEN_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite open() (ms)"
  },
  "MOZ_SQLITE_OPEN_MAIN_THREAD_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite open() (ms)"
  },
  "MOZ_SQLITE_TRUNCATE_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite truncate() (ms)"
  },
  "MOZ_SQLITE_TRUNCATE_MAIN_THREAD_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite truncate() (ms)"
  },
  "MOZ_SQLITE_OTHER_READ_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite read() (ms)"
  },
  "MOZ_SQLITE_OTHER_READ_MAIN_THREAD_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite read() (ms)"
  },
  "MOZ_SQLITE_PLACES_READ_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite read() (ms)"
  },
  "MOZ_SQLITE_PLACES_READ_MAIN_THREAD_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite read() (ms)"
  },
  "MOZ_SQLITE_COOKIES_OPEN_READAHEAD_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on cookie DB open with readahead (ms)"
  },
  "MOZ_SQLITE_COOKIES_READ_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite read() (ms)"
  },
  "MOZ_SQLITE_COOKIES_READ_MAIN_THREAD_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite read() (ms)"
  },
  "MOZ_SQLITE_WEBAPPS_READ_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite read() (ms)"
  },
  "MOZ_SQLITE_WEBAPPS_READ_MAIN_THREAD_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite read() (ms)"
  },
  "MOZ_SQLITE_OTHER_WRITE_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite write() (ms)"
  },
  "MOZ_SQLITE_OTHER_WRITE_MAIN_THREAD_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite write() (ms)"
  },
  "MOZ_SQLITE_PLACES_WRITE_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite write() (ms)"
  },
  "MOZ_SQLITE_PLACES_WRITE_MAIN_THREAD_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite write() (ms)"
  },
  "MOZ_SQLITE_COOKIES_WRITE_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite write() (ms)"
  },
  "MOZ_SQLITE_COOKIES_WRITE_MAIN_THREAD_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite write() (ms)"
  },
  "MOZ_SQLITE_WEBAPPS_WRITE_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite write() (ms)"
  },
  "MOZ_SQLITE_WEBAPPS_WRITE_MAIN_THREAD_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite write() (ms)"
  },
  "MOZ_SQLITE_OTHER_SYNC_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite fsync() (ms)"
  },
  "MOZ_SQLITE_OTHER_SYNC_MAIN_THREAD_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite fsync() (ms)"
  },
  "MOZ_SQLITE_PLACES_SYNC_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite fsync() (ms)"
  },
  "MOZ_SQLITE_PLACES_SYNC_MAIN_THREAD_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite fsync() (ms)"
  },
  "MOZ_SQLITE_COOKIES_SYNC_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite fsync() (ms)"
  },
  "MOZ_SQLITE_COOKIES_SYNC_MAIN_THREAD_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite fsync() (ms)"
  },
  "MOZ_SQLITE_WEBAPPS_SYNC_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite fsync() (ms)"
  },
  "MOZ_SQLITE_WEBAPPS_SYNC_MAIN_THREAD_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent on SQLite fsync() (ms)"
  },
  "MOZ_SQLITE_OTHER_READ_B": {
    "kind": "linear",
    "high": "32768",
    "n_buckets": 3,
    "description": "SQLite read() (bytes)"
  },
  "MOZ_SQLITE_PLACES_READ_B": {
    "kind": "linear",
    "high": "32768",
    "n_buckets": 3,
    "description": "SQLite read() (bytes)"
  },
  "MOZ_SQLITE_COOKIES_READ_B": {
    "kind": "linear",
    "high": "32768",
    "n_buckets": 3,
    "description": "SQLite read() (bytes)"
  },
  "MOZ_SQLITE_WEBAPPS_READ_B": {
    "kind": "linear",
    "high": "32768",
    "n_buckets": 3,
    "description": "SQLite read() (bytes)"
  },
  "MOZ_SQLITE_PLACES_WRITE_B": {
    "kind": "linear",
    "high": "32768",
    "n_buckets": 3,
    "description": "SQLite write (bytes)"
  },
  "MOZ_SQLITE_COOKIES_WRITE_B": {
    "kind": "linear",
    "high": "32768",
    "n_buckets": 3,
    "description": "SQLite write (bytes)"
  },
  "MOZ_SQLITE_WEBAPPS_WRITE_B": {
    "kind": "linear",
    "high": "32768",
    "n_buckets": 3,
    "description": "SQLite write (bytes)"
  },
  "MOZ_SQLITE_OTHER_WRITE_B": {
    "kind": "linear",
    "high": "32768",
    "n_buckets": 3,
    "description": "SQLite write (bytes)"
  },
  "MOZ_STORAGE_ASYNC_REQUESTS_MS": {
    "kind": "exponential",
    "high": "32768",
    "n_buckets": 20,
    "extended_statistics_ok": true,
    "description": "mozStorage async requests completion (ms)"
  },
  "MOZ_STORAGE_ASYNC_REQUESTS_SUCCESS": {
    "kind": "boolean",
    "description": "mozStorage async requests success"
  },
  "STARTUP_MEASUREMENT_ERRORS": {
    "kind": "enumerated",
    "n_values": "mozilla::StartupTimeline::MAX_EVENT_ID",
    "description": "Flags errors in startup calculation()"
  },
  "NETWORK_DISK_CACHE_OPEN": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent opening disk cache (ms)"
  },
  "NETWORK_DISK_CACHE_TRASHRENAME": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent renaming bad Cache to Cache.Trash (ms)"
  },
  "NETWORK_DISK_CACHE_DELETEDIR": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent deleting disk cache (ms)"
  },
  "NETWORK_DISK_CACHE_DELETEDIR_SHUTDOWN": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent during showdown stopping thread deleting old disk cache (ms)"
  },
  "NETWORK_DISK_CACHE_SHUTDOWN": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Total Time spent (ms) during disk cache showdown"
  },
  "NETWORK_DISK_CACHE_SHUTDOWN_V2": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Total Time spent (ms) during disk cache showdown [cache2]"
  },
  "NETWORK_DISK_CACHE_SHUTDOWN_CLEAR_PRIVATE": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent (ms) during showdown deleting disk cache for 'clear private data' option"
  },
  "NETWORK_DISK_CACHE_REVALIDATION": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Total Time spent (ms) during disk cache revalidation"
  },
  "NETWORK_DISK_CACHE_STREAMIO_CLOSE": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent in nsDiskCacheStreamIO::Close() on non-main thread (ms)"
  },
  "NETWORK_DISK_CACHE_STREAMIO_CLOSE_MAIN_THREAD": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent in nsDiskCacheStreamIO::Close() on the main thread (ms)"
  },
  "IDLE_NOTIFY_BACK_MS": {
    "kind": "exponential",
    "high": "5000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent checking for and notifying listeners that the user is back (ms)"
  },
  "IDLE_NOTIFY_BACK_LISTENERS": {
    "kind": "linear",
    "high": "100",
    "n_buckets": 20,
    "description": "Number of listeners notified that the user is back"
  },
  "IDLE_NOTIFY_IDLE_MS": {
    "kind": "exponential",
    "high": "5000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent checking for and notifying listeners that the user is idle (ms)"
  },
  "IDLE_NOTIFY_IDLE_LISTENERS": {
    "kind": "linear",
    "high": "100",
    "n_buckets": 20,
    "description": "Number of listeners notified that the user is idle"
  },
  "URLCLASSIFIER_LOOKUP_TIME": {
    "kind": "exponential",
    "high": "500",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent per dbservice lookup (ms)"
  },
  "URLCLASSIFIER_CL_CHECK_TIME": {
    "kind": "exponential",
    "high": "500",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent per classifier lookup (ms)"
  },
  "URLCLASSIFIER_CL_UPDATE_TIME": {
    "kind": "exponential",
    "low": 20,
    "high": "15000",
    "n_buckets": 15,
    "extended_statistics_ok": true,
    "description": "Time spent per classifier update (ms)"
  },
  "URLCLASSIFIER_PS_FILELOAD_TIME": {
    "kind": "exponential",
    "high": "1000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent loading PrefixSet from file (ms)"
  },
  "URLCLASSIFIER_PS_FALLOCATE_TIME": {
    "kind": "exponential",
    "high": "1000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time spent fallocating PrefixSet (ms)"
  },
  "URLCLASSIFIER_PS_CONSTRUCT_TIME": {
    "kind": "exponential",
    "high": "5000",
    "n_buckets": 15,
    "extended_statistics_ok": true,
    "description": "Time spent constructing PrefixSet from DB (ms)"
  },
  "URLCLASSIFIER_LC_PREFIXES": {
    "kind": "linear",
    "high": "1500000",
    "n_buckets": 15,
    "description": "Size of the prefix cache in entries"
  },
  "URLCLASSIFIER_LC_COMPLETIONS": {
    "kind": "exponential",
    "high": "200",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Size of the completion cache in entries"
  },
  "URLCLASSIFIER_PS_FAILURE": {
    "kind": "boolean",
    "description": "Did UrlClassifier fail to construct the PrefixSet?"
  },
  "PLACES_PAGES_COUNT": {
    "kind": "exponential",
    "low": 1000,
    "high": "150000",
    "n_buckets": 20,
    "extended_statistics_ok": true,
    "description": "PLACES: Number of unique pages"
  },
  "PLACES_BOOKMARKS_COUNT": {
    "kind": "exponential",
    "low": 100,
    "high": "8000",
    "n_buckets": 15,
    "extended_statistics_ok": true,
    "description": "PLACES: Number of bookmarks"
  },
  "PLACES_TAGS_COUNT": {
    "kind": "exponential",
    "high": "200",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "PLACES: Number of tags"
  },
  "PLACES_FOLDERS_COUNT": {
    "kind": "exponential",
    "high": "200",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "PLACES: Number of folders"
  },
  "PLACES_KEYWORDS_COUNT": {
    "kind": "exponential",
    "high": "200",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "PLACES: Number of keywords"
  },
  "FENNEC_FAVICONS_COUNT": {
    "kind": "exponential",
    "high": "2000",
    "n_buckets": 10,
    "cpp_guard": "ANDROID",
    "extended_statistics_ok": true,
    "description": "FENNEC: (Places) Number of favicons stored"
  },
  "FENNEC_THUMBNAILS_COUNT": {
    "kind": "exponential",
    "high": "2000",
    "n_buckets": 10,
    "cpp_guard": "ANDROID",
    "extended_statistics_ok": true,
    "description": "FENNEC: (Places) Number of thumbnails stored"
  },
  "PLACES_SORTED_BOOKMARKS_PERC": {
    "kind": "linear",
    "high": "100",
    "n_buckets": 10,
    "description": "PLACES: Percentage of bookmarks organized in folders"
  },
  "PLACES_TAGGED_BOOKMARKS_PERC": {
    "kind": "linear",
    "high": "100",
    "n_buckets": 10,
    "description": "PLACES: Percentage of tagged bookmarks"
  },
  "PLACES_DATABASE_FILESIZE_MB": {
    "kind": "exponential",
    "low": 5,
    "high": "200",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "PLACES: Database filesize (MB)"
  },
  "PLACES_DATABASE_JOURNALSIZE_MB": {
    "kind": "exponential",
    "high": "50",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "PLACES: Database journal size (MB)"
  },
  "PLACES_DATABASE_PAGESIZE_B": {
    "kind": "exponential",
    "low": 1024,
    "high": "32768",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "PLACES: Database page size (bytes)"
  },
  "PLACES_DATABASE_SIZE_PER_PAGE_B": {
    "kind": "exponential",
    "low": 500,
    "high": "10240",
    "n_buckets": 20,
    "extended_statistics_ok": true,
    "description": "PLACES: Average size of a place in the database (bytes)"
  },
  "PLACES_EXPIRATION_STEPS_TO_CLEAN2": {
    "kind": "enumerated",
    "n_values": 10,
    "description": "PLACES: Expiration steps to cleanup the database"
  },
  "PLACES_AUTOCOMPLETE_1ST_RESULT_TIME_MS": {
    "kind": "exponential",
    "low": 50,
    "high": "500",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "PLACES: Time for first autocomplete result if > 50ms (ms)"
  },
  "PLACES_AUTOCOMPLETE_URLINLINE_DOMAIN_QUERY_TIME_MS": {
    "kind": "exponential",
    "low": 50,
    "high": 2000,
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "PLACES: Duration of the domain query for the url inline autocompletion (ms)"
  },
  "PLACES_IDLE_FRECENCY_DECAY_TIME_MS": {
    "kind": "exponential",
    "low": 50,
    "high": "10000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "PLACES: Time to decay all frecencies values on idle (ms)"
  },
  "PLACES_IDLE_MAINTENANCE_TIME_MS": {
    "kind": "exponential",
    "low": 1000,
    "high": "30000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "PLACES: Time to execute maintenance tasks on idle (ms)"
  },
  "PLACES_ANNOS_BOOKMARKS_COUNT": {
    "kind": "exponential",
    "low": 50,
    "high": "5000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "PLACES: Number of bookmarks annotations"
  },
  "PLACES_ANNOS_BOOKMARKS_SIZE_KB": {
    "kind": "exponential",
    "low": 10,
    "high": "10000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "PLACES: Size of bookmarks annotations (KB)"
  },
  "PLACES_ANNOS_PAGES_COUNT": {
    "kind": "exponential",
    "low": 50,
    "high": "5000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "PLACES: Number of pages annotations"
  },
  "PLACES_ANNOS_PAGES_SIZE_KB": {
    "kind": "exponential",
    "low": 10,
    "high": "10000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "PLACES: Size of pages annotations (KB)"
  },
  "PLACES_FRECENCY_CALC_TIME_MS": {
    "kind": "exponential",
    "high": "100",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "PLACES: Time to calculate frecency of a page (ms)"
  },
  "UPDATER_BACKGROUND_CHECK_CODE_EXTERNAL": {
    "kind": "enumerated",
    "n_values": 50,
    "description": "Updater: externally initiated (typically by the application) background update check result code (see PING_BGUC_* constants defined in /toolkit/mozapps/update/nsUpdateService.js)"
  },
  "UPDATER_BACKGROUND_CHECK_CODE_NOTIFY": {
    "kind": "enumerated",
    "n_values": 50,
    "description": "Updater: timer initiated background update check result code (see PING_BGUC_* constants defined in /toolkit/mozapps/update/nsUpdateService.js)"
  },
  "UPDATER_INVALID_LASTUPDATETIME_EXTERNAL": {
    "kind": "boolean",
    "description": "Updater: Whether the last update time is invalid when a background update check was externally requested (typically by the application)"
  },
  "UPDATER_INVALID_LASTUPDATETIME_NOTIFY": {
    "kind": "boolean",
    "description": "Updater: Whether the last update time is invalid when a background update check was timer initiated"
  },
  "UPDATER_LAST_NOTIFY_INTERVAL_DAYS_EXTERNAL": {
    "kind": "exponential",
    "n_buckets": 10,
    "high": "60",
    "description": "Updater: The interval in days between the previous and the current background update check when the check was externally requested (typically by the application)"
  },
  "UPDATER_LAST_NOTIFY_INTERVAL_DAYS_NOTIFY": {
    "kind": "exponential",
    "n_buckets": 10,
    "high": "60",
    "description": "Updater: The interval in days between the previous and the current background update check when the check was timer initiated"
  },
  "UPDATER_STATUS_CODES": {
    "kind": "enumerated",
    "n_values": 50,
    "description": "Updater: the status of the latest update performed"
  },
  "UPDATER_UPDATES_ENABLED": {
    "kind": "boolean",
    "description": "Updater: Whether or not updates are enabled"
  },
  "UPDATER_UPDATES_METRO_ENABLED": {
    "kind": "boolean",
    "description": "Updater: Whether or not Metro updates are enabled"
  },
  "UPDATER_UPDATES_AUTOMATIC": {
    "kind": "boolean",
    "description": "Updater: Whether or not updates are automatic"
  },
  "UPDATER_SERVICE_ENABLED": {
    "kind": "boolean",
    "description": "Updater: Whether or not the MozillaMaintenance service is enabled"
  },
  "UPDATER_SERVICE_ERROR_CODE": {
    "kind": "enumerated",
    "n_values": 100,
    "description": "Updater: 0=success else SERVICE_* error code defined in /toolkit/mozapps/update/common/errors.h"
  },
  "UPDATER_SERVICE_ERRORS": {
    "kind": "enumerated",
    "n_values": 30,
    "description": "Updater: The number of MozillaMaintenance service errors that have occurred"
  },
  "UPDATER_SERVICE_INSTALLED": {
    "kind": "boolean",
    "description": "Updater: Whether or not the MozillaMaintenance service is installed"
  },
  "UPDATER_SERVICE_MANUALLY_UNINSTALLED": {
    "kind": "boolean",
    "description": "Updater: Whether or not someone manually uninstalled the service."
  },
  "UPDATER_STAGE_ENABLED": {
    "kind": "boolean",
    "description": "Updater: Whether or not staging updates are enabled"
  },
  "UPDATER_HAS_PERMISSIONS": {
    "kind": "boolean",
    "description": "Updater: Whether or not the updater has permissions"
  },
  "UPDATER_WIZ_LAST_PAGE_CODE": {
    "kind": "enumerated",
    "n_values": 25,
    "description": "Updater: The update wizard page displayed when the UI was closed (mapped in toolkit/mozapps/update/content/updates.js)"
  },
  "THUNDERBIRD_GLODA_SIZE_MB": {
    "kind": "linear",
    "high": "1000",
    "n_buckets": 40,
    "description": "Gloda: size of global-messages-db.sqlite (MB)"
  },
  "THUNDERBIRD_CONVERSATIONS_TIME_TO_2ND_GLODA_QUERY_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 30,
    "extended_statistics_ok": true,
    "description": "Conversations: time between the moment we click and the second gloda query returns (ms)"
  },
  "THUNDERBIRD_INDEXING_RATE_MSG_PER_S": {
    "kind": "linear",
    "high": "100",
    "n_buckets": 20,
    "description": "Gloda: indexing rate (message/s)"
  },
  "FX_TAB_ANIM_OPEN_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "description": "Firefox: Time taken by the tab opening animation in milliseconds"
  },
  "FX_TAB_ANIM_CLOSE_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "description": "Firefox: Time taken by the tab closing animation in milliseconds"
  },
  "FX_TAB_ANIM_OPEN_PREVIEW_FRAME_INTERVAL_MS": {
    "kind": "exponential",
    "low" : 7,
    "high": "500",
    "n_buckets": 50,
    "description": "Average frame interval during tab open animation of about:newtab (preview=on), when other tabs are unaffected"
  },
  "FX_TAB_ANIM_OPEN_PREVIEW_FRAME_PAINT_MS": {
    "kind": "exponential",
    "high": "500",
    "n_buckets": 30,
    "description": "Average paint duration during tab open animation of about:newtab (preview=on), when other tabs are unaffected"
  },
  "FX_TAB_ANIM_OPEN_FRAME_INTERVAL_MS": {
    "kind": "exponential",
    "low" : 7,
    "high": "500",
    "n_buckets": 50,
    "description": "Average frame interval during tab open animation of about:newtab (preview=off), when other tabs are unaffected"
  },
  "FX_TAB_ANIM_OPEN_FRAME_PAINT_MS": {
    "kind": "exponential",
    "high": "500",
    "n_buckets": 30,
    "description": "Average paint duration during tab open animation of about:newtab (preview=off), when other tabs are unaffected"
  },
  "FX_TAB_ANIM_ANY_FRAME_INTERVAL_MS": {
    "kind": "exponential",
    "low" : 7,
    "high": "500",
    "n_buckets": 50,
    "description": "Average frame interval during any tab open/close animation (excluding tabstrip scroll)"
  },
  "FX_TAB_ANIM_ANY_FRAME_PAINT_MS": {
    "kind": "exponential",
    "high": "500",
    "n_buckets": 30,
    "description": "Average paint duration during any tab open/close animation (excluding tabstrip scroll)"
  },
  "FX_TAB_SWITCH_UPDATE_MS": {
    "kind": "exponential",
    "high": "1000",
    "n_buckets": 20,
    "description": "Firefox: Time in ms spent updating UI in response to a tab switch"
  },
  "FX_TAB_SWITCH_TOTAL_MS": {
    "kind": "exponential",
    "high": "1000",
    "n_buckets": 20,
    "description": "Firefox: Time in ms till a tab switch is complete including the first paint"
  },
  "FX_TAB_CLICK_MS": {
    "kind": "exponential",
    "high": "1000",
    "n_buckets": 20,
    "description": "Firefox: Time in ms spent on switching tabs in response to a tab click"
  },
  "FX_APP_MENU_OPEN_MS": {
    "kind": "exponential",
    "high": "1000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Firefox: Time taken by the app-menu opening in milliseconds"
  },
  "FX_BOOKMARKS_TOOLBAR_INIT_MS": {
    "kind": "exponential",
    "low": 50,
    "high": "5000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Firefox: Time to initialize the bookmarks toolbar view (ms)"
  },
  "FX_NEW_WINDOW_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 20,
    "extended_statistics_ok": true,
    "description": "Firefox: Time taken to open a new browser window (ms)"
  },
  "FX_PAGE_LOAD_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 20,
    "extended_statistics_ok": true,
    "description": "Firefox: Time taken to load a page (ms)"
  },
  "FX_THUMBNAILS_CAPTURE_TIME_MS": {
    "kind": "exponential",
    "high": "500",
    "n_buckets": 15,
    "extended_statistics_ok": true,
    "description": "THUMBNAILS: Time (ms) it takes to capture a thumbnail"
  },
  "FX_THUMBNAILS_STORE_TIME_MS": {
    "kind": "exponential",
    "high": "500",
    "n_buckets": 15,
    "extended_statistics_ok": true,
    "description": "THUMBNAILS: Time (ms) it takes to store a thumbnail in the cache"
  },
  "FX_THUMBNAILS_HIT_OR_MISS": {
    "kind": "boolean",
    "description": "THUMBNAILS: Thumbnail found"
  },
  "EVENTLOOP_UI_LAG_EXP_MS": {
    "kind": "exponential",
    "low": 50,
    "high": "60000",
    "n_buckets": 20,
    "extended_statistics_ok": true,
    "description": "Widget: Time it takes for the message before a UI message (ms)"
  },
  "FX_SESSION_RESTORE_COLLECT_DATA_MS": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Session restore: Time to collect all window and tab data (ms)"
  },
  "FX_SESSION_RESTORE_COLLECT_DATA_LONGEST_OP_MS": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Session restore: Duration of the longest uninterruptible operation while collecting all window and tab data (ms)"
  },
  "FX_SESSION_RESTORE_SERIALIZE_DATA_MS": {
    "kind": "exponential",
    "high": "1000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Session restore: Time to JSON serialize session data (ms)"
  },
  "FX_SESSION_RESTORE_SERIALIZE_DATA_LONGEST_OP_MS": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Session restore: Duration of the longest uninterruptible operation while serializing session data (ms)"
  },
  "FX_SESSION_RESTORE_READ_FILE_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Session restore: Time to read the session data from the file on disk (ms)"
  },
  "FX_SESSION_RESTORE_SYNC_READ_FILE_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Session restore: Time to read the session data from the file on disk, using the synchronous fallback (ms)"
  },
  "FX_SESSION_RESTORE_WRITE_FILE_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Session restore: Time to write the session data to the file on disk (ms)"
  },
  "FX_SESSION_RESTORE_WRITE_FILE_LONGEST_OP_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Session restore: Duration of the longest uninterruptible operation while writing session data (ms)"
  },
  "FX_SESSION_RESTORE_CORRUPT_FILE": {
    "kind": "boolean",
    "description": "Session restore: Whether the file read on startup contained parse-able JSON"
  },
  "FX_SESSION_RESTORE_BACKUP_FILE_MS": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Session restore: Time to make a backup copy of the session file (ms)"
  },
  "FX_SESSION_RESTORE_RESTORE_WINDOW_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Session restore: Time spent blocking the main thread while restoring a window state (ms)"
  },
  "FX_SESSION_RESTORE_SESSION_LENGTH": {
    "kind": "exponential",
    "high": "365",
    "n_buckets": 15,
    "description": "Session restore: Days elapsed since the session was first started"
  },
  "FX_SESSION_RESTORE_TABSTATECACHE_HIT_RATE": {
     "kind": "enumerated",
     "n_values": 101,
     "description": "Session restore: Percentage of tab state cache hits in all tab state cache accesses"
  },
  "FX_SESSION_RESTORE_TABSTATECACHE_CLEAR_RATIO": {
     "kind": "enumerated",
     "n_values": 101,
     "description": "Session restore: Number of times the tab state cache has been cleared during a session divided by number of total accesses during the session (percentage)"
  },
  "INNERWINDOWS_WITH_MUTATION_LISTENERS": {
    "kind": "boolean",
    "description": "Deleted or to-be-reused innerwindow which has had mutation event listeners."
  },
  "CHARSET_OVERRIDE_SITUATION": {
    "kind": "enumerated",
    "n_values": 7,
    "description": "Labeling status of top-level page when overriding charset (unlabeled file URL without detection, unlabeled non-file URL without detection, unlabeled file URL with detection, unlabeled non-file URL with detection, labeled, already overridden, bug)"
  },
  "CHARSET_OVERRIDE_USED": {
    "kind": "flag",
    "description": "Whether the character encoding menu was used to override an encoding in this session."
  },
  "XUL_FOREGROUND_REFLOW_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "description": "XUL reflows in foreground windows (ms)"
  },
  "XUL_BACKGROUND_REFLOW_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "description": "XUL reflows in background windows (ms)"
  },
  "HTML_FOREGROUND_REFLOW_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "description": "HTML reflows in foreground windows (ms)"
  },
  "HTML_BACKGROUND_REFLOW_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "description": "HTML reflows in background windows (ms)"
  },
  "XUL_INITIAL_FRAME_CONSTRUCTION": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "description": "initial xul frame construction"
  },
  "XMLHTTPREQUEST_ASYNC_OR_SYNC": {
    "kind": "boolean",
    "description": "Type of XMLHttpRequest, async or sync"
  },
  "DOM_TIMERS_FIRED_PER_NATIVE_TIMEOUT": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "DOM: Timer handlers called per native timer expiration"
  },
  "DOM_TIMERS_RECENTLY_SET": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "DOM: setTimeout/setInterval calls recently (last 30s or more)"
  },
  "DOM_RANGE_DETACHED": {
    "kind": "boolean",
    "description": "DOM: Ranges that are detached on destruction (bug 702948)"
  },
  "LOCALDOMSTORAGE_INIT_DATABASE_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time to open the localStorage database (ms)"
  },
  "LOCALDOMSTORAGE_SHUTDOWN_DATABASE_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time to flush and close the localStorage database (ms)"
  },
  "LOCALDOMSTORAGE_PRELOAD_PENDING_ON_FIRST_ACCESS": {
    "kind": "boolean",
    "description": "True when we had to wait for a pending preload on first access to localStorage data, false otherwise"
  },
  "LOCALDOMSTORAGE_GETALLKEYS_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time to return a list of all keys in domain's LocalStorage (ms)"
  },
  "LOCALDOMSTORAGE_GETALLKEYS_BLOCKING_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time to block before we return a list of all keys in domain's LocalStorage (ms)"
  },
  "LOCALDOMSTORAGE_GETKEY_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time to return a key name in domain's LocalStorage (ms)"
  },
  "LOCALDOMSTORAGE_GETKEY_BLOCKING_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time to block before we return a key name in domain's LocalStorage (ms)"
  },
  "LOCALDOMSTORAGE_GETLENGTH_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time to return number of keys in domain's LocalStorage (ms)"
  },
  "LOCALDOMSTORAGE_GETLENGTH_BLOCKING_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time to block before we return number of keys in domain's LocalStorage (ms)"
  },
  "LOCALDOMSTORAGE_GETVALUE_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time to return a value for a key in LocalStorage (ms)"
  },
  "LOCALDOMSTORAGE_GETVALUE_BLOCKING_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time to block before we return a value for a key in LocalStorage (ms)"
  },
  "LOCALDOMSTORAGE_SETVALUE_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time to set a single key's value in LocalStorage (ms)"
  },
  "LOCALDOMSTORAGE_SETVALUE_BLOCKING_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time to block before we set a single key's value in LocalStorage (ms)"
  },
  "LOCALDOMSTORAGE_REMOVEKEY_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time to remove a single key from LocalStorage (ms)"
  },
  "LOCALDOMSTORAGE_REMOVEKEY_BLOCKING_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time to block before we remove a single key from LocalStorage (ms)"
  },
  "LOCALDOMSTORAGE_CLEAR_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time to clear LocalStorage for all domains (ms)"
  },
  "LOCALDOMSTORAGE_CLEAR_BLOCKING_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time to block before we clear LocalStorage for all domains (ms)"
  },
  "LOCALDOMSTORAGE_UNLOAD_BLOCKING_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time to fetch LocalStorage data before we can clean the cache (ms)"
  },
  "LOCALDOMSTORAGE_SESSIONONLY_PRELOAD_BLOCKING_MS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time to fetch LocalStorage data before we can expose them as session only data (ms)"
  },
  "LOCALDOMSTORAGE_KEY_SIZE_BYTES": {
    "kind": "exponential",
    "low": 1024,
    "high": "32768",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "DOM storage: size of keys stored in localStorage"
  },
  "LOCALDOMSTORAGE_VALUE_SIZE_BYTES": {
    "kind": "exponential",
    "low": 1024,
    "high": "32768",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "DOM storage: size of values stored in localStorage"
  },
  "SESSIONDOMSTORAGE_KEY_SIZE_BYTES": {
    "kind": "exponential",
    "low": 1024,
    "high": "32768",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "DOM storage: size of keys stored in sessionStorage"
  },
  "SESSIONDOMSTORAGE_VALUE_SIZE_BYTES": {
    "kind": "exponential",
    "low": 1024,
    "high": "32768",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "DOM storage: size of values stored in sessionStorage"
  },
  "RANGE_CHECKSUM_ERRORS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Number of histograms with range checksum errors"
  },
  "BUCKET_ORDER_ERRORS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Number of histograms with bucket order errors"
  },
  "TOTAL_COUNT_HIGH_ERRORS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Number of histograms with total count high errors"
  },
  "TOTAL_COUNT_LOW_ERRORS": {
    "kind": "exponential",
    "high": "3000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Number of histograms with total count low errors"
  },
  "TELEMETRY_TEST_FLAG": {
    "kind": "flag",
    "description": "a testing histogram; not meant to be touched"
  },
  "STARTUP_CRASH_DETECTED": {
    "kind": "flag",
    "description": "Whether there was a crash during the last startup"
  },
  "SAFE_MODE_USAGE": {
    "kind": "enumerated",
    "n_values": 3,
    "description": "Whether the user is in safe mode (No, Yes, Forced)"
  },
  "NEWTAB_PAGE_ENABLED": {
    "kind": "boolean",
    "description": "New tab page is enabled."
  },
  "NEWTAB_PAGE_PINNED_SITES_COUNT": {
    "kind": "enumerated",
    "n_values": 9,
    "description": "Number of pinned sites on the new tab page."
  },
  "NEWTAB_PAGE_BLOCKED_SITES_COUNT": {
    "kind": "exponential",
    "high": "100",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Number of sites blocked from the new tab page."
  },
  "PANORAMA_INITIALIZATION_TIME_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 15,
    "extended_statistics_ok": true,
    "description": "Time it takes to initialize Panorama (ms)"
  },
  "PANORAMA_GROUPS_COUNT": {
    "kind": "exponential",
    "high": "25",
    "n_buckets": 15,
    "extended_statistics_ok": true,
    "description": "Number of groups in Panorama"
  },
  "PANORAMA_STACKED_GROUPS_COUNT": {
    "kind": "exponential",
    "high": "25",
    "n_buckets": 15,
    "extended_statistics_ok": true,
    "description": "Number of stacked groups in Panorama"
  },
  "PANORAMA_MEDIAN_TABS_IN_GROUPS_COUNT": {
    "kind": "exponential",
    "high": "100",
    "n_buckets": 15,
    "extended_statistics_ok": true,
    "description": "Median of tabs in groups in Panorama"
  },
  "BROWSERPROVIDER_XUL_IMPORT_TIME": {
    "kind": "exponential",
    "low": 20,
    "high": "600000",
    "n_buckets": 20,
    "extended_statistics_ok": true,
    "description": "Time for the initial conversion of a XUL places database (ms)",
    "cpp_guard": "ANDROID"
  },
  "BROWSERPROVIDER_XUL_IMPORT_BOOKMARKS": {
    "kind": "exponential",
    "high": "50000",
    "n_buckets": 20,
    "extended_statistics_ok": true,
    "description": "Number of bookmarks in the original XUL places database",
    "cpp_guard": "ANDROID"
  },
  "BROWSERPROVIDER_XUL_IMPORT_HISTORY": {
    "kind": "exponential",
    "high": "1000000",
    "n_buckets": 20,
    "extended_statistics_ok": true,
    "description": "Number of history entries in the original XUL places database",
    "cpp_guard": "ANDROID"
  },
  "FENNEC_AWESOMEBAR_ALLPAGES_EMPTY_TIME": {
    "kind": "exponential",
    "low": 10,
    "high": "20000",
    "n_buckets": 20,
    "description": "Fennec: Time for the Awesomebar Top Sites query to return with no filter set (ms)",
    "cpp_guard": "ANDROID"
  },
  "FENNEC_LOWMEM_TAB_COUNT": {
    "kind": "exponential",
    "high": 100,
    "n_buckets": 30,
    "description": "How many tabs were open when a low-memory event was received",
    "cpp_guard": "ANDROID"
  },
  "FENNEC_RESTORING_ACTIVITY": {
    "kind": "flag",
    "description": "Fennec is starting up but the Gecko thread was still running",
    "cpp_guard": "ANDROID"
  },
  "FENNEC_STARTUP_TIME_JAVAUI": {
    "kind": "exponential",
    "low": 100,
    "high": "5000",
    "n_buckets": 20,
    "description": "Time for the Java UI to load (ms)",
    "cpp_guard": "ANDROID"
  },
  "FENNEC_STARTUP_TIME_ABOUTHOME": {
    "kind": "exponential",
    "low": 100,
    "high": "10000",
    "n_buckets": 20,
    "description": "Time for the about:home page to be displayed (ms)",
    "cpp_guard": "ANDROID"
  },
  "FENNEC_STARTUP_TIME_GECKOREADY": {
    "kind": "exponential",
    "low": 500,
    "high": "20000",
    "n_buckets": 20,
    "description": "Time for the Gecko:Ready message to arrive (ms)",
    "cpp_guard": "ANDROID"
  },
  "FENNEC_STARTUP_GECKOAPP_ACTION": {
    "kind": "enumerated",
    "n_values": 4,
    "description": "The way the GeckoApp was launched. (Normal, URL, Prefetch, Redirector)",
    "cpp_guard": "ANDROID"
  },
  "FENNEC_TAB_EXPIRED": {
    "kind": "exponential",
    "low": 10,
    "high": 604800,
    "n_buckets": 20,
    "extended_statistics_ok": true,
    "description": "How long (in seconds) a tab was inactive before it was expired",
    "cpp_guard": "ANDROID"
  },
  "FENNEC_TAB_ZOMBIFIED": {
    "kind": "exponential",
    "low": 10,
    "high": 604800,
    "n_buckets": 20,
    "extended_statistics_ok": true,
    "description": "How long (in seconds) a tab was inactive when it was OOM-zombified",
    "cpp_guard": "ANDROID"
  },
  "FENNEC_WAS_KILLED": {
    "kind": "flag",
    "description": "Killed, likely due to an OOM condition",
    "cpp_guard": "ANDROID"
  },
  "SECURITY_UI": {
    "kind": "enumerated",
    "n_values": 100,
    "description": "Security UI Telemetry"
  },
  "SEARCH_SERVICE_INIT_MS": {
    "kind": "exponential",
    "high": "1000",
    "n_buckets": 15,
    "extended_statistics_ok": true,
    "description": "Time (ms) it takes to initialize the search service"
  },
  "SEARCH_SERVICE_BUILD_CACHE_MS": {
    "kind": "exponential",
    "high": "1000",
    "n_buckets": 15,
    "extended_statistics_ok": true,
    "description": "Time (ms) it takes to build the cache of the search service"
  },
  "SOCIAL_ENABLED_ON_SESSION": {
    "kind": "flag",
    "description": "Social has been enabled at least once on the current session"
  },
  "SOCIAL_TOGGLED": {
    "kind": "boolean",
    "description": "Social has been toggled to on or off"
  },
  "ENABLE_PRIVILEGE_EVER_CALLED": {
    "kind": "flag",
    "description": "Whether enablePrivilege has ever been called during the current session"
  },
  "READ_SAVED_PING_SUCCESS": {
    "kind": "boolean",
    "description": "Successfully reading a saved ping file"
  },
  "TOUCH_ENABLED_DEVICE": {
    "kind": "boolean",
    "description": "The device supports touch input",
    "cpp_guard": "XP_WIN"
  },
  "COMPONENTS_SHIM_ACCESSED_BY_CONTENT": {
    "kind": "flag",
    "description": "Whether content ever accesed the Components shim in this session"
  },
  "CHECK_ADDONS_MODIFIED_MS": {
    "kind": "exponential",
    "high": "5000",
    "n_buckets": 15,
    "extended_statistics_ok": true,
    "description": "Time (ms) it takes to figure out extension last modified time"
  },
  "TELEMETRY_MEMORY_REPORTER_MS": {
    "kind": "exponential",
    "high": "5000",
    "n_buckets": 10,
    "extended_statistics_ok": true,
    "description": "Time (ms) it takes to run memory reporters when sending a telemetry ping"
  },
  "SSL_SUCCESFUL_CERT_VALIDATION_TIME_LIBPKIX" : {
    "kind": "exponential",
    "high": "60000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Time spent on a successful cert verification in libpix mode (ms)"
  },
  "SSL_SUCCESFUL_CERT_VALIDATION_TIME_CLASSIC" : {
    "kind": "exponential",
    "high": "60000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Time spent on a successful cert  verification in classic mode (ms)"
  },
  "SSL_INITIAL_FAILED_CERT_VALIDATION_TIME_LIBPKIX" : {
    "kind": "exponential",
    "high": "60000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Time spent on an initially failed cert verification in libpix mode (ms)"
  },
  "SSL_INITIAL_FAILED_CERT_VALIDATION_TIME_CLASSIC" : {
    "kind": "exponential",
    "high": "60000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Time spent on an initially failed cert  verification in classic mode (ms)"
  },
  "HEALTHREPORT_DB_OPEN_FIRSTRUN_MS": {
    "kind": "exponential",
    "high": "20000",
    "n_buckets": 15,
    "description": "Time (ms) spent to open Firefox Health Report's database the first time, including schema setup."
  },
  "HEALTHREPORT_DB_OPEN_MS": {
    "kind": "exponential",
    "high": "20000",
    "n_buckets": 15,
    "description": "Time (ms) spent to open Firefox Health Report's database."
  },
  "HEALTHREPORT_INIT_FIRSTRUN_MS": {
    "kind": "exponential",
    "high": "20000",
    "n_buckets": 15,
    "description": "Time (ms) spent to initialize Firefox Health Report the first time, including provider and collector initialization."
  },
  "HEALTHREPORT_INIT_MS": {
    "kind": "exponential",
    "high": "20000",
    "n_buckets": 15,
    "extended_statistics_ok": true,
    "description": "Time (ms) spent to initialize Firefox Health Report service."
  },
  "HEALTHREPORT_SHUTDOWN_DELAY_MS": {
    "kind": "exponential",
    "high": "20000",
    "n_buckets": 15,
    "extended_statistics_ok": true,
    "description": "Time (ms) that Firefox Health Report delays application shutdown by."
  },
  "HEALTHREPORT_GENERATE_JSON_PAYLOAD_MS": {
    "kind": "exponential",
    "high": "30000",
    "n_buckets": 20,
    "extended_statistics_ok": true,
    "description": "Time (ms) it takes to obtain and format a Health Report JSON payload."
  },
  "HEALTHREPORT_JSON_PAYLOAD_SERIALIZE_MS": {
    "kind": "exponential",
    "high": "5000",
    "n_buckets": 10,
    "description": "Time (ms) it takes to JSON.stringify() the FHR JSON payload."
  },
  "HEALTHREPORT_PAYLOAD_UNCOMPRESSED_BYTES": {
    "kind": "linear",
    "high": "2000000",
    "n_buckets": 202,
    "description": "Size (in bytes) of the raw Health Report payload."
  },
  "HEALTHREPORT_PAYLOAD_COMPRESSED_BYTES": {
    "kind": "linear",
    "high": "2000000",
    "n_buckets": 202,
    "description": "Size (in bytes) of the compressed Health Report payload. This is what is sent over the wire."
  },
  "HEALTHREPORT_UPLOAD_MS": {
    "kind": "exponential",
    "high": "60000",
    "n_buckets": 20,
    "extended_statistics_ok": true,
    "description": "Time (ms) it takes to upload the Health Report payload."
  },
  "HEALTHREPORT_COLLECT_CONSTANT_DATA_MS": {
    "kind": "exponential",
    "high": "20000",
    "n_buckets": 15,
    "description": "Time (ms) it takes FHR to collect constant data."
  },
  "HEALTHREPORT_COLLECT_DAILY_MS": {
    "kind": "exponential",
    "high": "20000",
    "n_buckets": 15,
    "description": "Time (ms) it takes FHR to collect daily data."
  },
  "HEALTHREPORT_SHUTDOWN_MS": {
    "kind": "exponential",
    "high": "20000",
    "n_buckets": 15,
    "description": "Time (ms) it takes FHR to shut down."
  },
  "HEALTHREPORT_POST_COLLECT_CHECKPOINT_MS": {
    "kind": "exponential",
    "high": "20000",
    "n_buckets": 15,
    "description": "Time (ms) for a WAL checkpoint after collecting all measurements."
  },
  "PDF_VIEWER_USED": {
    "kind": "boolean",
    "description": "How many times PDF Viewer was used"
  },
  "PDF_VIEWER_FALLBACK_SHOWN": {
    "kind": "boolean",
    "description": "How many times PDF Viewer fallback bar was shown"
  },
  "PDF_VIEWER_PRINT": {
    "kind": "boolean",
    "description": "How many times PDF Viewer print functionality was used"
  },
  "PDF_VIEWER_DOCUMENT_VERSION": {
    "kind": "enumerated",
    "n_values": 20,
    "description": "The PDF document version (1.1, 1.2, etc.)"
  },
  "PDF_VIEWER_DOCUMENT_GENERATOR": {
    "kind": "enumerated",
    "n_values": 30,
    "description": "The PDF document generator"
  },
  "PDF_VIEWER_DOCUMENT_SIZE_KB": {
    "kind": "exponential",
    "low": "2",
    "high": "64 * 1024",
    "n_buckets": 20,
    "description": "The PDF document size (KB)"
  },
  "PDF_VIEWER_FORM": {
    "kind": "boolean",
    "description": "A PDF form expected: true for AcroForm and false for XFA"
  },
  "PDF_VIEWER_STREAM_TYPES": {
    "kind": "enumerated",
    "n_values": 9,
    "description": "The PDF document compression stream types used"
  },
  "PDF_VIEWER_TIME_TO_VIEW_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "description": "Time spent to display first page in PDF Viewer (ms)"
  },
  "SHUMWAY_TIME_TO_VIEW_MS": {
    "kind": "exponential",
    "high": "2 * 60 * 1000",
    "n_buckets": 50,
    "description": "Time spent to display first frame (ms)"
  },
  "SHUMWAY_PARSING_MS": {
    "kind": "exponential",
    "high": "2 * 60 * 1000",
    "n_buckets": 50,
    "description": "Time spent to parse SWF file (ms)"
  },
  "SHUMWAY_SWF_INDEX_ON_PAGE": {
    "kind": "enumerated",
    "n_values": 30,
    "description": "Index of the SWF on the page (0 - full page, 1 - first, 2 - second, etc.)"
  },
  "SHUMWAY_SWF_SIZE_KB": {
    "kind": "exponential",
    "low": "1",
    "high": "256 * 1024",
    "n_buckets": 50,
    "description": "The SWF file size (KB)"
  },
  "SHUMWAY_SWF_VERSION": {
    "kind": "enumerated",
    "n_values": 30,
    "description": "The SWF file version"
  },
  "SHUMWAY_SWF_FRAME_RATE": {
    "kind": "linear",
    "high": "256",
    "n_buckets": "50",
    "description": "The SWF file frame rate"
  },
  "SHUMWAY_SWF_AREA": {
    "kind": "exponential",
    "low": "256",
    "high": "16777216",
    "n_buckets": 50,
    "description": "The SWF file dimension: amount of pixels (width * height)"
  },
  "SHUMWAY_SWF_AVM2": {
    "kind": "boolean",
    "description": "The AVM2 is enabled in the SWF file"
  },
  "SHUMWAY_SWF_BANNER": {
    "kind": "enumerated",
    "n_values": 30,
    "description": "The well-known banner size"
  },
  "SHUMWAY_ERROR": {
    "kind": "enumerated",
    "n_values": 3,
    "description": "The Shumway reported error: 0 - unknown, 1 - AVM1, 2 - AVM2)"
  },
  "SHUMWAY_FEATURE_USED": {
    "kind": "enumerated",
    "n_values": 700,
    "description": "The Shumway feature is used during movie execution"
  },
  "SHUMWAY_FALLBACK": {
    "kind": "boolean",
    "description": "The Shumway was selected to fallback to the Flash (false - by heuristics, true - by user)"
  },
  "PLUGINS_NOTIFICATION_SHOWN": {
    "kind": "boolean",
    "description": "The number of times the click-to-activate notification was shown: false: shown by in-content activation true: shown by location bar activation"
  },
  "PLUGINS_NOTIFICATION_PLUGIN_COUNT": {
    "kind": "enumerated",
    "n_values": 5,
    "description": "The number of plugins present in the click-to-activate notification, minus one (1, 2, 3, 4, more than 4)"
  },
  "PLUGINS_NOTIFICATION_USER_ACTION": {
    "kind": "enumerated",
    "n_values": 3,
    "description": "User actions taken in the plugin notification: 0: allownow 1: allowalways 2: block"
  },
  "POPUP_NOTIFICATION_MAINACTION_TRIGGERED_MS": {
    "kind": "linear",
    "low": 25,
    "high": "80 * 25",
    "n_buckets": "80 + 1",
    "description": "The time (in milliseconds) after showing a PopupNotification that the mainAction was first triggered"
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_RELOAD_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'reload' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_RELOAD_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'reload' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_NAVIGATETO_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'navigateTo' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_NAVIGATETO_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'navigateTo' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_EVENTLISTENERS_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took an 'eventListeners' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_EVENTLISTENERS_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took an 'eventListeners' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_DETACH_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'detach' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_DETACH_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'detach' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_RESUME_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'resume' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_RESUME_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'resume' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_INTERRUPT_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took an 'interrupt' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_INTERRUPT_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took an 'interrupt' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_CLIENTEVALUATE_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'clientEvaluate' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_CLIENTEVALUATE_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'clientEvaluate' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_RELEASEMANY_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'releaseMany' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_RELEASEMANY_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'releaseMany' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_THREADGRIPS_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'threadGrips' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_THREADGRIPS_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'threadGrips' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_SOURCES_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'sources' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_SOURCES_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'sources' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_FRAMES_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'frames' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_FRAMES_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'frames' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_PARAMETERNAMES_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'parameterNames' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_PARAMETERNAMES_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'parameterNames' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_OWNPROPERTYNAMES_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'ownPropertyNames' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_OWNPROPERTYNAMES_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'ownPropertyNames' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_PROTOTYPEANDPROPERTIES_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'prototypeAndProperties' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_PROTOTYPEANDPROPERTIES_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'prototypeAndProperties' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_PROTOTYPESANDPROPERTIES_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'prototypesAndProperties' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_PROTOTYPESANDPROPERTIES_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'prototypesAndProperties' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_PROPERTY_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'property' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_PROPERTY_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'property' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_PROTOTYPE_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'prototype' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_PROTOTYPE_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'prototype' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_DISPLAYSTRING_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'displayString' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_DISPLAYSTRING_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'displayString' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_SUBSTRING_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'substring' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_SUBSTRING_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'substring' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_RELEASE_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'release' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_RELEASE_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'release' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_LISTTABS_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'listTabs' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_LISTTABS_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'listTabs' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_LISTADDONS_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'listAddons' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_LISTADDONS_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'listAddons' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_DELETE_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'delete' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_DELETE_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'delete' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_THREADDETACH_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'detach' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_THREADDETACH_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'detach' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_TABDETACH_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'detach' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_TABDETACH_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'detach' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_DISPLAY_SOURCE_LOCAL_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took to display a selected source to the user."
  },
  "DEVTOOLS_DEBUGGER_DISPLAY_SOURCE_REMOTE_MS":{
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took to display a selected source to the user."
  },
  "WEBRTC_ICE_SUCCESS_RATE":{
    "kind": "boolean",
    "description": "The number of failed ICE Connections (0) vs. number of successful ICE connections (1)."
  },
  "WEBRTC_CALL_DURATION":{
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The length of time (in seconds) that a call lasted."
  },
  "WEBRTC_CALL_COUNT":{
    "kind": "exponential",
    "high": "500",
    "n_buckets": "50",
    "description": "The number of calls made during a session."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_TRACERDETACH_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'detach' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_TRACERDETACH_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'detach' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_STARTTRACE_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'startTrace' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_STARTTRACE_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'startTrace' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_STOPTRACE_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'stopTrace' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_STOPTRACE_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'stopTrace' request to go round trip."
  },
  "COOKIES_3RDPARTY_NUM_SITES_ACCEPTED": {
    "kind": "linear",
    "low": "5",
    "high": "145",
    "n_buckets": "30",
    "description": "The number of distinct pairs (first-party site, third-party site attempting to set cookie) for which the third-party cookie has been accepted. Sites are considered identical if they have the same eTLD + 1. Measures are normalized per 24h."
  },
  "COOKIES_3RDPARTY_NUM_SITES_BLOCKED": {
    "kind": "linear",
    "low": "5",
    "high": "145",
    "n_buckets": "30",
    "description": "The number of distinct pairs (first-party site, third-party site attempting to set cookie) for which the third-party cookie has been rejected. Sites are considered identical if they have the same eTLD + 1. Measures are normalized per 24h."
  },
  "COOKIES_3RDPARTY_NUM_ATTEMPTS_ACCEPTED": {
    "kind": "linear",
    "low": "10",
    "high": "500",
    "n_buckets": "50",
    "description": "The total number of distinct attempts by third-party sites to place cookies which have been accepted.  Measures are normalized per 24h."
  },
  "COOKIES_3RDPARTY_NUM_ATTEMPTS_BLOCKED": {
    "kind": "linear",
    "low": "10",
    "high": "500",
    "n_buckets": "50",
    "description": "The total number of distinct attempts by third-party sites to place cookies which have been rejected.  Measures are normalized per 24h."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_BLACKBOX_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'blackbox' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_BLACKBOX_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'blackbox' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_UNBLACKBOX_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took an 'ublackbox' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_UNBLACKBOX_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took an 'unblackbox' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_SCOPE_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'scope' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_SCOPE_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'scope' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_BINDINGS_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'bindings' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_BINDINGS_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took a 'bindings' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_LOCAL_ASSIGN_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took an 'assign' request to go round trip."
  },
  "DEVTOOLS_DEBUGGER_RDP_REMOTE_ASSIGN_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": "1000",
    "description": "The time (in milliseconds) that it took an 'assign' request to go round trip."
  },
  "DEVTOOLS_OPTIONS_OPENED_BOOLEAN": {
    "kind": "boolean",
    "description": "How many times has the devtool's Options panel been opened?"
  },
  "DEVTOOLS_WEBCONSOLE_OPENED_BOOLEAN": {
    "kind": "boolean",
    "description": "How many times has the devtool's Web Console been opened?"
  },
  "DEVTOOLS_BROWSERCONSOLE_OPENED_BOOLEAN": {
    "kind": "boolean",
    "description": "How many times has the devtool's Browser Console been opened?"
  },
  "DEVTOOLS_INSPECTOR_OPENED_BOOLEAN": {
    "kind": "boolean",
    "description": "How many times has the devtool's Inspector been opened?"
  },
  "DEVTOOLS_RULEVIEW_OPENED_BOOLEAN": {
    "kind": "boolean",
    "description": "How many times has the devtool's Rule View been opened?"
  },
  "DEVTOOLS_COMPUTEDVIEW_OPENED_BOOLEAN": {
    "kind": "boolean",
    "description": "How many times has the devtool's Computed View been opened?"
  },
  "DEVTOOLS_LAYOUTVIEW_OPENED_BOOLEAN": {
    "kind": "boolean",
    "description": "How many times has the devtool's Layout View been opened?"
  },
  "DEVTOOLS_FONTINSPECTOR_OPENED_BOOLEAN": {
    "kind": "boolean",
    "description": "How many times has the devtool's Font Inspector been opened?"
  },
  "DEVTOOLS_JSDEBUGGER_OPENED_BOOLEAN": {
    "kind": "boolean",
    "description": "How many times has the devtool's Debugger been opened?"
  },
  "DEVTOOLS_JSBROWSERDEBUGGER_OPENED_BOOLEAN": {
    "kind": "boolean",
    "description": "How many times has the devtool's Browser Debugger been opened?"
  },
  "DEVTOOLS_STYLEEDITOR_OPENED_BOOLEAN": {
    "kind": "boolean",
    "description": "How many times has the devtool's Style Editor been opened?"
  },
  "DEVTOOLS_JSPROFILER_OPENED_BOOLEAN": {
    "kind": "boolean",
    "description": "How many times has the devtool's JS Profiler been opened?"
  },
  "DEVTOOLS_NETMONITOR_OPENED_BOOLEAN": {
    "kind": "boolean",
    "description": "How many times has the devtool's Network Monitor been opened?"
  },
  "DEVTOOLS_PAINTFLASHING_OPENED_BOOLEAN": {
    "kind": "boolean",
    "description": "How many times has the devtool's Paint Flashing been opened via the toolbox button?"
  },
  "DEVTOOLS_TILT_OPENED_BOOLEAN": {
    "kind": "boolean",
    "description": "How many times has the devtool's Tilt been opened via the toolbox button?"
  },
  "DEVTOOLS_SCRATCHPAD_OPENED_BOOLEAN": {
    "kind": "boolean",
    "description": "How many times has the devtool's Scratchpad been opened via the toolbox button?"
  },
  "DEVTOOLS_RESPONSIVE_OPENED_BOOLEAN": {
    "kind": "boolean",
    "description": "How many times has the devtool's Responsive View been opened via the toolbox button?"
  },
  "DEVTOOLS_DEVELOPERTOOLBAR_OPENED_BOOLEAN": {
    "kind": "boolean",
    "description": "How many times has the devtool's Developer Toolbar been opened via the toolbox button?"
  },
  "DEVTOOLS_OPTIONS_OPENED_PER_USER_FLAG": {
    "kind": "flag",
    "description": "How many times has the devtool's Options panel been opened?"
  },
  "DEVTOOLS_WEBCONSOLE_OPENED_PER_USER_FLAG": {
    "kind": "flag",
    "description": "How many users have opened the devtool's Web Console?"
  },
  "DEVTOOLS_BROWSERCONSOLE_OPENED_PER_USER_FLAG": {
    "kind": "flag",
    "description": "How many users have opened the devtool's Browser Console?"
  },
  "DEVTOOLS_INSPECTOR_OPENED_PER_USER_FLAG": {
    "kind": "flag",
    "description": "How many users have opened the devtool's Inspector?"
  },
  "DEVTOOLS_RULEVIEW_OPENED_PER_USER_FLAG": {
    "kind": "flag",
    "description": "How many users have opened the devtool's Rule View?"
  },
  "DEVTOOLS_COMPUTEDVIEW_OPENED_PER_USER_FLAG": {
    "kind": "flag",
    "description": "How many users have opened the devtool's Computed View?"
  },
  "DEVTOOLS_LAYOUTVIEW_OPENED_PER_USER_FLAG": {
    "kind": "flag",
    "description": "How many users have opened the devtool's Layout View?"
  },
  "DEVTOOLS_FONTINSPECTOR_OPENED_PER_USER_FLAG": {
    "kind": "flag",
    "description": "How many users have opened the devtool's Font Inspector?"
  },
  "DEVTOOLS_JSDEBUGGER_OPENED_PER_USER_FLAG": {
    "kind": "flag",
    "description": "How many users have opened the devtool's Debugger?"
  },
  "DEVTOOLS_JSBROWSERDEBUGGER_OPENED_PER_USER_FLAG": {
    "kind": "flag",
    "description": "How many users have opened the devtool's Browser Debugger?"
  },
  "DEVTOOLS_STYLEEDITOR_OPENED_PER_USER_FLAG": {
    "kind": "flag",
    "description": "How many users have opened the devtool's Style Editor?"
  },
  "DEVTOOLS_JSPROFILER_OPENED_PER_USER_FLAG": {
    "kind": "flag",
    "description": "How many users have opened the devtool's JS Profiler?"
  },
  "DEVTOOLS_NETMONITOR_OPENED_PER_USER_FLAG": {
    "kind": "flag",
    "description": "How many users have opened the devtool's Network Monitor?"
  },
  "DEVTOOLS_PAINTFLASHING_OPENED_PER_USER_FLAG": {
    "kind": "flag",
    "description": "How many users have opened the devtool's Paint Flashing been opened via the toolbox button?"
  },
  "DEVTOOLS_TILT_OPENED_PER_USER_FLAG": {
    "kind": "flag",
    "description": "How many users have opened the devtool's Tilt been opened via the toolbox button?"
  },
  "DEVTOOLS_SCRATCHPAD_OPENED_PER_USER_FLAG": {
    "kind": "flag",
    "description": "How many users have opened the devtool's Scratchpad been opened via the toolbox button?"
  },
  "DEVTOOLS_RESPONSIVE_OPENED_PER_USER_FLAG": {
    "kind": "flag",
    "description": "How many users have opened the devtool's Responsive View been opened via the toolbox button?"
  },
  "DEVTOOLS_DEVELOPERTOOLBAR_OPENED_PER_USER_FLAG": {
    "kind": "flag",
    "description": "How many users have opened the devtool's Developer Toolbar been opened via the toolbox button?"
  },
  "DEVTOOLS_TOOLBOX_TIME_ACTIVE_SECONDS": {
    "kind": "exponential",
    "high": "10000000",
    "n_buckets": 100,
    "description": "How long has the toolbox been active (seconds)"
  },
  "DEVTOOLS_OPTIONS_TIME_ACTIVE_SECONDS": {
    "kind": "exponential",
    "high": "10000000",
    "n_buckets": 100,
    "description": "How long has the options panel been active (seconds)"
  },
  "DEVTOOLS_WEBCONSOLE_TIME_ACTIVE_SECONDS": {
    "kind": "exponential",
    "high": "10000000",
    "n_buckets": 100,
    "description": "How long has the web console been active (seconds)"
  },
  "DEVTOOLS_BROWSERCONSOLE_TIME_ACTIVE_SECONDS": {
    "kind": "exponential",
    "high": "10000000",
    "n_buckets": 100,
    "description": "How long has the browser console been active (seconds)"
  },
  "DEVTOOLS_INSPECTOR_TIME_ACTIVE_SECONDS": {
    "kind": "exponential",
    "high": "10000000",
    "n_buckets": 100,
    "description": "How long has the inspector been active (seconds)"
  },
  "DEVTOOLS_RULEVIEW_TIME_ACTIVE_SECONDS": {
    "kind": "exponential",
    "high": "10000000",
    "n_buckets": 100,
    "description": "How long has the rule view been active (seconds)"
  },
  "DEVTOOLS_COMPUTEDVIEW_TIME_ACTIVE_SECONDS": {
    "kind": "exponential",
    "high": "10000000",
    "n_buckets": 100,
    "description": "How long has the computed view been active (seconds)"
  },
  "DEVTOOLS_LAYOUTVIEW_TIME_ACTIVE_SECONDS": {
    "kind": "exponential",
    "high": "10000000",
    "n_buckets": 100,
    "description": "How long has the layout view been active (seconds)"
  },
  "DEVTOOLS_FONTINSPECTOR_TIME_ACTIVE_SECONDS": {
    "kind": "exponential",
    "high": "10000000",
    "n_buckets": 100,
    "description": "How long has the font inspector been active (seconds)"
  },
  "DEVTOOLS_JSDEBUGGER_TIME_ACTIVE_SECONDS": {
    "kind": "exponential",
    "high": "10000000",
    "n_buckets": 100,
    "description": "How long has the JS debugger been active (seconds)"
  },
  "DEVTOOLS_JSBROWSERDEBUGGER_TIME_ACTIVE_SECONDS": {
    "kind": "exponential",
    "high": "10000000",
    "n_buckets": 100,
    "description": "How long has the JS browser debugger been active (seconds)"
  },
  "DEVTOOLS_STYLEEDITOR_TIME_ACTIVE_SECONDS": {
    "kind": "exponential",
    "high": "10000000",
    "n_buckets": 100,
    "description": "How long has the style editor been active (seconds)"
  },
  "DEVTOOLS_JSPROFILER_TIME_ACTIVE_SECONDS": {
    "kind": "exponential",
    "high": "10000000",
    "n_buckets": 100,
    "description": "How long has the JS profiler been active (seconds)"
  },
  "DEVTOOLS_NETMONITOR_TIME_ACTIVE_SECONDS": {
    "kind": "exponential",
    "high": "10000000",
    "n_buckets": 100,
    "description": "How long has the network monitor been active (seconds)"
  },
  "DEVTOOLS_PAINTFLASHING_TIME_ACTIVE_SECONDS": {
    "kind": "exponential",
    "high": "10000000",
    "n_buckets": 100,
    "description": "How long has paint flashing been active (seconds)"
  },
  "DEVTOOLS_TILT_TIME_ACTIVE_SECONDS": {
    "kind": "exponential",
    "high": "10000000",
    "n_buckets": 100,
    "description": "How long has Tilt been active (seconds)"
  },
  "DEVTOOLS_SCRATCHPAD_TIME_ACTIVE_SECONDS": {
    "kind": "exponential",
    "high": "10000000",
    "n_buckets": 100,
    "description": "How long has Scratchpad been active (seconds)"
  },
  "DEVTOOLS_RESPONSIVE_TIME_ACTIVE_SECONDS": {
    "kind": "exponential",
    "high": "10000000",
    "n_buckets": 100,
    "description": "How long has the responsive view been active (seconds)"
  },
  "DEVTOOLS_DEVELOPERTOOLBAR_TIME_ACTIVE_SECONDS": {
    "kind": "exponential",
    "high": "10000000",
    "n_buckets": 100,
    "description": "How long has the developer toolbar been active (seconds)"
  },
  "BROWSER_IS_USER_DEFAULT": {
    "kind": "boolean",
    "description": "The result of the startup default desktop browser check."
  },
  "MIXED_CONTENT_PAGE_LOAD": {
    "kind": "enumerated",
    "n_values": 4,
    "description": "Accumulates type of content (mixed, mixed passive, unmixed) per page load"
  },
  "MIXED_CONTENT_UNBLOCK_COUNTER": {
    "kind": "enumerated",
    "n_values": 3,
    "description": "A simple counter of daily mixed-content unblock operations and top documents loaded"
  },
  "NTLM_MODULE_USED_2": {
    "kind": "enumerated",
    "n_values": 8,
    "description": "The module used for the NTLM protocol (Windows_API, Kerberos, Samba_auth or Generic) and whether or not the authentication was used to connect to a proxy server. This data is collected only once per session (at first NTLM authentification) ; fixed version."
  },
  "FX_THUMBNAILS_BG_QUEUE_SIZE_ON_CAPTURE": {
    "kind": "exponential",
    "high": 100,
    "n_buckets": 15,
    "extended_statistics_ok": true,
    "description": "BACKGROUND THUMBNAILS: Size of capture queue when a capture request is received"
  },
  "FX_THUMBNAILS_BG_CAPTURE_QUEUE_TIME_MS": {
    "kind": "exponential",
    "high": 300000,
    "n_buckets": 20,
    "extended_statistics_ok": true,
    "description": "BACKGROUND THUMBNAILS: Time the capture request spent in the queue before being serviced (ms)"
  },
  "FX_THUMBNAILS_BG_CAPTURE_SERVICE_TIME_MS": {
    "kind": "exponential",
    "high": 30000,
    "n_buckets": 20,
    "extended_statistics_ok": true,
    "description": "BACKGROUND THUMBNAILS: Time the capture took once it started and successfully completed (ms)"
  },
  "FX_THUMBNAILS_BG_CAPTURE_DONE_REASON_2": {
    "kind": "enumerated",
    "n_values": 10,
    "description": "BACKGROUND THUMBNAILS: Reason the capture completed (see TEL_CAPTURE_DONE_* constants in BackgroundPageThumbs.jsm)"
  },
  "FX_THUMBNAILS_BG_CAPTURE_PAGE_LOAD_TIME_MS": {
    "kind": "exponential",
    "high": 60000,
    "n_buckets": 20,
    "extended_statistics_ok": true,
    "description": "BACKGROUND THUMBNAILS: Time the capture's page load took (ms)"
  },
  "FX_THUMBNAILS_BG_CAPTURE_CANVAS_DRAW_TIME_MS": {
    "kind": "exponential",
    "high": 500,
    "n_buckets": 15,
    "extended_statistics_ok": true,
    "description": "BACKGROUND THUMBNAILS: Time it took to draw the capture's window to canvas (ms)"
  },
  "NETWORK_CACHE_V2_MISS_TIME_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Time spent to find out a cache entry file is missing"
  },
  "NETWORK_CACHE_V2_HIT_TIME_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Time spent to open an existing file"
  },
  "NETWORK_CACHE_V1_TRUNCATE_TIME_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Time spent to reopen an entry with OPEN_TRUNCATE"
  },
  "NETWORK_CACHE_V1_MISS_TIME_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Time spent to find out a cache entry is missing"
  },
  "NETWORK_CACHE_V1_HIT_TIME_MS": {
    "kind": "exponential",
    "high": "10000",
    "n_buckets": 50,
    "extended_statistics_ok": true,
    "description": "Time spent to open an existing cache entry"
  }
}