Chromium Code Reviews| Index: cc/scheduler/compositor_timing_history.cc |
| diff --git a/cc/scheduler/compositor_timing_history.cc b/cc/scheduler/compositor_timing_history.cc |
| index b1a9837020df43b9c70e09107d9d05dd68e5c1e0..11ca2fd122ffd1bf9c397aa39a66a88adf271b08 100644 |
| --- a/cc/scheduler/compositor_timing_history.cc |
| +++ b/cc/scheduler/compositor_timing_history.cc |
| @@ -26,6 +26,7 @@ class CompositorTimingHistory::UMAReporter { |
| virtual void AddDrawInterval(base::TimeDelta interval) = 0; |
| // Latency measurements |
| + virtual void AddBeginMainFrameLatency(base::TimeDelta delta) = 0; |
| virtual void AddBeginMainFrameQueueDurationCriticalDuration( |
| base::TimeDelta duration) = 0; |
| virtual void AddBeginMainFrameQueueDurationNotCriticalDuration( |
| @@ -197,6 +198,11 @@ class RendererUMAReporter : public CompositorTimingHistory::UMAReporter { |
| UMA_HISTOGRAM_CUSTOM_TIMES_VSYNC_ALIGNED( |
| "Scheduling.Renderer.MainAndImplFrameTimeDelta", delta); |
| } |
| + |
| + void AddBeginMainFrameLatency(base::TimeDelta delta) override { |
| + UMA_HISTOGRAM_CUSTOM_TIMES_DURATION( |
| + "Scheduling.Renderer.BeginMainFrameLatency", delta); |
|
ajuma
2017/03/14 14:54:10
Bikeshed: given the number of BeginFrame timing me
stanisc
2017/03/14 21:25:40
OK. Changed this to VsyncToBeginMainFrameLatency.
|
| + } |
| }; |
| class BrowserUMAReporter : public CompositorTimingHistory::UMAReporter { |
| @@ -274,6 +280,11 @@ class BrowserUMAReporter : public CompositorTimingHistory::UMAReporter { |
| UMA_HISTOGRAM_CUSTOM_TIMES_VSYNC_ALIGNED( |
| "Scheduling.Browser.MainAndImplFrameTimeDelta", delta); |
| } |
| + |
| + void AddBeginMainFrameLatency(base::TimeDelta delta) override { |
| + UMA_HISTOGRAM_CUSTOM_TIMES_DURATION( |
| + "Scheduling.Browser.BeginMainFrameLatency", delta); |
| + } |
| }; |
| class NullUMAReporter : public CompositorTimingHistory::UMAReporter { |
| @@ -297,6 +308,7 @@ class NullUMAReporter : public CompositorTimingHistory::UMAReporter { |
| void AddSubmitToAckLatency(base::TimeDelta duration) override {} |
| void AddSubmitAckWasFast(bool was_fast) override {} |
| void AddMainAndImplFrameTimeDelta(base::TimeDelta delta) override {} |
| + void AddBeginMainFrameLatency(base::TimeDelta delta) override {} |
| }; |
| } // namespace |
| @@ -500,6 +512,9 @@ void CompositorTimingHistory::WillBeginMainFrame( |
| begin_main_frame_sent_time_ = Now(); |
| begin_main_frame_frame_time_ = main_frame_time; |
| + uma_reporter_->AddBeginMainFrameLatency(begin_main_frame_sent_time_ - |
| + begin_main_frame_frame_time_); |
| + |
| did_send_begin_main_frame_ = true; |
| SetBeginMainFrameNeededContinuously(true); |
| } |