[diffusion] profiling: include per-denoising-step timings in perf-dump-path (#15397)

This commit is contained in:
Xiaoyu Zhang
2025-12-18 18:43:33 +08:00
committed by GitHub
parent 793c96c3d2
commit 9a7641d7bf
2 changed files with 9 additions and 0 deletions

View File

@@ -71,6 +71,7 @@ def maybe_dump_performance(args: argparse.Namespace, server_args, prompt: str, r
timings = RequestTimings(request_id=timings_dict.get("request_id"))
timings.stages = timings_dict.get("stages", {})
timings.steps = timings_dict.get("steps", [])
timings.total_duration_ms = timings_dict.get("total_duration_ms", 0)
PerformanceLogger.dump_benchmark_report(

View File

@@ -207,6 +207,12 @@ class PerformanceLogger:
for name, duration_ms in timings.stages.items()
]
denoise_steps_ms = list(timings.steps)
denoise_steps = [
{"index": idx, "duration_ms": duration_ms}
for idx, duration_ms in enumerate(denoise_steps_ms)
]
report = {
"timestamp": datetime.now(UTC).isoformat(),
"request_id": timings.request_id,
@@ -214,6 +220,8 @@ class PerformanceLogger:
"tag": tag,
"total_duration_ms": timings.total_duration_ms,
"steps": formatted_steps,
"denoise_steps_ms": denoise_steps_ms,
"denoise_steps": denoise_steps,
"meta": meta or {},
}