OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CC_SCHEDULER_COMPOSITOR_TIMING_HISTORY_H_ | 5 #ifndef CC_SCHEDULER_COMPOSITOR_TIMING_HISTORY_H_ |
6 #define CC_SCHEDULER_COMPOSITOR_TIMING_HISTORY_H_ | 6 #define CC_SCHEDULER_COMPOSITOR_TIMING_HISTORY_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 13 matching lines...) Expand all Loading... |
24 public: | 24 public: |
25 enum UMACategory { | 25 enum UMACategory { |
26 RENDERER_UMA, | 26 RENDERER_UMA, |
27 BROWSER_UMA, | 27 BROWSER_UMA, |
28 NULL_UMA, | 28 NULL_UMA, |
29 }; | 29 }; |
30 class UMAReporter; | 30 class UMAReporter; |
31 | 31 |
32 CompositorTimingHistory( | 32 CompositorTimingHistory( |
33 bool using_synchronous_renderer_compositor, | 33 bool using_synchronous_renderer_compositor, |
| 34 bool enable_swap_ack_watchdog, |
34 UMACategory uma_category, | 35 UMACategory uma_category, |
35 RenderingStatsInstrumentation* rendering_stats_instrumentation); | 36 RenderingStatsInstrumentation* rendering_stats_instrumentation); |
36 virtual ~CompositorTimingHistory(); | 37 virtual ~CompositorTimingHistory(); |
37 | 38 |
38 void AsValueInto(base::trace_event::TracedValue* state) const; | 39 void AsValueInto(base::trace_event::TracedValue* state) const; |
39 | 40 |
40 // The main thread responsiveness depends heavily on whether or not the | 41 // The main thread responsiveness depends heavily on whether or not the |
41 // on_critical_path flag is set, so we record response times separately. | 42 // on_critical_path flag is set, so we record response times separately. |
42 virtual base::TimeDelta BeginMainFrameQueueDurationCriticalEstimate() const; | 43 virtual base::TimeDelta BeginMainFrameQueueDurationCriticalEstimate() const; |
43 virtual base::TimeDelta BeginMainFrameQueueDurationNotCriticalEstimate() | 44 virtual base::TimeDelta BeginMainFrameQueueDurationNotCriticalEstimate() |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 base::TimeTicks begin_main_frame_sent_time_; | 111 base::TimeTicks begin_main_frame_sent_time_; |
111 base::TimeTicks begin_main_frame_start_time_; | 112 base::TimeTicks begin_main_frame_start_time_; |
112 base::TimeTicks begin_main_frame_end_time_; | 113 base::TimeTicks begin_main_frame_end_time_; |
113 base::TimeTicks pending_tree_main_frame_time_; | 114 base::TimeTicks pending_tree_main_frame_time_; |
114 base::TimeTicks prepare_tiles_start_time_; | 115 base::TimeTicks prepare_tiles_start_time_; |
115 base::TimeTicks activate_start_time_; | 116 base::TimeTicks activate_start_time_; |
116 base::TimeTicks active_tree_main_frame_time_; | 117 base::TimeTicks active_tree_main_frame_time_; |
117 base::TimeTicks draw_start_time_; | 118 base::TimeTicks draw_start_time_; |
118 base::TimeTicks swap_start_time_; | 119 base::TimeTicks swap_start_time_; |
119 | 120 |
| 121 // Watchdog timers. |
| 122 bool swap_ack_watchdog_enabled_; |
| 123 int swap_ack_watchdog_begin_impl_frame_count_; |
| 124 |
120 std::unique_ptr<UMAReporter> uma_reporter_; | 125 std::unique_ptr<UMAReporter> uma_reporter_; |
121 RenderingStatsInstrumentation* rendering_stats_instrumentation_; | 126 RenderingStatsInstrumentation* rendering_stats_instrumentation_; |
122 | 127 |
123 private: | 128 private: |
124 DISALLOW_COPY_AND_ASSIGN(CompositorTimingHistory); | 129 DISALLOW_COPY_AND_ASSIGN(CompositorTimingHistory); |
125 }; | 130 }; |
126 | 131 |
127 } // namespace cc | 132 } // namespace cc |
128 | 133 |
129 #endif // CC_SCHEDULER_COMPOSITOR_TIMING_HISTORY_H_ | 134 #endif // CC_SCHEDULER_COMPOSITOR_TIMING_HISTORY_H_ |
OLD | NEW |