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.
7 """Provides iotop/top style profiling for android.
10 ./device_stats_monitor.py --hz=20 --duration=5 --outfile=/tmp/foo
18 from pylib
import android_commands
19 from pylib
import device_stats_monitor
20 from pylib
.utils
import test_options_parser
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
)
34 monitor
= device_stats_monitor
.DeviceStatsMonitor(
35 android_commands
.AndroidCommands(), options
.hz
, options
.build_type
)
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
42 if __name__
== '__main__':
43 sys
.exit(main(sys
.argv
))