diff options
Diffstat (limited to 'rteval-cmd')
-rwxr-xr-x | rteval-cmd | 66 |
1 files changed, 34 insertions, 32 deletions
@@ -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() |