Merge 6d54078047a7b5402f47007cc21152d7c2c7987c into 254f6b986720c92ddf97fbb1a6a6465da8e87e29

This commit is contained in:
Ning Xie 2025-12-25 08:09:24 +08:00 committed by GitHub
commit 4b834142c7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 24 additions and 3 deletions

0
tests/usage/__init__.py Normal file
View File

21
tests/usage/test_usage.py Normal file
View File

@ -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

View File

@ -30,7 +30,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, str | int | bool]()
@ -50,7 +50,7 @@ def set_runtime_usage_data(key: str, value: 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.
@ -62,7 +62,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)