]> git.ozlabs.org Git - hiprofile/blob - scripts/hiprofile
Initial commit
[hiprofile] / scripts / hiprofile
1 #!/usr/bin/env python
2
3 import sys, os
4 from optparse import OptionParser
5 from django.conf import settings
6
7 from hiprofile import Report, Connection, write_report
8
9 resourcedir = os.path.join(os.path.dirname(__file__),
10                            '..', 'share', 'hiprofile')
11
12 default_thresholds = {
13     'binary':   '5%',
14     'symbol':   '20',
15 }
16
17 default_outdir = 'output'
18
19 def main(args):
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
27     (options, args) = parser.parse_args()
28
29     # set up django template engine
30     settings.configure(TEMPLATE_LOADERS =
31                 ('django.template.loaders.filesystem.load_template_source',),
32             TEMPLATE_DIRS = (resourcedir,))
33
34     conn = Connection(options.host)
35
36     report = Report.extract(conn)
37
38     report.threshold(default_thresholds)
39
40     report.annotate(conn)
41
42     write_report(report, resourcedir, options.outdir)
43
44 if __name__ == '__main__':
45     sys.exit(main(sys.argv))