summaryrefslogtreecommitdiffstats
path: root/rteval-cmd
diff options
context:
space:
mode:
Diffstat (limited to 'rteval-cmd')
-rwxr-xr-xrteval-cmd66
1 files changed, 34 insertions, 32 deletions
diff --git a/rteval-cmd b/rteval-cmd
index b886781..b0053e2 100755
--- a/rteval-cmd
+++ b/rteval-cmd
@@ -99,56 +99,61 @@ def parse_options(cfg, parser, cmdargs):
'''parse the command line arguments'''
rtevcfg = cfg.GetSection('rteval')
- parser.add_option("-d", "--duration", dest="duration",
+ #
+ # All the destination variables here should go into the 'rteval' section,
+ # thus they are prefixed with 'rteval___'.
+ # See rteval/rtevalConfig::UpdateFromOptionParser() method for more info
+ #
+ parser.add_option("-d", "--duration", dest="rteval___duration",
type="string", default=rtevcfg.duration,
help="specify length of test run (default: %default)")
- parser.add_option("-v", "--verbose", dest="verbose",
+ parser.add_option("-v", "--verbose", dest="rteval___verbose",
action="store_true", default=rtevcfg.verbose,
help="turn on verbose prints (default: %default)")
- parser.add_option("-w", "--workdir", dest="workdir",
+ parser.add_option("-w", "--workdir", dest="rteval___workdir",
type="string", default=rtevcfg.workdir,
help="top directory for rteval data (default: %default)")
- parser.add_option("-l", "--loaddir", dest="srcdir",
+ parser.add_option("-l", "--loaddir", dest="rteval___srcdir",
type="string", default=rtevcfg.srcdir,
help="directory for load source tarballs (default: %default)")
- parser.add_option("-i", "--installdir", dest="installdir",
+ parser.add_option("-i", "--installdir", dest="rteval___installdir",
type="string", default=rtevcfg.installdir,
help="place to locate installed templates (default: %default)")
- parser.add_option("-s", "--sysreport", dest="sysreport",
+ parser.add_option("-s", "--sysreport", dest="rteval___sysreport",
action="store_true", default=rtevcfg.sysreport,
help='run sysreport to collect system data (default: %default)')
- parser.add_option("-D", '--debug', dest='debugging',
+ parser.add_option("-D", '--debug', dest='rteval___debugging',
action='store_true', default=rtevcfg.debugging,
help='turn on debug prints (default: %default)')
- parser.add_option("-X", '--xmlrpc-submit', dest='xmlrpc',
+ parser.add_option("-X", '--xmlrpc-submit', dest='rteval___xmlrpc',
action='store', default=rtevcfg.xmlrpc, metavar='HOST',
help='Hostname to XML-RPC server to submit reports')
- parser.add_option("-P", "--xmlrpc-no-abort", dest="xmlrpc_noabort",
+ parser.add_option("-P", "--xmlrpc-no-abort", dest="rteval___xmlrpc_noabort",
action='store_true', default=False,
help="Do not abort if XML-RPC server do not respond to ping request");
- parser.add_option("-Z", '--summarize', dest='summarize',
+ parser.add_option("-Z", '--summarize', dest='rteval___summarize',
action='store_true', default=False,
help='summarize an already existing XML report')
- parser.add_option("-H", '--raw-histogram', dest='rawhistogram',
+ parser.add_option("-H", '--raw-histogram', dest='rteval___rawhistogram',
action='store_true', default=False,
help='Generate raw histogram data for an already existing XML report')
- parser.add_option("-f", "--inifile", dest="inifile",
+ parser.add_option("-f", "--inifile", dest="rteval___inifile",
type='string', default=None,
help="initialization file for configuring loads and behavior")
- parser.add_option("-a", "--annotate", dest="annotate",
+ parser.add_option("-a", "--annotate", dest="rteval___annotate",
type="string", default=None,
help="Add a little annotation which is stored in the report")
- parser.add_option("-L", "--logging", dest="logging",
+ parser.add_option("-L", "--logging", dest="rteval___logging",
action='store_true', default=False,
help='log the output of the loads in the report directory')
- parser.add_option("-O", "--onlyload", dest="onlyload",
+ parser.add_option("-O", "--onlyload", dest="rteval___onlyload",
action='store_true', default=False,
help="only run the loads (don't run measurement threads)")
(cmd_opts, cmd_args) = parser.parse_args(args = cmdargs)
- if cmd_opts.duration:
+ if cmd_opts.rteval___duration:
mult = 1.0
- v = cmd_opts.duration.lower()
+ v = cmd_opts.rteval___duration.lower()
if v.endswith('s'):
v = v[:-1]
elif v.endswith('m'):
@@ -160,9 +165,12 @@ def parse_options(cfg, parser, cmdargs):
elif v.endswith('d'):
v = v[:-1]
mult = 3600.0 * 24.0
- cmd_opts.duration = float(v) * mult
+ cmd_opts.rteval___duration = float(v) * mult
- return (cmd_opts, cmd_args)
+ # Update the config object with the parsed arguments
+ cfg.UpdateFromOptionParser(parser)
+
+ return cmd_args
@@ -238,16 +246,10 @@ if __name__ == '__main__':
parser = optparse.OptionParser()
loadmods.SetupModuleOptions(parser)
measuremods.SetupModuleOptions(parser)
- (cmd_opts, cmd_args) = parse_options(config, parser, sys.argv[1:])
-
- # copy the command line options into the rteval config section
- # (cmd line overrides config file values)
- config.AppendConfig('rteval', vars(cmd_opts))
- rtevcfg = config.GetSection('rteval')
-
- rtevcfg.workdir = os.path.abspath(cmd_opts.workdir)
+ cmd_args = parse_options(config, parser, sys.argv[1:])
# Update log level, based on config/command line args
+ rtevcfg = config.GetSection('rteval')
loglev = (not rtevcfg.quiet and (Log.ERR | Log.WARN)) \
| (rtevcfg.verbose and Log.INFO) \
| (rtevcfg.debugging and Log.DEBUG)
@@ -256,14 +258,14 @@ if __name__ == '__main__':
logger.log(Log.DEBUG, "workdir: %s" % rtevcfg.workdir)
# if --summarize was specified then just parse the XML, print it and exit
- if cmd_opts.summarize or cmd_opts.rawhistogram:
+ if rtevcfg.summarize or rtevcfg.rawhistogram:
if len(cmd_args) < 1:
raise RuntimeError, "Must specify at least one XML file with --summarize!"
for x in cmd_args:
- if cmd_opts.summarize:
+ if rtevcfg.summarize:
summarize(x, '%s/rteval_text.xsl' % rtevcfg.installdir)
- elif cmd_opts.rawhistogram:
+ elif rtevcfg.rawhistogram:
summarize(x, '%s/rteval_histogram_raw.xsl' % rtevcfg.installdir)
sys.exit(0)
@@ -291,9 +293,9 @@ if __name__ == '__main__':
rteval = RtEval(config, loadmods, measuremods, logger)
- rteval.Prepare(cmd_opts.onlyload)
+ rteval.Prepare(rtevcfg.onlyload)
- if cmd_opts.onlyload:
+ if rtevcfg.onlyload:
# If --onlyload were given, just kick off the loads and nothing more
# No reports will be created.
loadmods.Start()