Bug 1636419 - Enable main GC timing telemetry on geckoview r=sfink
authorJon Coppeard <jcoppeard@mozilla.com>
Fri, 22 May 2020 18:38:30 +0000
changeset 531703 8fbcd4668bae62cbba94dfa1657b0d8cce8aa225
parent 531702 a2bde621288c12c60a129b1f5eeb1dce5a544c20
child 531704 327c6c5acdbcbd884f818c0fa7b507048642291b
push id37442
push userncsoregi@mozilla.com
push dateSat, 23 May 2020 09:21:24 +0000
treeherdermozilla-central@bbcc193fe0f0 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerssfink
bugs1636419
milestone78.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1636419 - Enable main GC timing telemetry on geckoview r=sfink This adds data for the time taking by the different phases plus slice time. Differential Revision: https://phabricator.services.mozilla.com/D76341
toolkit/components/telemetry/Histograms.json
toolkit/components/telemetry/geckoview/streaming/metrics.yaml
--- a/toolkit/components/telemetry/Histograms.json
+++ b/toolkit/components/telemetry/Histograms.json
@@ -720,17 +720,17 @@
     "kind": "exponential",
     "high": 10000,
     "n_buckets": 50,
     "releaseChannelCollection": "opt-out",
     "description": "Longest GC slice in a GC (ms)"
   },
   "GC_PREPARE_MS": {
     "record_in_processes": ["main", "content"],
-    "products": ["firefox"],
+    "products": ["firefox", "geckoview_streaming"],
     "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org", "jcoppeard@mozilla.com"],
     "expires_in_version": "never",
     "releaseChannelCollection": "opt-out",
     "kind": "exponential",
     "high": 1000,
     "n_buckets": 50,
     "description": "Time spent running JS GC preparation phase (ms)",
     "bug_numbers": [1637642]
@@ -742,47 +742,47 @@
     "expires_in_version": "never",
     "kind": "exponential",
     "high": 10000,
     "n_buckets": 50,
     "description": "Time spent running JS GC mark phase (ms)"
   },
   "GC_SWEEP_MS": {
     "record_in_processes": ["main", "content"],
-    "products": ["firefox", "fennec", "geckoview"],
+    "products": ["firefox", "fennec", "geckoview", "geckoview_streaming"],
     "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
     "expires_in_version": "never",
     "kind": "exponential",
     "high": 10000,
     "n_buckets": 50,
     "description": "Time spent running JS GC sweep phase (ms)"
   },
   "GC_COMPACT_MS": {
     "record_in_processes": ["main", "content"],
-    "products": ["firefox", "fennec", "geckoview"],
+    "products": ["firefox", "fennec", "geckoview", "geckoview_streaming"],
     "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
     "expires_in_version": "never",
     "kind": "exponential",
     "high": 10000,
     "n_buckets": 50,
     "description": "Time spent running JS GC compact phase (ms)"
   },
   "GC_MARK_ROOTS_MS": {
     "record_in_processes": ["main", "content"],
-    "products": ["firefox", "fennec", "geckoview"],
+    "products": ["firefox", "fennec", "geckoview", "geckoview_streaming"],
     "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
     "expires_in_version": "81",
     "kind": "linear",
     "high": 200,
     "n_buckets": 50,
     "description": "Time spent marking GC roots (ms)"
   },
   "GC_MARK_ROOTS_US": {
     "record_in_processes": ["main", "content"],
-    "products": ["firefox"],
+    "products": ["firefox", "geckoview_streaming"],
     "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org", "jcoppeard@mozilla.com"],
     "expires_in_version": "never",
     "releaseChannelCollection": "opt-out",
     "kind": "exponential",
     "high": 150000,
     "n_buckets": 50,
     "description": "Time spent marking GC roots (us)",
     "bug_numbers": [1637318]
@@ -818,17 +818,17 @@
     "kind": "exponential",
     "high": 10000,
     "n_buckets": 50,
     "description": "Time spent marking GC objects held live through weakmaps (ms)",
     "bug_numbers": [1637642]
   },
   "GC_SLICE_MS": {
     "record_in_processes": ["main", "content"],
-    "products": ["firefox", "fennec", "geckoview"],
+    "products": ["firefox", "fennec", "geckoview", "geckoview_streaming"],
     "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
     "expires_in_version": "never",
     "kind": "exponential",
     "high": 10000,
     "n_buckets": 50,
     "description": "Time spent running a JS GC slice (ms)"
   },
   "GC_SLOW_PHASE": {
@@ -911,17 +911,17 @@
     "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
     "expires_in_version": "never",
     "kind": "enumerated",
     "n_values": 100,
     "description": "Reason (enum value) that caused a long (>1ms) minor GC"
   },
   "GC_MINOR_US": {
     "record_in_processes": ["main", "content"],
-    "products": ["firefox", "fennec", "geckoview"],
+    "products": ["firefox", "fennec", "geckoview", "geckoview_streaming"],
     "alert_emails": ["dev-telemetry-gc-alerts@mozilla.org"],
     "expires_in_version": "never",
     "kind": "exponential",
     "high": 1000000,
     "n_buckets": 100,
     "description": "Time spent running JS minor GC (us)"
   },
   "GC_NURSERY_BYTES_2": {
--- a/toolkit/components/telemetry/geckoview/streaming/metrics.yaml
+++ b/toolkit/components/telemetry/geckoview/streaming/metrics.yaml
@@ -1097,17 +1097,122 @@ performance.interaction:
     expires: never
 
 javascript.gc:
   total_time:
     type: timing_distribution
     time_unit: millisecond
     gecko_datapoint: GC_MS
     description: >
-      The total time taken by a collection.
+      The total time taken by a major collection.
     bugs:
       - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419
     data_reviews:
       - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419#c8
     notification_emails:
       - dev-telemetry-gc-alerts@mozilla.org
       - jcoppeard@mozilla.com
     expires: never
+
+  minor_time:
+    type: timing_distribution
+    time_unit: millisecond
+    gecko_datapoint: GC_MINOR_US
+    description: >
+      The time taked by a minor (nursery) collection.
+    bugs:
+      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419
+    data_reviews:
+      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419#c17
+    notification_emails:
+      - dev-telemetry-gc-alerts@mozilla.org
+      - jcoppeard@mozilla.com
+    expires: never
+
+  prepare_time:
+    type: timing_distribution
+    time_unit: millisecond
+    gecko_datapoint: GC_PREPARE_MS
+    description: >
+      The time spent in the preparation phase.
+    bugs:
+      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419
+    data_reviews:
+      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419#c17
+    notification_emails:
+      - dev-telemetry-gc-alerts@mozilla.org
+      - jcoppeard@mozilla.com
+    expires: never
+
+  mark_roots_time:
+    type: timing_distribution
+    time_unit: microsecond
+    gecko_datapoint: GC_MARK_ROOTS_US
+    description: >
+      The time spent marking GC roots.
+    bugs:
+      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419
+    data_reviews:
+      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419#c17
+    notification_emails:
+      - dev-telemetry-gc-alerts@mozilla.org
+      - jcoppeard@mozilla.com
+    expires: never
+
+  mark_time:
+    type: timing_distribution
+    time_unit: millisecond
+    gecko_datapoint: GC_MARK_MS
+    description: >
+      The time spent in the mark phase.
+    bugs:
+      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419
+    data_reviews:
+      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419#c17
+    notification_emails:
+      - dev-telemetry-gc-alerts@mozilla.org
+      - jcoppeard@mozilla.com
+    expires: never
+
+  sweep_time:
+    type: timing_distribution
+    time_unit: millisecond
+    gecko_datapoint: GC_SWEEP_MS
+    description: >
+      The time spent in the sweep phase.
+    bugs:
+      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419
+    data_reviews:
+      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419#c17
+    notification_emails:
+      - dev-telemetry-gc-alerts@mozilla.org
+      - jcoppeard@mozilla.com
+    expires: never
+
+  compact_time:
+    type: timing_distribution
+    time_unit: millisecond
+    gecko_datapoint: GC_COMPACT_MS
+    description: >
+      The time spent in the compact phase.
+    bugs:
+      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419
+    data_reviews:
+      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419#c17
+    notification_emails:
+      - dev-telemetry-gc-alerts@mozilla.org
+      - jcoppeard@mozilla.com
+    expires: never
+
+  slice_time:
+    type: timing_distribution
+    time_unit: millisecond
+    gecko_datapoint: GC_SLICE_MS
+    description: >
+      The time spent running a GC slice.
+    bugs:
+      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419
+    data_reviews:
+      - https://bugzilla.mozilla.org/show_bug.cgi?id=1636419#c17
+    notification_emails:
+      - dev-telemetry-gc-alerts@mozilla.org
+      - jcoppeard@mozilla.com
+    expires: never