in benchmarks/perf-tool/okpt/io/args.py [0:0]
def get_args() -> Union[TestArgs, DiffArgs]:
"""Define, parse and return command line args.
Returns:
A dict containing the command line args.
"""
parser = argparse.ArgumentParser(
description=
'Run performance tests against the OpenSearch plugin and various ANN '
'libaries.'
)
def define_args():
"""Define tool commands."""
# add log level arg
parser.add_argument(
'--log',
default='info',
type=str,
choices=['debug',
'info',
'warning',
'error',
'critical'],
help='Log level of the tool.'
)
subparsers = parser.add_subparsers(
title='commands',
dest='command',
help='sub-command help'
)
subparsers.required = True
# add subcommands
_add_test_cmd(subparsers)
_add_diff_cmd(subparsers)
define_args()
args = parser.parse_args()
if args.command == 'test':
return TestArgs(
log=args.log,
command=args.command,
config=args.config,
output=args.output
)
else:
return DiffArgs(
log=args.log,
command=args.command,
metadata=args.metadata,
base_result=args.base_result,
changed_result=args.changed_result,
output=args.output
)