Skip to content

Commit a4bc951

Browse files
oandreeva-nvyinggeh
authored andcommitted
[fix] Adjusting VllmStatLogger for 0.7.0 changes in API (#81)
Co-authored-by: Yingge He <[email protected]>
1 parent 80dd037 commit a4bc951

File tree

4 files changed

+11
-31
lines changed

4 files changed

+11
-31
lines changed

README.md

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -284,13 +284,6 @@ vllm:request_generation_tokens_sum{model="vllm_model",version="1"} 16
284284
vllm:request_generation_tokens_bucket{model="vllm_model",version="1",le="1"} 0
285285
...
286286
vllm:request_generation_tokens_bucket{model="vllm_model",version="1",le="+Inf"} 1
287-
# HELP vllm:request_params_best_of Histogram of the best_of request parameter.
288-
# TYPE vllm:request_params_best_of histogram
289-
vllm:request_params_best_of_count{model="vllm_model",version="1"} 1
290-
vllm:request_params_best_of_sum{model="vllm_model",version="1"} 1
291-
vllm:request_params_best_of_bucket{model="vllm_model",version="1",le="1"} 1
292-
...
293-
vllm:request_params_best_of_bucket{model="vllm_model",version="1",le="+Inf"} 1
294287
# HELP vllm:request_params_n Histogram of the n request parameter.
295288
# TYPE vllm:request_params_n histogram
296289
vllm:request_params_n_count{model="vllm_model",version="1"} 1

ci/L0_backend_vllm/metrics_test/vllm_metrics_test.py

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -189,24 +189,10 @@ def test_custom_sampling_params(self):
189189
model_name=self.vllm_model_name,
190190
)
191191
metrics_dict = self.parse_vllm_metrics()
192-
total_prompts = len(self.prompts)
193-
194-
# vllm:request_params_best_of
195-
"""
196-
self.assertEqual(
197-
metrics_dict["vllm:request_params_best_of_count"], total_prompts
198-
)
199-
self.assertEqual(
200-
metrics_dict["vllm:request_params_best_of_sum"], best_of * total_prompts
201-
)
202-
self.assertEqual(
203-
metrics_dict["vllm:request_params_best_of_bucket"], total_prompts
204-
)
205-
"""
206192
# vllm:request_params_n
207-
self.assertEqual(metrics_dict["vllm:request_params_n_count"], total_prompts)
208-
# self.assertEqual(metrics_dict["vllm:request_params_n_sum"], n * total_prompts)
209-
self.assertEqual(metrics_dict["vllm:request_params_n_bucket"], total_prompts)
193+
self.assertIn("vllm:request_params_n_count", metrics_dict)
194+
self.assertIn("vllm:request_params_n_sum", metrics_dict)
195+
self.assertIn("vllm:request_params_n_bucket", metrics_dict)
210196

211197
def test_vllm_metrics_disabled(self):
212198
# Test vLLM metrics

src/model.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -359,10 +359,8 @@ def _setup_metrics(self):
359359
"version": self.args["model_version"],
360360
}
361361
# Add vLLM custom metrics
362-
engine_config = self._llm_engine.engine.model_config
363-
self._vllm_metrics = VllmStatLogger(
364-
labels, engine_config.max_model_len, self.logger
365-
)
362+
vllm_config = self._llm_engine.engine.vllm_config
363+
self._vllm_metrics = VllmStatLogger(labels, vllm_config, self.logger)
366364
self._llm_engine.add_logger("triton", self._vllm_metrics)
367365
except pb_utils.TritonModelException as e:
368366
if "metrics not supported" in str(e):

src/utils/metrics.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
from typing import Dict, List, Union
3030

3131
import triton_python_backend_utils as pb_utils
32+
from vllm.config import VllmConfig
3233
from vllm.engine.metrics import StatLoggerBase as VllmStatLoggerBase
3334
from vllm.engine.metrics import Stats as VllmStats
3435
from vllm.engine.metrics import SupportsMetricsInfo, build_1_2_5_buckets
@@ -163,11 +164,13 @@ def __init__(self, labels: List[str], max_model_len: int):
163164
class VllmStatLogger(VllmStatLoggerBase):
164165
"""StatLogger is used as an adapter between vLLM stats collector and Triton metrics provider."""
165166

166-
def __init__(self, labels: Dict, max_model_len: int, log_logger) -> None:
167+
def __init__(self, labels: Dict, vllm_config: VllmConfig, log_logger) -> None:
167168
# Tracked stats over current local logging interval.
168169
# local_interval not used here. It's for vLLM logs to stdout.
169-
super().__init__(local_interval=0)
170-
self.metrics = TritonMetrics(labels, max_model_len)
170+
super().__init__(local_interval=0, vllm_config=vllm_config)
171+
self.metrics = TritonMetrics(
172+
labels=labels, max_model_len=vllm_config.model_config.max_model_len
173+
)
171174
self.log_logger = log_logger
172175

173176
# Starting the metrics thread. It allows vLLM to keep making progress

0 commit comments

Comments
 (0)