in yourbench/pipeline/handler.py [0:0]
def _plot_pipeline_stage_timing() -> None:
logger.info("Generating pipeline stage timing chart.")
try:
import matplotlib.pyplot as plt
except ImportError:
logger.warning("Cannot generate timing chart: matplotlib is not installed.")
return
stages = [timing["stage_name"] for timing in PIPELINE_STAGE_TIMINGS]
durations = [timing["elapsed"] for timing in PIPELINE_STAGE_TIMINGS]
fig, ax = plt.subplots(figsize=(3, 3), dpi=300)
ax.barh(stages, durations, color="skyblue", edgecolor="black")
ax.set_xlabel("Duration (s)")
ax.set_title("Pipeline Stage Timings")
for i, duration in enumerate(durations):
ax.text(duration + 0.01, i, f"{duration:.2f}s", va="center", fontsize=6)
plt.tight_layout()
plt.savefig("pipeline_stage_timing.png", dpi=300)
plt.close(fig)
logger.info("Saved pipeline stage timing chart to 'pipeline_stage_timing.png'.")