Index: cc/trees/layer_tree_host_in_process.cc |
diff --git a/cc/trees/layer_tree_host_in_process.cc b/cc/trees/layer_tree_host_in_process.cc |
index 57e2ea414e8bda672595b1955847274a3fc862d6..3c133bb260dfdeff280372f35a14a91eaade0af6 100644 |
--- a/cc/trees/layer_tree_host_in_process.cc |
+++ b/cc/trees/layer_tree_host_in_process.cc |
@@ -24,6 +24,7 @@ |
#include "base/stl_util.h" |
#include "base/strings/string_number_conversions.h" |
#include "base/threading/thread_task_runner_handle.h" |
+#include "base/timer/elapsed_timer.h" |
#include "base/trace_event/trace_event.h" |
#include "base/trace_event/trace_event_argument.h" |
#include "cc/animation/animation_events.h" |
@@ -719,8 +720,20 @@ bool LayerTreeHostInProcess::UpdateLayers() { |
if (!layer_tree_->root_layer()) |
return false; |
DCHECK(!layer_tree_->root_layer()->parent()); |
+ base::ElapsedTimer timer; |
+ |
bool result = DoUpdateLayers(layer_tree_->root_layer()); |
micro_benchmark_controller_.DidUpdateLayers(); |
+ |
+ std::string histogram_name = base::StringPrintf( |
+ "Compositing.Renderer.LayersUpdateTime.%" PRIuS, |
+ std::min(static_cast<size_t>(400), layer_tree_->NumLayers()) / 50); |
majidvp
2016/11/15 13:10:55
In the current patch I have a simple equal buckets
flackr
2016/11/16 16:56:50
You mean 50 wide?
majidvp
2016/12/02 20:03:31
Fair enough, I changed my bucketization to an expo
|
+ base::Histogram::FactoryTimeGet( |
+ histogram_name, base::TimeDelta::FromMilliseconds(1), |
+ base::TimeDelta::FromSeconds(10), 50, |
+ base::HistogramBase::kUmaTargetedHistogramFlag) |
+ ->AddTime(timer.Elapsed()); |
+ |
return result || next_commit_forces_redraw_; |
} |