4 from optparse import OptionParser
5 from django.conf import settings
7 from hiprofile import Report, Connection, write_report
9 resourcedir = os.path.join(os.path.dirname(__file__),
10 '..', 'share', 'hiprofile')
12 default_thresholds = {
17 default_outdir = 'output'
20 parser = OptionParser()
21 parser.add_option('-r', '--remote-host', dest = 'host',
22 help = 'grab oprofile data from HOST', metavar = 'HOST')
23 parser.add_option('-o', '--output-dir', dest = 'outdir',
24 help = 'create output in directory DIR', metavar = 'DIR',
25 default = default_outdir)
26 parser.add_option('--opreport', dest = 'opreport', default = 'opreport',
27 help = 'use opreport binary at PATH', metavar = 'PATH')
28 parser.add_option('--opannotate', dest = 'opannotate',
29 default = 'opannotate',
30 help = 'use opannotate binary at PATH', metavar = 'PATH')
32 (options, args) = parser.parse_args()
34 # set up django template engine
35 settings.configure(TEMPLATE_LOADERS =
36 ('django.template.loaders.filesystem.load_template_source',),
37 TEMPLATE_DIRS = (resourcedir,))
39 conn = Connection(options.host)
41 report = Report.extract(conn, options)
43 report.threshold(default_thresholds)
45 report.annotate(conn, options)
47 write_report(report, resourcedir, options.outdir)
49 if __name__ == '__main__':
50 sys.exit(main(sys.argv))