From ee31fcdc94807bc20cdf2363da60d61d586f0770 Mon Sep 17 00:00:00 2001 From: weiliangc Date: Mon, 5 Oct 2015 13:23:49 -0700 Subject: UMA and Telemetry for separate checkerboarded area has recording or not Adds UMA and Telemetry support for counting checkerboarded area in pixels, and separate checkerboarded content area that has recording and checkerboarded content area that does not have recording. BUG=535732 R=enne CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1377583004 Cr-Commit-Position: refs/heads/master@{#352407} --- cc/debug/rendering_stats.cc | 13 +++++++++++-- cc/debug/rendering_stats.h | 2 ++ cc/debug/rendering_stats_instrumentation.cc | 18 ++++++++++++++++++ cc/debug/rendering_stats_instrumentation.h | 2 ++ 4 files changed, 33 insertions(+), 2 deletions(-) (limited to 'cc/debug') diff --git a/cc/debug/rendering_stats.cc b/cc/debug/rendering_stats.cc index 582c763..a3d7a43 100644 --- a/cc/debug/rendering_stats.cc +++ b/cc/debug/rendering_stats.cc @@ -38,8 +38,9 @@ RenderingStats::RenderingStats() : frame_count(0), visible_content_area(0), approximated_visible_content_area(0), - checkerboarded_visible_content_area(0) { -} + checkerboarded_visible_content_area(0), + checkerboarded_no_recording_content_area(0), + checkerboarded_needs_raster_content_area(0) {} RenderingStats::~RenderingStats() { } @@ -54,6 +55,10 @@ RenderingStats::AsTraceableData() const { approximated_visible_content_area); record_data->SetInteger("checkerboarded_visible_content_area", checkerboarded_visible_content_area); + record_data->SetInteger("checkerboarded_no_recording_content_area", + checkerboarded_no_recording_content_area); + record_data->SetInteger("checkerboarded_needs_raster_content_area", + checkerboarded_needs_raster_content_area); draw_duration.AddToTracedValue("draw_duration_ms", record_data.get()); draw_duration_estimate.AddToTracedValue("draw_duration_estimate_ms", @@ -79,6 +84,10 @@ void RenderingStats::Add(const RenderingStats& other) { approximated_visible_content_area += other.approximated_visible_content_area; checkerboarded_visible_content_area += other.checkerboarded_visible_content_area; + checkerboarded_no_recording_content_area += + other.checkerboarded_no_recording_content_area; + checkerboarded_needs_raster_content_area += + other.checkerboarded_needs_raster_content_area; draw_duration.Add(other.draw_duration); draw_duration_estimate.Add(other.draw_duration_estimate); diff --git a/cc/debug/rendering_stats.h b/cc/debug/rendering_stats.h index cb7ebb2c..fbe0d63 100644 --- a/cc/debug/rendering_stats.h +++ b/cc/debug/rendering_stats.h @@ -45,6 +45,8 @@ struct CC_EXPORT RenderingStats { int64 visible_content_area; int64 approximated_visible_content_area; int64 checkerboarded_visible_content_area; + int64 checkerboarded_no_recording_content_area; + int64 checkerboarded_needs_raster_content_area; TimeDeltaList draw_duration; TimeDeltaList draw_duration_estimate; diff --git a/cc/debug/rendering_stats_instrumentation.cc b/cc/debug/rendering_stats_instrumentation.cc index 315743b..e793c50 100644 --- a/cc/debug/rendering_stats_instrumentation.cc +++ b/cc/debug/rendering_stats_instrumentation.cc @@ -90,6 +90,24 @@ void RenderingStatsInstrumentation::AddCheckerboardedVisibleContentArea( impl_thread_rendering_stats_.checkerboarded_visible_content_area += area; } +void RenderingStatsInstrumentation::AddCheckerboardedNoRecordingContentArea( + int64 area) { + if (!record_rendering_stats_) + return; + + base::AutoLock scoped_lock(lock_); + impl_thread_rendering_stats_.checkerboarded_no_recording_content_area += area; +} + +void RenderingStatsInstrumentation::AddCheckerboardedNeedsRasterContentArea( + int64 area) { + if (!record_rendering_stats_) + return; + + base::AutoLock scoped_lock(lock_); + impl_thread_rendering_stats_.checkerboarded_needs_raster_content_area += area; +} + void RenderingStatsInstrumentation::AddDrawDuration( base::TimeDelta draw_duration, base::TimeDelta draw_duration_estimate) { diff --git a/cc/debug/rendering_stats_instrumentation.h b/cc/debug/rendering_stats_instrumentation.h index 4779688..92351e6 100644 --- a/cc/debug/rendering_stats_instrumentation.h +++ b/cc/debug/rendering_stats_instrumentation.h @@ -44,6 +44,8 @@ class CC_EXPORT RenderingStatsInstrumentation { void AddVisibleContentArea(int64 area); void AddApproximatedVisibleContentArea(int64 area); void AddCheckerboardedVisibleContentArea(int64 area); + void AddCheckerboardedNoRecordingContentArea(int64 area); + void AddCheckerboardedNeedsRasterContentArea(int64 area); void AddDrawDuration(base::TimeDelta draw_duration, base::TimeDelta draw_duration_estimate); void AddBeginMainFrameToCommitDuration( -- cgit v1.1