Index: cc/debug/rendering_stats.h |
diff --git a/cc/debug/rendering_stats.h b/cc/debug/rendering_stats.h |
index bd3b7c7244282fdd6888ae31fc67d0ea41de8758..ec07c0bfc838db272d835310faca64c79014dd1b 100644 |
--- a/cc/debug/rendering_stats.h |
+++ b/cc/debug/rendering_stats.h |
@@ -5,45 +5,73 @@ |
#ifndef CC_DEBUG_RENDERING_STATS_H_ |
#define CC_DEBUG_RENDERING_STATS_H_ |
+#include <list> |
+ |
#include "base/basictypes.h" |
#include "base/time/time.h" |
+#include "base/values.h" |
#include "cc/base/cc_export.h" |
#include "cc/debug/traced_value.h" |
namespace cc { |
-struct CC_EXPORT MainThreadRenderingStats { |
- // Note: when adding new members, please remember to update EnumerateFields |
- // and Add in rendering_stats.cc. |
+struct CC_EXPORT RenderingStats { |
+ // Stores a sequence of TimeDelta objects. |
+ class TimeDeltaList { |
+ public: |
+ TimeDeltaList(); |
+ ~TimeDeltaList(); |
- int64 frame_count; |
- base::TimeDelta paint_time; |
- int64 painted_pixel_count; |
- base::TimeDelta record_time; |
- int64 recorded_pixel_count; |
+ void Append(base::TimeDelta value); |
+ scoped_ptr<base::ListValue> AsListValueInMilliseconds() const; |
+ void Add(const TimeDeltaList& other); |
- MainThreadRenderingStats(); |
- scoped_refptr<base::debug::ConvertableToTraceFormat> AsTraceableData() const; |
- void Add(const MainThreadRenderingStats& other); |
-}; |
+ private: |
+ std::list<base::TimeDelta> values; |
+ }; |
-struct CC_EXPORT ImplThreadRenderingStats { |
- // Note: when adding new members, please remember to update EnumerateFields |
- // and Add in rendering_stats.cc. |
+ struct MainThreadRenderingStats { |
+ // Note: when adding new members, please remember to update Add in |
+ // rendering_stats.cc. |
- int64 frame_count; |
- base::TimeDelta rasterize_time; |
- base::TimeDelta analysis_time; |
- int64 rasterized_pixel_count; |
- int64 visible_content_area; |
- int64 approximated_visible_content_area; |
+ int64 frame_count; |
+ base::TimeDelta paint_time; |
+ int64 painted_pixel_count; |
+ base::TimeDelta record_time; |
+ int64 recorded_pixel_count; |
- ImplThreadRenderingStats(); |
- scoped_refptr<base::debug::ConvertableToTraceFormat> AsTraceableData() const; |
- void Add(const ImplThreadRenderingStats& other); |
-}; |
+ MainThreadRenderingStats(); |
+ ~MainThreadRenderingStats(); |
+ scoped_refptr<base::debug::ConvertableToTraceFormat> AsTraceableData() |
+ const; |
+ void Add(const MainThreadRenderingStats& other); |
+ }; |
+ |
+ struct ImplThreadRenderingStats { |
+ // Note: when adding new members, please remember to update Add in |
+ // rendering_stats.cc. |
+ |
+ int64 frame_count; |
+ base::TimeDelta rasterize_time; |
+ base::TimeDelta analysis_time; |
+ int64 rasterized_pixel_count; |
+ int64 visible_content_area; |
+ int64 approximated_visible_content_area; |
+ |
+ TimeDeltaList draw_duration; |
+ TimeDeltaList draw_duration_estimate; |
+ TimeDeltaList begin_main_frame_to_commit_duration; |
+ TimeDeltaList begin_main_frame_to_commit_duration_estimate; |
+ TimeDeltaList commit_to_activate_duration; |
+ TimeDeltaList commit_to_activate_duration_estimate; |
+ |
+ ImplThreadRenderingStats(); |
+ ~ImplThreadRenderingStats(); |
+ scoped_refptr<base::debug::ConvertableToTraceFormat> AsTraceableData() |
+ const; |
+ void Add(const ImplThreadRenderingStats& other); |
+ }; |
-struct CC_EXPORT RenderingStats { |
MainThreadRenderingStats main_stats; |
ImplThreadRenderingStats impl_stats; |