in ssiog/arguments.py [0:0]
def parse_args() -> argparse.Namespace:
"""Parse the arguments and invoke the necessary steps."""
parser = argparse.ArgumentParser(description="SSIOG arguments")
parser.add_argument(
"--prefix",
type=str,
nargs="+",
help=(
"Use the files starting with the given prefix(es)."
+ " Use gs://... when using direct GCS access."
)
)
parser.add_argument(
"--object-count-limit",
type=int,
help="Limit the number of objects.",
default=1_000_000,
)
parser.add_argument(
"--epochs",
type=int,
help="Number of epochs.",
default=4,
)
parser.add_argument(
"--steps",
type=int,
help="Number of steps.",
default=2_000,
)
parser.add_argument(
"--sample-size",
type=int,
help="Sample size in bytes.",
default=1024,
)
parser.add_argument(
"--batch-size",
type=int,
help="Batch size in number of samples.",
default=1024,
)
parser.add_argument(
"--read-order",
type=str,
nargs="+",
help="Sampling order strategy (Sequential, FileRandom, FullRandom).",
default=["Sequential"],
)
parser.add_argument(
"--background-queue-maxsize",
type=int,
help="Maximum size for the threaded queue.",
default=2048,
)
parser.add_argument(
"--background-threads",
type=int,
help="Number of background threads.",
default=16,
)
parser.add_argument(
"--group-coordinator-address",
type=str,
help="The coordinator (rank==0) address.",
default="localhost",
)
parser.add_argument(
"--group-coordinator-port",
type=str,
help="The coordinator (rank==0) port.",
default="4567",
)
parser.add_argument(
"--group-member-id",
type=int,
help="The id within the group. Also known as the process rank.",
default=0,
)
parser.add_argument(
"--group-size",
type=int,
help="The process group size.",
default=1,
)
parser.add_argument(
"--label",
type=str,
help="Label to distinguish this run.",
default="ssiog-benchmark",
)
parser.add_argument(
"--log-metrics",
type=bool,
help="If enabled, sample latency is logged as csv.",
default=False,
)
parser.add_argument(
"--metrics-file",
type=str,
help="Log the metrics on the file.",
default="metrics.csv",
)
parser.add_argument(
"--export-metrics",
type=bool,
help="If enabled, then exports the otlp metrics.",
default=False,
)
parser.add_argument(
"--exporter-type",
type=str,
choices=["console", "cloud"],
help="Exporter type.",
default="cloud"
)
parser.add_argument(
"--log-file",
type=str,
help="Log file path, if not given then writes to stdout.",
default="",
)
parser.add_argument(
"--log-level",
type=str,
default="INFO",
choices=["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"],
help="Set the logging level",
)
parser.add_argument(
"--clear-pagecache-after-epoch",
type=bool,
help="Only clears page cache not dentries and inode cache",
default=True,
)
return parser.parse_args()