[diffusion] UX: suppress noisy worker startup warnings (#34512)
This commit is contained in:
@@ -15,6 +15,13 @@ import numpy as np
|
|||||||
import torch
|
import torch
|
||||||
from setproctitle import setproctitle
|
from setproctitle import setproctitle
|
||||||
|
|
||||||
|
from sglang.multimodal_gen.runtime.utils.logging_utils import ( # isort: skip
|
||||||
|
globally_suppress_loggers,
|
||||||
|
)
|
||||||
|
|
||||||
|
# spawned workers import model dependencies before entering run_scheduler_process
|
||||||
|
globally_suppress_loggers()
|
||||||
|
|
||||||
from sglang.multimodal_gen import envs
|
from sglang.multimodal_gen import envs
|
||||||
from sglang.multimodal_gen.runtime.distributed import (
|
from sglang.multimodal_gen.runtime.distributed import (
|
||||||
get_sp_group,
|
get_sp_group,
|
||||||
@@ -65,7 +72,6 @@ from sglang.multimodal_gen.runtime.server_args import PortArgs, ServerArgs
|
|||||||
from sglang.multimodal_gen.runtime.utils.common import set_cuda_arch, set_musa_arch
|
from sglang.multimodal_gen.runtime.utils.common import set_cuda_arch, set_musa_arch
|
||||||
from sglang.multimodal_gen.runtime.utils.logging_utils import (
|
from sglang.multimodal_gen.runtime.utils.logging_utils import (
|
||||||
configure_logger,
|
configure_logger,
|
||||||
globally_suppress_loggers,
|
|
||||||
init_logger,
|
init_logger,
|
||||||
)
|
)
|
||||||
from sglang.multimodal_gen.runtime.utils.perf_logger import (
|
from sglang.multimodal_gen.runtime.utils.perf_logger import (
|
||||||
|
|||||||
@@ -517,6 +517,17 @@ class _UvicornAccessLogFilter(logging.Filter):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
class _PytreeEnumRegistrationFilter(logging.Filter):
|
||||||
|
def filter(self, record: logging.LogRecord) -> bool:
|
||||||
|
message = record.getMessage()
|
||||||
|
return not (
|
||||||
|
"is an Enum subclass and is now natively supported by torch.compile"
|
||||||
|
in message
|
||||||
|
and "Calling register_constant() on Enum subclasses is deprecated"
|
||||||
|
in message
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def configure_logger(server_args, prefix: str = ""):
|
def configure_logger(server_args, prefix: str = ""):
|
||||||
log_format = f"[%(asctime)s{prefix}] %(message)s"
|
log_format = f"[%(asctime)s{prefix}] %(message)s"
|
||||||
datefmt = "%m-%d %H:%M:%S"
|
datefmt = "%m-%d %H:%M:%S"
|
||||||
@@ -570,6 +581,13 @@ def globally_suppress_loggers():
|
|||||||
for name in target_names:
|
for name in target_names:
|
||||||
logging.getLogger(name).setLevel(logging.ERROR)
|
logging.getLogger(name).setLevel(logging.ERROR)
|
||||||
|
|
||||||
|
pytree_logger = logging.getLogger("torch.utils._pytree")
|
||||||
|
if not any(
|
||||||
|
isinstance(filter_, _PytreeEnumRegistrationFilter)
|
||||||
|
for filter_ in pytree_logger.filters
|
||||||
|
):
|
||||||
|
pytree_logger.addFilter(_PytreeEnumRegistrationFilter())
|
||||||
|
|
||||||
|
|
||||||
# source: https://github.com/vllm-project/vllm/blob/a11f4a81e027efd9ef783b943489c222950ac989/vllm/utils/system_utils.py#L60
|
# source: https://github.com/vllm-project/vllm/blob/a11f4a81e027efd9ef783b943489c222950ac989/vllm/utils/system_utils.py#L60
|
||||||
@contextlib.contextmanager
|
@contextlib.contextmanager
|
||||||
|
|||||||
@@ -0,0 +1,31 @@
|
|||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
import logging
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
from sglang.multimodal_gen.runtime.utils.logging_utils import (
|
||||||
|
globally_suppress_loggers,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class TestSuppressNoisyDependencyLogs(unittest.TestCase):
|
||||||
|
def test_filters_only_pytree_enum_registration_deprecation(self):
|
||||||
|
logger = logging.getLogger("torch.utils._pytree")
|
||||||
|
with self.assertLogs(logger, level=logging.WARNING) as captured:
|
||||||
|
globally_suppress_loggers()
|
||||||
|
logger.warning(
|
||||||
|
"<enum 'KernelPreference'> is an Enum subclass and is now "
|
||||||
|
"natively supported by torch.compile as an opaque value type. "
|
||||||
|
"Calling register_constant() on Enum subclasses is deprecated "
|
||||||
|
"and will be an error in a future release."
|
||||||
|
)
|
||||||
|
logger.warning("unrelated pytree warning")
|
||||||
|
|
||||||
|
self.assertEqual(
|
||||||
|
captured.output,
|
||||||
|
["WARNING:torch.utils._pytree:unrelated pytree warning"],
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
unittest.main()
|
||||||
Reference in New Issue
Block a user