]> git.ozlabs.org Git - hiprofile/blob - scripts/hiprofile
Use jinja2 instead of django
[hiprofile] / scripts / hiprofile
1 #!/usr/bin/env python
2
3 import sys, os
4 from optparse import OptionParser
5 from hiprofile import Report, Connection, write_report
6
7 resourcedir = os.path.join(os.path.dirname(__file__),
8                            '..', 'share', 'hiprofile')
9
10 default_thresholds = {
11     'binary':   '5%',
12     'symbol':   '20',
13 }
14
15 default_outdir = 'output'
16
17 def main(args):
18     parser = OptionParser()
19     parser.add_option('-r', '--remote-host', dest = 'host',
20             help = 'grab oprofile data from HOST', metavar = 'HOST')
21     parser.add_option('-o', '--output-dir', dest = 'outdir',
22             help = 'create output in directory DIR', metavar = 'DIR',
23             default = default_outdir)
24     parser.add_option('--opreport', dest = 'opreport', default = 'opreport',
25             help = 'use opreport binary at PATH', metavar = 'PATH')
26     parser.add_option('--opannotate', dest = 'opannotate',
27             default = 'opannotate',
28             help = 'use opannotate binary at PATH', metavar = 'PATH')
29
30     (options, args) = parser.parse_args()
31
32     conn = Connection(options.host)
33
34     report = Report.extract(conn, options)
35
36     report.threshold(default_thresholds)
37
38     report.annotate(conn, options)
39
40     write_report(report, resourcedir, options.outdir)
41
42 if __name__ == '__main__':
43     sys.exit(main(sys.argv))