| Index: tools/perf/metrics/gpu_rendering_stats.py
|
| diff --git a/tools/perf/metrics/gpu_rendering_stats.py b/tools/perf/metrics/gpu_rendering_stats.py
|
| deleted file mode 100644
|
| index 713848aa4cca5d6625ba709296329cec8a85a341..0000000000000000000000000000000000000000
|
| --- a/tools/perf/metrics/gpu_rendering_stats.py
|
| +++ /dev/null
|
| @@ -1,168 +0,0 @@
|
| -# Copyright 2013 The Chromium Authors. All rights reserved.
|
| -# Use of this source code is governed by a BSD-style license that can be
|
| -# found in the LICENSE file.
|
| -
|
| -class GpuRenderingStats(object):
|
| - def __init__(self, smoothness_marker, gesture_marker, rendering_stats_deltas,
|
| - used_gpu_benchmarking):
|
| - """
|
| - Utility class for extracting rendering statistics from the timeline (or
|
| - other loggin facilities), and providing them in a common format to classes
|
| - that compute benchmark metrics from this data.
|
| -
|
| - Stats can either be numbers, or lists of numbers. Classes that calculate
|
| - metrics from the stats must be able to handle both cases. The length of
|
| - different list stats may vary.
|
| -
|
| - All *_time values are measured in seconds.
|
| - """
|
| - self.renderer_process = smoothness_marker.start_thread.parent
|
| - self.start = gesture_marker.start
|
| - self.end = self.start + gesture_marker.duration
|
| -
|
| - self.total_time = (self.end - self.start) / 1000.0
|
| - self.animation_frame_count = []
|
| - self.screen_frame_count = []
|
| - self.screen_frame_timestamps = []
|
| - self.paint_time = []
|
| - self.record_time = []
|
| - self.best_record_time = []
|
| - self.commit_time = []
|
| - self.commit_count = []
|
| - self.painted_pixel_count = []
|
| - self.recorded_pixel_count = []
|
| - self.image_gathering_count = []
|
| - self.image_gathering_time = []
|
| - self.dropped_frame_count = []
|
| - self.rasterize_time = []
|
| - self.rasterize_time_for_now_bins_on_pending_tree = []
|
| - self.best_rasterize_time = []
|
| - self.rasterized_pixel_count = []
|
| - self.impl_thread_scroll_count = []
|
| - self.main_thread_scroll_count = []
|
| - self.drawn_layer_count = []
|
| - self.missing_tile_count = []
|
| - self.deferred_image_decode_count = []
|
| - self.deferred_image_cache_hit_count = []
|
| - self.tile_analysis_count = []
|
| - self.solid_color_tile_analysis_count = []
|
| - self.deferred_image_decode_time = []
|
| - self.tile_analysis_time = []
|
| - self.texture_upload_count = []
|
| - self.texture_upload_time = []
|
| - self.input_event_count = []
|
| - self.input_event_latency = []
|
| - self.touch_ui_count = []
|
| - self.touch_ui_latency = []
|
| - self.touch_acked_count = []
|
| - self.touch_acked_latency = []
|
| - self.scroll_update_count = []
|
| - self.scroll_update_latency = []
|
| -
|
| - if used_gpu_benchmarking:
|
| - self.initMainThreadStatsFromTimeline()
|
| - self.initImplThreadStatsFromTimeline()
|
| - else:
|
| - self.initFrameCountsFromRenderingStats(rendering_stats_deltas)
|
| - self.initTextureStatsFromRenderingStats(rendering_stats_deltas)
|
| - self.initLatencyStatsFromRenderingStats(rendering_stats_deltas)
|
| -
|
| - def initFrameCountsFromRenderingStats(self, rs):
|
| - self.animation_frame_count = rs.get('numAnimationFrames', 0)
|
| - self.screen_frame_count = rs.get('numFramesSentToScreen', 0)
|
| - self.dropped_frame_count = rs.get('droppedFrameCount', 0)
|
| -
|
| - def initTextureStatsFromRenderingStats(self, rs):
|
| - self.texture_upload_count = rs.get('textureUploadCount', 0)
|
| - self.texture_upload_time = rs.get('totalTextureUploadTimeInSeconds', 0)
|
| -
|
| - def initLatencyStatsFromRenderingStats(self, rs):
|
| - self.input_event_count = rs.get('inputEventCount', 0)
|
| - self.input_event_latency = rs.get('totalInputLatency', 0)
|
| - self.touch_ui_count = rs.get('touchUICount', 0)
|
| - self.touch_ui_latency = rs.get('totalTouchUILatency', 0)
|
| - self.touch_acked_count = rs.get('touchAckedCount', 0)
|
| - self.touch_acked_latency = rs.get('totalTouchAckedLatency', 0)
|
| - self.scroll_update_count = rs.get('scrollUpdateCount', 0)
|
| - self.scroll_update_latency = rs.get('totalScrollUpdateLatency', 0)
|
| -
|
| - def initMainThreadStatsFromTimeline(self):
|
| - for event in self.renderer_process.IterAllSlicesOfName(
|
| - 'MainThreadRenderingStats::IssueTraceEvent'):
|
| - if event.start >= self.start and event.end <= self.end:
|
| - if 'data' not in event.args:
|
| - continue
|
| - if event.args['data']['screen_frame_count'] > 1:
|
| - raise ValueError, 'trace contains multi-frame render stats'
|
| - self.animation_frame_count.append(
|
| - event.args['data']['animation_frame_count'])
|
| - self.screen_frame_count.append(
|
| - event.args['data']['screen_frame_count'])
|
| - if event.args['data']['screen_frame_count'] == 1:
|
| - self.screen_frame_timestamps.append(
|
| - event.start)
|
| - self.paint_time.append(
|
| - event.args['data']['paint_time'])
|
| - self.record_time.append(
|
| - event.args['data']['record_time'])
|
| - # TODO(ernstm): Remove this check when CL with best_record_time has
|
| - # been picked up by the reference build.
|
| - if 'best_record_time' in event.args['data']:
|
| - self.best_record_time.append(
|
| - event.args['data']['best_record_time'])
|
| - self.commit_time.append(
|
| - event.args['data']['commit_time'])
|
| - self.commit_count.append(
|
| - event.args['data']['commit_count'])
|
| - self.painted_pixel_count.append(
|
| - event.args['data']['painted_pixel_count'])
|
| - self.recorded_pixel_count.append(
|
| - event.args['data']['recorded_pixel_count'])
|
| - self.image_gathering_count.append(
|
| - event.args['data']['image_gathering_count'])
|
| - self.image_gathering_time.append(
|
| - event.args['data']['image_gathering_time'])
|
| -
|
| - def initImplThreadStatsFromTimeline(self):
|
| - for event in self.renderer_process.IterAllSlicesOfName(
|
| - 'ImplThreadRenderingStats::IssueTraceEvent'):
|
| - if event.start >= self.start and event.end <= self.end:
|
| - if 'data' not in event.args:
|
| - continue
|
| - if event.args['data']['screen_frame_count'] > 1:
|
| - raise ValueError, 'trace contains multi-frame render stats'
|
| - self.screen_frame_count.append(
|
| - event.args['data']['screen_frame_count'])
|
| - if event.args['data']['screen_frame_count'] == 1:
|
| - self.screen_frame_timestamps.append(
|
| - event.start)
|
| - self.dropped_frame_count.append(
|
| - event.args['data']['dropped_frame_count'])
|
| - self.rasterize_time.append(
|
| - event.args['data']['rasterize_time'])
|
| - self.rasterize_time_for_now_bins_on_pending_tree.append(
|
| - event.args['data']['rasterize_time_for_now_bins_on_pending_tree'])
|
| - self.best_rasterize_time.append(
|
| - event.args['data']['best_rasterize_time'])
|
| - self.rasterized_pixel_count.append(
|
| - event.args['data']['rasterized_pixel_count'])
|
| - self.impl_thread_scroll_count.append(
|
| - event.args['data']['impl_thread_scroll_count'])
|
| - self.main_thread_scroll_count.append(
|
| - event.args['data']['main_thread_scroll_count'])
|
| - self.drawn_layer_count.append(
|
| - event.args['data']['drawn_layer_count'])
|
| - self.missing_tile_count.append(
|
| - event.args['data']['missing_tile_count'])
|
| - self.deferred_image_decode_count.append(
|
| - event.args['data']['deferred_image_decode_count'])
|
| - self.deferred_image_cache_hit_count.append(
|
| - event.args['data']['deferred_image_cache_hit_count'])
|
| - self.tile_analysis_count.append(
|
| - event.args['data']['tile_analysis_count'])
|
| - self.solid_color_tile_analysis_count.append(
|
| - event.args['data']['solid_color_tile_analysis_count'])
|
| - self.deferred_image_decode_time.append(
|
| - event.args['data']['deferred_image_decode_time'])
|
| - self.tile_analysis_time.append(
|
| - event.args['data']['tile_analysis_time'])
|
|
|