From 9a7641d7bfd02a161684a0ccaaeb269616df4b5d Mon Sep 17 00:00:00 2001 From: Xiaoyu Zhang <35585791+BBuf@users.noreply.github.com> Date: Thu, 18 Dec 2025 18:43:33 +0800 Subject: [PATCH] [diffusion] profiling: include per-denoising-step timings in `perf-dump-path` (#15397) --- .../multimodal_gen/runtime/entrypoints/cli/generate.py | 1 + python/sglang/multimodal_gen/runtime/utils/perf_logger.py | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/python/sglang/multimodal_gen/runtime/entrypoints/cli/generate.py b/python/sglang/multimodal_gen/runtime/entrypoints/cli/generate.py index 2256eaebc..42c4489f5 100644 --- a/python/sglang/multimodal_gen/runtime/entrypoints/cli/generate.py +++ b/python/sglang/multimodal_gen/runtime/entrypoints/cli/generate.py @@ -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( diff --git a/python/sglang/multimodal_gen/runtime/utils/perf_logger.py b/python/sglang/multimodal_gen/runtime/utils/perf_logger.py index bce7f5a83..30de35fdf 100644 --- a/python/sglang/multimodal_gen/runtime/utils/perf_logger.py +++ b/python/sglang/multimodal_gen/runtime/utils/perf_logger.py @@ -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 {}, }