Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6320)

Unified Diff: cc/debug/rendering_stats.h

Issue 363003002: Add duration estimation data to RenderingStats. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add CC_EXPORT Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/debug/benchmark_instrumentation.cc ('k') | cc/debug/rendering_stats.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/debug/rendering_stats.h
diff --git a/cc/debug/rendering_stats.h b/cc/debug/rendering_stats.h
index bd3b7c7244282fdd6888ae31fc67d0ea41de8758..a6edff1ea4f597c868dc68605739ac0b7c8a6534 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 CC_EXPORT 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 CC_EXPORT 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 CC_EXPORT 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;
« no previous file with comments | « cc/debug/benchmark_instrumentation.cc ('k') | cc/debug/rendering_stats.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698