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

Side by Side Diff: tools/perf/metrics/gpu_rendering_stats.py

Issue 25284005: cc: Add best_record_time to rendering stats. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 7 years, 2 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 unified diff | Download patch
« no previous file with comments | « tools/perf/measurements/rasterize_and_record.py ('k') | tools/perf/metrics/smoothness.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 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 class GpuRenderingStats(object): 5 class GpuRenderingStats(object):
6 def __init__(self, smoothness_marker, gesture_marker, rendering_stats_deltas, 6 def __init__(self, smoothness_marker, gesture_marker, rendering_stats_deltas,
7 used_gpu_benchmarking): 7 used_gpu_benchmarking):
8 """ 8 """
9 Utility class for extracting rendering statistics from the timeline (or 9 Utility class for extracting rendering statistics from the timeline (or
10 other loggin facilities), and providing them in a common format to classes 10 other loggin facilities), and providing them in a common format to classes
11 that compute benchmark metrics from this data. 11 that compute benchmark metrics from this data.
12 12
13 Stats can either be numbers, or lists of numbers. Classes that calculate 13 Stats can either be numbers, or lists of numbers. Classes that calculate
14 metrics from the stats must be able to handle both cases. The length of 14 metrics from the stats must be able to handle both cases. The length of
15 different list stats may vary. 15 different list stats may vary.
16 16
17 All *_time values are measured in seconds. 17 All *_time values are measured in seconds.
18 """ 18 """
19 self.renderer_process = smoothness_marker.start_thread.parent 19 self.renderer_process = smoothness_marker.start_thread.parent
20 self.start = gesture_marker.start 20 self.start = gesture_marker.start
21 self.end = self.start + gesture_marker.duration 21 self.end = self.start + gesture_marker.duration
22 22
23 self.total_time = (self.end - self.start) / 1000.0 23 self.total_time = (self.end - self.start) / 1000.0
24 self.animation_frame_count = [] 24 self.animation_frame_count = []
25 self.screen_frame_count = [] 25 self.screen_frame_count = []
26 self.screen_frame_timestamps = [] 26 self.screen_frame_timestamps = []
27 self.paint_time = [] 27 self.paint_time = []
28 self.record_time = [] 28 self.record_time = []
29 self.best_record_time = []
29 self.commit_time = [] 30 self.commit_time = []
30 self.commit_count = [] 31 self.commit_count = []
31 self.painted_pixel_count = [] 32 self.painted_pixel_count = []
32 self.recorded_pixel_count = [] 33 self.recorded_pixel_count = []
33 self.image_gathering_count = [] 34 self.image_gathering_count = []
34 self.image_gathering_time = [] 35 self.image_gathering_time = []
35 self.dropped_frame_count = [] 36 self.dropped_frame_count = []
36 self.rasterize_time = [] 37 self.rasterize_time = []
37 self.rasterize_time_for_now_bins_on_pending_tree = [] 38 self.rasterize_time_for_now_bins_on_pending_tree = []
38 self.best_rasterize_time = [] 39 self.best_rasterize_time = []
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 event.args['data']['animation_frame_count']) 98 event.args['data']['animation_frame_count'])
98 self.screen_frame_count.append( 99 self.screen_frame_count.append(
99 event.args['data']['screen_frame_count']) 100 event.args['data']['screen_frame_count'])
100 if event.args['data']['screen_frame_count'] == 1: 101 if event.args['data']['screen_frame_count'] == 1:
101 self.screen_frame_timestamps.append( 102 self.screen_frame_timestamps.append(
102 event.start) 103 event.start)
103 self.paint_time.append( 104 self.paint_time.append(
104 event.args['data']['paint_time']) 105 event.args['data']['paint_time'])
105 self.record_time.append( 106 self.record_time.append(
106 event.args['data']['record_time']) 107 event.args['data']['record_time'])
108 # TODO(ernstm): Remove this check when CL with best_record_time has
109 # been picked up by the reference build.
110 if 'best_record_time' in event.args['data']:
111 self.best_record_time.append(
112 event.args['data']['best_record_time'])
107 self.commit_time.append( 113 self.commit_time.append(
108 event.args['data']['commit_time']) 114 event.args['data']['commit_time'])
109 self.commit_count.append( 115 self.commit_count.append(
110 event.args['data']['commit_count']) 116 event.args['data']['commit_count'])
111 self.painted_pixel_count.append( 117 self.painted_pixel_count.append(
112 event.args['data']['painted_pixel_count']) 118 event.args['data']['painted_pixel_count'])
113 self.recorded_pixel_count.append( 119 self.recorded_pixel_count.append(
114 event.args['data']['recorded_pixel_count']) 120 event.args['data']['recorded_pixel_count'])
115 self.image_gathering_count.append( 121 self.image_gathering_count.append(
116 event.args['data']['image_gathering_count']) 122 event.args['data']['image_gathering_count'])
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 self.deferred_image_cache_hit_count.append( 159 self.deferred_image_cache_hit_count.append(
154 event.args['data']['deferred_image_cache_hit_count']) 160 event.args['data']['deferred_image_cache_hit_count'])
155 self.tile_analysis_count.append( 161 self.tile_analysis_count.append(
156 event.args['data']['tile_analysis_count']) 162 event.args['data']['tile_analysis_count'])
157 self.solid_color_tile_analysis_count.append( 163 self.solid_color_tile_analysis_count.append(
158 event.args['data']['solid_color_tile_analysis_count']) 164 event.args['data']['solid_color_tile_analysis_count'])
159 self.deferred_image_decode_time.append( 165 self.deferred_image_decode_time.append(
160 event.args['data']['deferred_image_decode_time']) 166 event.args['data']['deferred_image_decode_time'])
161 self.tile_analysis_time.append( 167 self.tile_analysis_time.append(
162 event.args['data']['tile_analysis_time']) 168 event.args['data']['tile_analysis_time'])
OLDNEW
« no previous file with comments | « tools/perf/measurements/rasterize_and_record.py ('k') | tools/perf/metrics/smoothness.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698