Bug 1338347 - Add telemetry histograms for frame throughput and frame drops during compositor animations. r?bsmedberg draft
authorKartikaya Gupta <kgupta@mozilla.com>
Mon, 20 Mar 2017 11:41:05 -0400
changeset 501571 4db7db2c0b17701d5fe3fc6098d32046f3ae8dd8
parent 501570 89a36d902d408c4e8be09833f62aae5eec75f93d
child 501572 92e634c0afc4dedf67440daabd8b070d7db4065e
push id50031
push userkgupta@mozilla.com
push dateMon, 20 Mar 2017 15:42:18 +0000
reviewersbsmedberg
bugs1338347
milestone55.0a1
Bug 1338347 - Add telemetry histograms for frame throughput and frame drops during compositor animations. r?bsmedberg There are two sets of three probes here. The first set of probes reports the maximum contiguous frames dropped during compositor animations. This gives us some idea of the volatility of the compositor framerate. The second set of probes reports the frame throughput, which is the number of actual frames composited divided by the expected number of frames (based on the vsync interval and wall-clock time) during compositor animations. The ratio is scaled up to 1000, so values of 1000 should indicate a "perfect score". The probes use linear bucketing with a max value of 1500 in case we get abnormal cases where we composite more frames than expected. Within each set, there is one probe for compositor animations triggered by the chrome process, one for compositor animations triggered by a content process, and one for compositor animations driven by APZ. MozReview-Commit-ID: LFJsEPnQhja
toolkit/components/telemetry/Histograms.json
--- a/toolkit/components/telemetry/Histograms.json
+++ b/toolkit/components/telemetry/Histograms.json
@@ -261,25 +261,79 @@
     "expires_in_version": "58",
     "description": "Duration of animations running on the compositor in milliseconds",
     "kind": "exponential",
     "high": 20000,
     "n_buckets": 50,
     "alert_emails": ["kgupta@mozilla.com"],
     "bug_numbers": [1339220]
   },
+  "COMPOSITOR_ANIMATION_MAX_CONTIGUOUS_DROPS_APZ" : {
+    "expires_in_version": "60",
+    "description": "For APZ/scrolling compositor animations, the maximum number of contiguous frame drops encountered",
+    "kind": "exponential",
+    "high": 7200,
+    "n_buckets": 50,
+    "alert_emails": ["kgupta@mozilla.com"],
+    "bug_numbers": [1338347]
+  },
+  "COMPOSITOR_ANIMATION_MAX_CONTIGUOUS_DROPS_CHROME" : {
+    "expires_in_version": "60",
+    "description": "For compositor animations of chrome-process layers, the maximum number of contiguous frame drops encountered",
+    "kind": "exponential",
+    "high": 7200,
+    "n_buckets": 50,
+    "alert_emails": ["kgupta@mozilla.com"],
+    "bug_numbers": [1338347]
+  },
+  "COMPOSITOR_ANIMATION_MAX_CONTIGUOUS_DROPS_CONTENT" : {
+    "expires_in_version": "60",
+    "description": "For compositor animations of content-process layers, the maximum number of contiguous frame drops encountered",
+    "kind": "exponential",
+    "high": 7200,
+    "n_buckets": 50,
+    "alert_emails": ["kgupta@mozilla.com"],
+    "bug_numbers": [1338347]
+  },
   "COMPOSITOR_ANIMATION_MAX_LAYER_AREA" : {
     "expires_in_version": "58",
     "description": "High-watermark of layer area affected during a compositor animation. Units are layer pixels squared.",
     "kind": "exponential",
     "high": 8294400,
     "n_buckets": 50,
     "alert_emails": ["kgupta@mozilla.com"],
     "bug_numbers": [1339220]
   },
+  "COMPOSITOR_ANIMATION_THROUGHPUT_APZ" : {
+    "expires_in_version": "60",
+    "description": "Frame throughput ratio (scaled up to 1000) for APZ/scrolling animations in the compositor.",
+    "kind": "linear",
+    "high": 1500,
+    "n_buckets": 50,
+    "alert_emails": ["kgupta@mozilla.com"],
+    "bug_numbers": [1338347]
+  },
+  "COMPOSITOR_ANIMATION_THROUGHPUT_CHROME" : {
+    "expires_in_version": "60",
+    "description": "Frame throughput ratio (scaled up to 1000) for compositor animations of chrome-process layers.",
+    "kind": "linear",
+    "high": 1500,
+    "n_buckets": 50,
+    "alert_emails": ["kgupta@mozilla.com"],
+    "bug_numbers": [1338347]
+  },
+  "COMPOSITOR_ANIMATION_THROUGHPUT_CONTENT" : {
+    "expires_in_version": "60",
+    "description": "Frame throughput ratio (scaled up to 1000) for compositor animations of content-process layers.",
+    "kind": "linear",
+    "high": 1500,
+    "n_buckets": 50,
+    "alert_emails": ["kgupta@mozilla.com"],
+    "bug_numbers": [1338347]
+  },
   "CONTENT_PROCESS_LAUNCH_TIME_MS" : {
     "alert_emails": ["bsmedberg@mozilla.com", "mconley@mozilla.com"],
     "expires_in_version": "57",
     "bug_numbers": [1304790],
     "kind": "exponential",
     "high": 64000,
     "n_buckets": 100,
     "releaseChannelCollection": "opt-out",