Index: tools/perf/metrics/rendering_stats.py |
diff --git a/tools/perf/metrics/rendering_stats.py b/tools/perf/metrics/rendering_stats.py |
index e35699ac24e57d9f8a0cc70add446e6953593c44..c8550e855f5003cde998fa9b869d97261feaf412 100644 |
--- a/tools/perf/metrics/rendering_stats.py |
+++ b/tools/perf/metrics/rendering_stats.py |
@@ -145,6 +145,7 @@ class RenderingStats(object): |
self.recorded_pixel_counts = [] |
self.rasterize_times = [] |
self.rasterized_pixel_counts = [] |
+ self.approximated_pixel_percentages = [] |
# End-to-end latency for MouseWheel scroll - from when mouse wheel event is |
# generated to when the scrolled page is buffer swapped. |
self.mouse_wheel_scroll_latency = [] |
@@ -164,6 +165,7 @@ class RenderingStats(object): |
self.recorded_pixel_counts.append([]) |
self.rasterize_times.append([]) |
self.rasterized_pixel_counts.append([]) |
+ self.approximated_pixel_percentages.append([]) |
self.mouse_wheel_scroll_latency.append([]) |
self.touch_scroll_latency.append([]) |
self.js_touch_scroll_latency.append([]) |
@@ -233,19 +235,21 @@ class RenderingStats(object): |
def _InitMainThreadRenderingStatsFromTimeline(self, process, timeline_range): |
event_name = 'BenchmarkInstrumentation::MainThreadRenderingStats' |
for event in self._GatherEvents(event_name, process, timeline_range): |
- self.paint_times[-1].append(1000.0 * |
- event.args['data']['paint_time']) |
- self.painted_pixel_counts[-1].append( |
- event.args['data']['painted_pixel_count']) |
- self.record_times[-1].append(1000.0 * |
- event.args['data']['record_time']) |
- self.recorded_pixel_counts[-1].append( |
- event.args['data']['recorded_pixel_count']) |
+ data = event.args['data'] |
+ self.paint_times[-1].append(1000.0 * data['paint_time']) |
+ self.painted_pixel_counts[-1].append(data['painted_pixel_count']) |
+ self.record_times[-1].append(1000.0 * data['record_time']) |
+ self.recorded_pixel_counts[-1].append(data['recorded_pixel_count']) |
def _InitImplThreadRenderingStatsFromTimeline(self, process, timeline_range): |
event_name = 'BenchmarkInstrumentation::ImplThreadRenderingStats' |
for event in self._GatherEvents(event_name, process, timeline_range): |
- self.rasterize_times[-1].append(1000.0 * |
- event.args['data']['rasterize_time']) |
- self.rasterized_pixel_counts[-1].append( |
- event.args['data']['rasterized_pixel_count']) |
+ data = event.args['data'] |
+ self.rasterize_times[-1].append(1000.0 * data['rasterize_time']) |
+ self.rasterized_pixel_counts[-1].append(data['rasterized_pixel_count']) |
+ if data.get('visible_content_area', 0): |
+ self.approximated_pixel_percentages[-1].append( |
+ round(float(data['approximated_visible_content_area']) / |
+ float(data['visible_content_area']) * 100.0, 3)) |
+ else: |
+ self.approximated_pixel_percentages[-1].append(0.0) |