| Index: build/android/surface_stats.py
|
| diff --git a/build/android/surface_stats.py b/build/android/surface_stats.py
|
| deleted file mode 100755
|
| index 911dd2e557509889c89cc0add41ede1f93c089b7..0000000000000000000000000000000000000000
|
| --- a/build/android/surface_stats.py
|
| +++ /dev/null
|
| @@ -1,142 +0,0 @@
|
| -#!/usr/bin/env python
|
| -#
|
| -# Copyright (c) 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.
|
| -
|
| -"""Command line tool for continuously printing Android graphics surface
|
| -statistics on the console.
|
| -"""
|
| -
|
| -import collections
|
| -import optparse
|
| -import sys
|
| -import time
|
| -
|
| -from pylib.device import adb_wrapper
|
| -from pylib.device import device_errors
|
| -from pylib.device import device_utils
|
| -from pylib.perf import surface_stats_collector
|
| -from pylib.utils import run_tests_helper
|
| -
|
| -
|
| -_FIELD_FORMAT = {
|
| - 'jank_count (janks)': '%d',
|
| - 'max_frame_delay (vsyncs)': '%d',
|
| - 'avg_surface_fps (fps)': '%.2f',
|
| - 'frame_lengths (vsyncs)': '%.3f',
|
| - 'refresh_period (seconds)': '%.6f',
|
| -}
|
| -
|
| -
|
| -def _MergeResults(results, fields):
|
| - merged_results = collections.defaultdict(list)
|
| - for result in results:
|
| - if ((fields != ['all'] and not result.name in fields) or
|
| - result.value is None):
|
| - continue
|
| - name = '%s (%s)' % (result.name, result.unit)
|
| - if isinstance(result.value, list):
|
| - value = result.value
|
| - else:
|
| - value = [result.value]
|
| - merged_results[name] += value
|
| - for name, values in merged_results.iteritems():
|
| - merged_results[name] = sum(values) / float(len(values))
|
| - return merged_results
|
| -
|
| -
|
| -def _GetTerminalHeight():
|
| - try:
|
| - import fcntl, termios, struct
|
| - except ImportError:
|
| - return 0, 0
|
| - height, _, _, _ = struct.unpack('HHHH',
|
| - fcntl.ioctl(0, termios.TIOCGWINSZ,
|
| - struct.pack('HHHH', 0, 0, 0, 0)))
|
| - return height
|
| -
|
| -
|
| -def _PrintColumnTitles(results):
|
| - for name in results.keys():
|
| - print '%s ' % name,
|
| - print
|
| - for name in results.keys():
|
| - print '%s ' % ('-' * len(name)),
|
| - print
|
| -
|
| -
|
| -def _PrintResults(results):
|
| - for name, value in results.iteritems():
|
| - value = _FIELD_FORMAT.get(name, '%s') % value
|
| - print value.rjust(len(name)) + ' ',
|
| - print
|
| -
|
| -
|
| -def main(argv):
|
| - parser = optparse.OptionParser(usage='Usage: %prog [options]',
|
| - description=__doc__)
|
| - parser.add_option('-v',
|
| - '--verbose',
|
| - dest='verbose_count',
|
| - default=0,
|
| - action='count',
|
| - help='Verbose level (multiple times for more)')
|
| - parser.add_option('--device',
|
| - help='Serial number of device we should use.')
|
| - parser.add_option('-f',
|
| - '--fields',
|
| - dest='fields',
|
| - default='jank_count,max_frame_delay,avg_surface_fps,'
|
| - 'frame_lengths',
|
| - help='Comma separated list of fields to display or "all".')
|
| - parser.add_option('-d',
|
| - '--delay',
|
| - dest='delay',
|
| - default=1,
|
| - type='float',
|
| - help='Time in seconds to sleep between updates.')
|
| -
|
| - options, _ = parser.parse_args(argv)
|
| - run_tests_helper.SetLogLevel(options.verbose_count)
|
| -
|
| - if options.device:
|
| - device = device_utils.DeviceUtils(options.device)
|
| - else:
|
| - devices = adb_wrapper.AdbWrapper.GetDevices()
|
| - if not devices:
|
| - raise device_errors.NoDevicesError
|
| - device = device_utils.DeviceUtils(devices[0])
|
| -
|
| - collector = surface_stats_collector.SurfaceStatsCollector(device)
|
| - collector.DisableWarningAboutEmptyData()
|
| -
|
| - fields = options.fields.split(',')
|
| - row_count = None
|
| -
|
| - try:
|
| - collector.Start()
|
| - while True:
|
| - time.sleep(options.delay)
|
| - results = collector.SampleResults()
|
| - results = _MergeResults(results, fields)
|
| -
|
| - if not results:
|
| - continue
|
| -
|
| - terminal_height = _GetTerminalHeight()
|
| - if row_count is None or (terminal_height and
|
| - row_count >= terminal_height - 3):
|
| - _PrintColumnTitles(results)
|
| - row_count = 0
|
| -
|
| - _PrintResults(results)
|
| - row_count += 1
|
| - except KeyboardInterrupt:
|
| - sys.exit(0)
|
| - finally:
|
| - collector.Stop()
|
| -
|
| -
|
| -if __name__ == '__main__':
|
| - main(sys.argv)
|
|
|