-
-
Notifications
You must be signed in to change notification settings - Fork 5.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Misc] Make interval configurable for logging stats #13275
Conversation
👋 Hi! Thank you for contributing to the vLLM project. 💬 Join our developer Slack at https://slack.vllm.ai to discuss your PR in #pr-reviews, coordinate on features in #feat- channels, or join special interest groups in #sig- channels. Just a reminder: PRs would not trigger full CI run by default. Instead, it would only run Once the PR is approved and ready to go, your PR reviewer(s) can run CI to test the changes comprehensively before merging. To run CI, PR reviewers can either: Add 🚀 |
vllm/config.py
Outdated
@@ -3429,3 +3429,9 @@ def get_current_vllm_config() -> VllmConfig: | |||
from vllm.config import VllmConfig | |||
return VllmConfig() | |||
return _current_vllm_config | |||
|
|||
@dataclass | |||
class LogStatsConfig: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ObservabilityConfig
is a fine place for this IMO - see also #13295
vllm/v1/engine/async_llm.py
Outdated
@@ -56,7 +57,7 @@ def __init__( | |||
self.stat_loggers: List[StatLoggerBase] = [] | |||
if self.log_stats: | |||
self.stat_loggers.extend([ | |||
LoggingStatLogger(), | |||
LoggingStatLogger(log_stats_config), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just pass in vllm_config
vllm/v1/metrics/loggers.py
Outdated
self.prefix_caching_metrics = PrefixCachingMetrics() | ||
if self.log_stats_config.interval: | ||
interval = self.log_stats_config.interval | ||
self.prefix_caching_metrics = PrefixCachingMetrics(interval=interval) | ||
|
||
def _local_interval_elapsed(self, now: float) -> bool: | ||
# Log every _LOCAL_LOGGING_INTERVAL_SEC. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would have expected this config to change _LOCAL_LOGGING_INTERVAL_SEC
vllm/config.py
Outdated
class LogStatsConfig: | ||
"""Log Stats configuration.""" | ||
|
||
interval: int = 1000 # The default interval for logging stats |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This needs to be a CLI argument too right?
vllm/v1/metrics/loggers.py
Outdated
@@ -28,8 +29,9 @@ def log(self, scheduler_stats: SchedulerStats, | |||
|
|||
class LoggingStatLogger(StatLoggerBase): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should make this change in V0 too
34aaa5c
to
048c2d3
Compare
This pull request has merge conflicts that must be resolved before it can be |
048c2d3
to
9206b3d
Compare
This PR adds changes to make "interval" configurable for logging stats.