diff --git a/python/sglang/multimodal_gen/runtime/entrypoints/diffusion_generator.py b/python/sglang/multimodal_gen/runtime/entrypoints/diffusion_generator.py index 0d47d0839..005bf2e16 100644 --- a/python/sglang/multimodal_gen/runtime/entrypoints/diffusion_generator.py +++ b/python/sglang/multimodal_gen/runtime/entrypoints/diffusion_generator.py @@ -347,7 +347,10 @@ class DiffGenerator: results.append(result_item) except Exception as e: logger.error( - "Failed to generate output for prompt %d: %s", request_idx + 1, e + "Failed to generate output for prompt %d: %s", + request_idx + 1, + e, + exc_info=True, ) continue diff --git a/python/sglang/multimodal_gen/runtime/pipelines_core/stages/denoising.py b/python/sglang/multimodal_gen/runtime/pipelines_core/stages/denoising.py index 4c5f32540..ea315ed14 100644 --- a/python/sglang/multimodal_gen/runtime/pipelines_core/stages/denoising.py +++ b/python/sglang/multimodal_gen/runtime/pipelines_core/stages/denoising.py @@ -900,7 +900,7 @@ class DenoisingStage(PipelineStage): if num_timesteps > 0: self.log_info( - "Average time per step: %.4f seconds", + "average time per step: %.4f seconds", (denoising_end_time - denoising_start_time) / len(timesteps), ) diff --git a/python/sglang/multimodal_gen/runtime/pipelines_core/stages/denoising_dmd.py b/python/sglang/multimodal_gen/runtime/pipelines_core/stages/denoising_dmd.py index 1dd64a67c..250af0135 100644 --- a/python/sglang/multimodal_gen/runtime/pipelines_core/stages/denoising_dmd.py +++ b/python/sglang/multimodal_gen/runtime/pipelines_core/stages/denoising_dmd.py @@ -268,7 +268,7 @@ class DmdDenoisingStage(DenoisingStage): denoising_loop_end_time = time.time() if len(timesteps) > 0: self.log_info( - "Average time per step: %.4f seconds", + "average time per step: %.4f seconds", (denoising_loop_end_time - denoising_loop_start_time) / len(timesteps), ) diff --git a/python/sglang/multimodal_gen/runtime/utils/perf_logger.py b/python/sglang/multimodal_gen/runtime/utils/perf_logger.py index f840bdf21..ae126c407 100644 --- a/python/sglang/multimodal_gen/runtime/utils/perf_logger.py +++ b/python/sglang/multimodal_gen/runtime/utils/perf_logger.py @@ -6,7 +6,6 @@ import os import subprocess import sys import time -import traceback from datetime import datetime from functools import lru_cache from pathlib import Path @@ -16,6 +15,7 @@ from dateutil.tz import UTC import sglang import sglang.multimodal_gen.envs as envs +from sglang.multimodal_gen.runtime.utils.logging_utils import _SGLDiffusionLogger @dataclasses.dataclass @@ -123,7 +123,7 @@ class StageProfiler: def __init__( self, stage_name: str, - logger: logging.Logger, + logger: _SGLDiffusionLogger, timings: Optional["RequestTimings"], simple_log: bool = False, ): @@ -131,7 +131,6 @@ class StageProfiler: self.timings = timings self.logger = logger self.simple_log = simple_log - self.logger = logging.getLogger(__name__) self.start_time = 0.0 # Check env var at runtime to ensure we pick up changes (e.g. from CLI args) @@ -158,13 +157,8 @@ class StageProfiler: self.stage_name, execution_time_s * 1000, exc_val, + exc_info=True, ) - if self.metrics_enabled: - self.logger.error( - "[%s] Traceback: %s", - self.stage_name, - "".join(traceback.format_tb(exc_tb)), - ) return False if self.simple_log: