From 5d74421263ff33d09c21f0334778172031dd7fc8 Mon Sep 17 00:00:00 2001 From: Andy Xie Date: Sun, 24 Aug 2025 19:14:24 +0800 Subject: [PATCH] [Bugfix] fix is_usage_stats_enabled when disable it Signed-off-by: Andy Xie --- tests/usage/__init__.py | 0 tests/usage/test_usage.py | 21 +++++++++++++++++++++ vllm/usage/usage_lib.py | 6 +++--- 3 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 tests/usage/__init__.py create mode 100644 tests/usage/test_usage.py diff --git a/tests/usage/__init__.py b/tests/usage/__init__.py new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/tests/usage/test_usage.py b/tests/usage/test_usage.py new file mode 100644 index 0000000000000..0d781af0f3680 --- /dev/null +++ b/tests/usage/test_usage.py @@ -0,0 +1,21 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright contributors to the vLLM project + +from vllm.usage.usage_lib import is_usage_stats_enabled + + +def test_is_usage_stats_enabled(monkeypatch): + with monkeypatch.context() as m: + # Reset the global state to ensure test isolation. + # The original value will be restored after the test. + monkeypatch.setattr("vllm.usage.usage_lib._USAGE_STATS_ENABLED", False) + + m.setattr("vllm.envs.VLLM_DO_NOT_TRACK", True) + m.setattr("vllm.envs.VLLM_NO_USAGE_STATS", True) + m.setattr("os.path.exists", lambda x: True) + assert is_usage_stats_enabled() is False + + m.setattr("vllm.envs.VLLM_DO_NOT_TRACK", False) + m.setattr("vllm.envs.VLLM_NO_USAGE_STATS", False) + m.setattr("os.path.exists", lambda x: False) + assert is_usage_stats_enabled() is True diff --git a/vllm/usage/usage_lib.py b/vllm/usage/usage_lib.py index 92245498de657..4a50ca3e745bf 100644 --- a/vllm/usage/usage_lib.py +++ b/vllm/usage/usage_lib.py @@ -29,7 +29,7 @@ logger = init_logger(__name__) _config_home = envs.VLLM_CONFIG_ROOT _USAGE_STATS_JSON_PATH = os.path.join(_config_home, "usage_stats.json") _USAGE_STATS_DO_NOT_TRACK_PATH = os.path.join(_config_home, "do_not_track") -_USAGE_STATS_ENABLED = None +_USAGE_STATS_ENABLED = False _USAGE_STATS_SERVER = envs.VLLM_USAGE_STATS_SERVER _GLOBAL_RUNTIME_DATA = dict[str, Union[str, int, bool]]() @@ -51,7 +51,7 @@ def set_runtime_usage_data(key: str, value: Union[str, int, bool]) -> None: _GLOBAL_RUNTIME_DATA[key] = value -def is_usage_stats_enabled(): +def is_usage_stats_enabled() -> bool: """Determine whether or not we can send usage stats to the server. The logic is as follows: - By default, it should be enabled. @@ -63,7 +63,7 @@ def is_usage_stats_enabled(): - $HOME/.config/vllm/do_not_track """ global _USAGE_STATS_ENABLED - if _USAGE_STATS_ENABLED is None: + if not _USAGE_STATS_ENABLED: do_not_track = envs.VLLM_DO_NOT_TRACK no_usage_stats = envs.VLLM_NO_USAGE_STATS do_not_track_file = os.path.exists(_USAGE_STATS_DO_NOT_TRACK_PATH)