@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / a8936e5193
Fork 0

A high-throughput and memory-efficient inference and serving engine for LLMs

Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git

Synced Nov 14, 23:45 UTC

Refactor: Remove numpy dependency from LoggingStatLogger (#20529)

Signed-off-by: zitian.zhao <zitian.zhao@tencentmusic.com>

ZiTian.Zhao committed Jul 27, 2025 at 12:06 UTC a8936e5193e7889032ebe8678d86af54df8f4491
1 file changed +9 -8
vllm/v1/metrics/loggers.py
+9 -8
@@ -6,7 +6,6 @@ import time
6 from abc import ABC, abstractmethod
7 from typing import Callable, Optional, Union
8
9 -import numpy as np
9 import prometheus_client
10
11 from vllm.config import SupportsMetricsInfo, VllmConfig
@@ -67,18 +66,20 @@ class LoggingStatLogger(StatLoggerBase):
66 self.last_log_time = now
67
68 # Tracked stats over current local logging interval.
70 - self.num_prompt_tokens: list[int] = []
71 - self.num_generation_tokens: list[int] = []
69 + self.num_prompt_tokens: int = 0
70 + self.num_generation_tokens: int = 0
71
72 def _track_iteration_stats(self, iteration_stats: IterationStats):
73 # Save tracked stats for token counters.
75 - self.num_prompt_tokens.append(iteration_stats.num_prompt_tokens)
76 - self.num_generation_tokens.append(
77 - iteration_stats.num_generation_tokens)
74 + self.num_prompt_tokens += iteration_stats.num_prompt_tokens
75 + self.num_generation_tokens += iteration_stats.num_generation_tokens
76
79 - def _get_throughput(self, tracked_stats: list[int], now: float) -> float:
77 + def _get_throughput(self, tracked_stats: int, now: float) -> float:
78 # Compute summary metrics for tracked stats
81 - return float(np.sum(tracked_stats) / (now - self.last_log_time))
79 + delta_time = now - self.last_log_time
80 + if delta_time <= 0.0:
81 + return 0.0
82 + return float(tracked_stats / delta_time)
83
84 def record(self,
85 scheduler_stats: Optional[SchedulerStats],