media/webrtc/trunk/build/android/device_stats_monitor.py

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:f485f75aed5a
1 #!/usr/bin/env python
2 #
3 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file.
6
7 """Provides iotop/top style profiling for android.
8
9 Usage:
10 ./device_stats_monitor.py --hz=20 --duration=5 --outfile=/tmp/foo
11 """
12
13 import optparse
14 import os
15 import sys
16 import time
17
18 from pylib import android_commands
19 from pylib import device_stats_monitor
20 from pylib import test_options_parser
21
22
23 def main(argv):
24 option_parser = optparse.OptionParser()
25 option_parser.add_option('--hz', type='int', default=20,
26 help='Number of samples/sec.')
27 option_parser.add_option('--duration', type='int', default=5,
28 help='Seconds to monitor.')
29 option_parser.add_option('--outfile', default='/tmp/devicestatsmonitor',
30 help='Location to start output file.')
31 test_options_parser.AddBuildTypeOption(option_parser)
32 options, args = option_parser.parse_args(argv)
33
34 monitor = device_stats_monitor.DeviceStatsMonitor(
35 android_commands.AndroidCommands(), options.hz, options.build_type)
36 monitor.Start()
37 print 'Waiting for %d seconds while profiling.' % options.duration
38 time.sleep(options.duration)
39 url = monitor.StopAndCollect(options.outfile)
40 print 'View results in browser at %s' % url
41
42 if __name__ == '__main__':
43 sys.exit(main(sys.argv))

mercurial