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],