in esrally/track/loader.py [0:0]
def track_info(cfg: types.Config):
def format_task(t, indent="", num="", suffix=""):
msg = f"{indent}{num}{str(t)}"
if t.clients > 1:
msg += f" ({t.clients} clients)"
msg += suffix
return msg
def challenge_info(c):
if not c.auto_generated:
msg = f"Challenge [{c.name}]"
if c.default:
msg += " (run by default)"
console.println(msg, underline="=", overline="=")
if c.description:
console.println(f"\n{c.description}")
console.println("\nSchedule:", underline="-")
console.println("")
for num, task in enumerate(c.schedule, start=1):
if task.nested:
console.println(format_task(task, suffix=":", num=f"{num}. "))
for leaf_num, leaf_task in enumerate(task, start=1):
console.println(format_task(leaf_task, indent="\t", num=f"{num}.{leaf_num} "))
else:
console.println(format_task(task, num=f"{num}. "))
t = load_track(cfg)
console.println(f"Showing details for track [{t.name}]:\n")
console.println(f"* Description: {t.description}")
if t.number_of_documents:
console.println(f"* Documents: {convert.number_to_human_string(t.number_of_documents)}")
console.println(f"* Compressed Size: {convert.bytes_to_human_string(t.compressed_size_in_bytes)}")
console.println(f"* Uncompressed Size: {convert.bytes_to_human_string(t.uncompressed_size_in_bytes)}")
console.println("")
if t.selected_challenge:
challenge_info(t.selected_challenge)
else:
for challenge in t.challenges:
challenge_info(challenge)
console.println("")