Skip to content

Commit 048fffc

Browse files
committed
[Bugfix] Fix async log stats
1 parent 7de49aa commit 048fffc

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

tests/basic_correctness/test_preemption.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ def test_chunked_prefill_recompute(
6464
enable_chunked_prefill=enable_chunked_prefill,
6565
max_num_seqs=max_num_seqs,
6666
worker_use_ray=worker_use_ray,
67+
disable_log_stats=False,
6768
) as vllm_model:
6869
vllm_outputs = vllm_model.generate_greedy(example_prompts, max_tokens)
6970
assert (vllm_model.model.llm_engine.scheduler[0].artificial_preempt_cnt

vllm/engine/llm_engine.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1435,7 +1435,8 @@ def _process_model_outputs(self,
14351435
# LLMEngine/AsyncLLMEngine directly
14361436
if is_async:
14371437
# Log stats.
1438-
self.do_log_stats(scheduler_outputs, outputs, finished_before)
1438+
self.do_log_stats(scheduler_outputs, outputs, finished_before,
1439+
skip)
14391440

14401441
# Tracing
14411442
self.do_tracing(scheduler_outputs)
@@ -1742,18 +1743,20 @@ def remove_logger(self, logger_name: str) -> None:
17421743
def do_log_stats(self,
17431744
scheduler_outputs: Optional[SchedulerOutputs] = None,
17441745
model_output: Optional[List[SamplerOutput]] = None,
1745-
finished_before: Optional[List[int]] = None) -> None:
1746+
finished_before: Optional[List[int]] = None,
1747+
skip: Optional[List[int]] = None) -> None:
17461748
"""Forced log when no requests active."""
17471749
if self.log_stats:
17481750
stats = self._get_stats(scheduler_outputs, model_output,
1749-
finished_before)
1751+
finished_before, skip)
17501752
for logger in self.stat_loggers.values():
17511753
logger.log(stats)
17521754

17531755
def _get_stats(self,
17541756
scheduler_outputs: Optional[SchedulerOutputs],
17551757
model_output: Optional[List[SamplerOutput]] = None,
1756-
finished_before: Optional[List[int]] = None) -> Stats:
1758+
finished_before: Optional[List[int]] = None,
1759+
skip: Optional[List[int]] = None) -> Stats:
17571760
"""Get Stats to be Logged to Prometheus.
17581761
17591762
Args:
@@ -1835,6 +1838,11 @@ def _get_stats(self,
18351838
actual_num_batched_tokens -= 1
18361839
continue
18371840

1841+
# Currently, skip == preempted sequences, so we need to skip
1842+
# their log stats
1843+
if skip and idx in skip:
1844+
continue
1845+
18381846
group_was_prefill = idx < scheduler_outputs.num_prefill_groups
18391847
seq_group = scheduled_seq_group.seq_group
18401848

0 commit comments

Comments
 (0)