Bug 1473908 - Add new telemetry measurement for recording time spent in FrameLayerBuilder. r?Bas,francois draft
authorMatt Woodrow <mwoodrow@mozilla.com>
Fri, 06 Jul 2018 19:10:56 -0700
changeset 815261 4bbe1db9f2fa05f817f2d5511333b608511e2a3c
parent 814993 169374ca1e96145c8b3cd2ccda852c556af2b1a4
push id115481
push usermwoodrow@mozilla.com
push dateSat, 07 Jul 2018 02:11:11 +0000
reviewersBas, francois
bugs1473908
milestone63.0a1
Bug 1473908 - Add new telemetry measurement for recording time spent in FrameLayerBuilder. r?Bas,francois MozReview-Commit-ID: 9oilZL1lPGp
layout/painting/nsDisplayList.cpp
toolkit/components/telemetry/Histograms.json
--- a/layout/painting/nsDisplayList.cpp
+++ b/layout/painting/nsDisplayList.cpp
@@ -9833,16 +9833,18 @@ PaintTelemetry::AutoRecordPaint::~AutoRe
     recordLarge(NS_LITERAL_CSTRING("fr"), frMs);
     recordLarge(NS_LITERAL_CSTRING("r"), rMs);
   } else {
     recordSmall(NS_LITERAL_CSTRING("dl"), dlMs);
     recordSmall(NS_LITERAL_CSTRING("flb"), flbMs);
     recordSmall(NS_LITERAL_CSTRING("fr"), frMs);
     recordSmall(NS_LITERAL_CSTRING("r"), rMs);
   }
+
+  Telemetry::Accumulate(Telemetry::PAINT_BUILD_LAYERS_TIME, flbMs);
 }
 
 PaintTelemetry::AutoRecord::AutoRecord(Metric aMetric)
  : mMetric(aMetric)
 {
   // Don't double-record anything nested.
   if (sMetricLevel++ > 0) {
     return;
--- a/toolkit/components/telemetry/Histograms.json
+++ b/toolkit/components/telemetry/Histograms.json
@@ -3375,16 +3375,26 @@
   "PAINT_BUILD_DISPLAYLIST_TIME" : {
     "record_in_processes": ["main", "content"],
     "expires_in_version": "never",
     "description": "Time spent in building displaylists in milliseconds",
     "kind": "exponential",
     "high": 1000,
     "n_buckets": 50
   },
+  "PAINT_BUILD_LAYERS_TIME" : {
+    "record_in_processes": ["content"],
+    "alert_emails": ["gfx-telemetry-alerts@mozilla.com","mwoodrow@mozilla.com"],
+    "bug_numbers": [1473908],
+    "expires_in_version": "never",
+    "description": "Time spent in building layers in milliseconds",
+    "kind": "exponential",
+    "high": 1000,
+    "n_buckets": 50
+  },
   "PAINT_RASTERIZE_TIME" : {
     "record_in_processes": ["main", "content"],
     "expires_in_version": "never",
     "description": "Time spent rasterizing each frame in milliseconds",
     "kind": "exponential",
     "high": 1000,
     "n_buckets": 50
   },