@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 9cf4edae6e
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 12, 14:45 UTC

[Metrics] Scheduled removal of deprecated metrics (#29330)

Signed-off-by: Mark McLoughlin <markmc@redhat.com>

Mark McLoughlin committed Nov 25, 2025 at 03:15 UTC 9cf4edae6ef2c972429560ca8f72d40688d10495
2 files changed +37 -100
tests/entrypoints/openai/test_metrics.py
-3
@@ -183,9 +183,6 @@ async def test_metrics_counts(
183 EXPECTED_METRICS_V1 = [
184 "vllm:num_requests_running",
185 "vllm:num_requests_waiting",
186 - "vllm:gpu_cache_usage_perc",
187 - "vllm:gpu_prefix_cache_queries",
188 - "vllm:gpu_prefix_cache_hits",
186 "vllm:kv_cache_usage_perc",
187 "vllm:prefix_cache_queries",
188 "vllm:prefix_cache_hits",
vllm/v1/metrics/loggers.py
+37 -97
@@ -440,57 +440,6 @@ class PrometheusStatLogger(AggregateStatLoggerBase):
440 # Setting default values
441 self.record_sleep_state()
442
443 - # GPU cache
444 - #
445 - # Deprecated in 0.9.2 - Renamed as vllm:kv_cache_usage_perc
446 - # With 0.11.x you can enable with --show-hidden-metrics-for-version=0.10
447 - # TODO: remove in 0.12.0
448 - if self.show_hidden_metrics:
449 - gauge_gpu_cache_usage = self._gauge_cls(
450 - name="vllm:gpu_cache_usage_perc",
451 - documentation=(
452 - "GPU KV-cache usage. 1 means 100 percent usage."
453 - "DEPRECATED: Use vllm:kv_cache_usage_perc instead."
454 - ),
455 - multiprocess_mode="mostrecent",
456 - labelnames=labelnames,
457 - )
458 - self.gauge_gpu_cache_usage = make_per_engine(
459 - gauge_gpu_cache_usage, engine_indexes, model_name
460 - )
461 -
462 - # Deprecated in 0.9.2 - Renamed as vllm:prefix_cache_queries
463 - # With 0.11.x you can enable with --show-hidden-metrics-for-version=0.10
464 - # TODO: remove in 0.12.0
465 - if self.show_hidden_metrics:
466 - counter_gpu_prefix_cache_queries = self._counter_cls(
467 - name="vllm:gpu_prefix_cache_queries",
468 - documentation=(
469 - "GPU prefix cache queries, in terms of number of queried"
470 - "tokens. DEPRECATED: Use vllm:prefix_cache_queries instead."
471 - ),
472 - labelnames=labelnames,
473 - )
474 - self.counter_gpu_prefix_cache_queries = make_per_engine(
475 - counter_gpu_prefix_cache_queries, engine_indexes, model_name
476 - )
477 -
478 - # Deprecated in 0.9.2 - Renamed as vllm:prefix_cache_hits
479 - # With 0.11.x you can enable with --show-hidden-metrics-for-version=0.10
480 - # TODO: remove in 0.12.0
481 - if self.show_hidden_metrics:
482 - counter_gpu_prefix_cache_hits = self._counter_cls(
483 - name="vllm:gpu_prefix_cache_hits",
484 - documentation=(
485 - "GPU prefix cache hits, in terms of number of cached "
486 - "tokens. DEPRECATED: Use vllm:prefix_cache_hits instead."
487 - ),
488 - labelnames=labelnames,
489 - )
490 - self.counter_gpu_prefix_cache_hits = make_per_engine(
491 - counter_gpu_prefix_cache_hits, engine_indexes, model_name
492 - )
493 -
443 gauge_kv_cache_usage = self._gauge_cls(
444 name="vllm:kv_cache_usage_perc",
445 documentation="KV-cache usage. 1 means 100 percent usage.",
@@ -735,39 +684,41 @@ class PrometheusStatLogger(AggregateStatLoggerBase):
684 )
685
686 # Deprecated in 0.11 - Renamed as vllm:inter_token_latency_seconds
738 - # TODO: in 0.12, only enable if show_hidden_metrics=True
739 - histogram_time_per_output_token = self._histogram_cls(
740 - name="vllm:time_per_output_token_seconds",
741 - documentation=(
742 - "Histogram of time per output token in seconds."
743 - "DEPRECATED: Use vllm:inter_token_latency_seconds instead."
744 - ),
745 - buckets=[
746 - 0.01,
747 - 0.025,
748 - 0.05,
749 - 0.075,
750 - 0.1,
751 - 0.15,
752 - 0.2,
753 - 0.3,
754 - 0.4,
755 - 0.5,
756 - 0.75,
757 - 1.0,
758 - 2.5,
759 - 5.0,
760 - 7.5,
761 - 10.0,
762 - 20.0,
763 - 40.0,
764 - 80.0,
765 - ],
766 - labelnames=labelnames,
767 - )
768 - self.histogram_time_per_output_token = make_per_engine(
769 - histogram_time_per_output_token, engine_indexes, model_name
770 - )
687 + # With 0.12.x you can enable with --show-hidden-metrics-for-version=0.11
688 + # TODO: remove in 0.13.0
689 + if self.show_hidden_metrics:
690 + histogram_time_per_output_token = self._histogram_cls(
691 + name="vllm:time_per_output_token_seconds",
692 + documentation=(
693 + "Histogram of time per output token in seconds."
694 + "DEPRECATED: Use vllm:inter_token_latency_seconds instead."
695 + ),
696 + buckets=[
697 + 0.01,
698 + 0.025,
699 + 0.05,
700 + 0.075,
701 + 0.1,
702 + 0.15,
703 + 0.2,
704 + 0.3,
705 + 0.4,
706 + 0.5,
707 + 0.75,
708 + 1.0,
709 + 2.5,
710 + 5.0,
711 + 7.5,
712 + 10.0,
713 + 20.0,
714 + 40.0,
715 + 80.0,
716 + ],
717 + labelnames=labelnames,
718 + )
719 + self.histogram_time_per_output_token = make_per_engine(
720 + histogram_time_per_output_token, engine_indexes, model_name
721 + )
722
723 histogram_inter_token_latency = self._histogram_cls(
724 name="vllm:inter_token_latency_seconds",
@@ -966,20 +917,8 @@ class PrometheusStatLogger(AggregateStatLoggerBase):
917 self.gauge_scheduler_waiting[engine_idx].set(
918 scheduler_stats.num_waiting_reqs
919 )
969 - if self.show_hidden_metrics:
970 - self.gauge_gpu_cache_usage[engine_idx].set(
971 - scheduler_stats.kv_cache_usage
972 - )
920 self.gauge_kv_cache_usage[engine_idx].set(scheduler_stats.kv_cache_usage)
921
975 - if self.show_hidden_metrics:
976 - self.counter_gpu_prefix_cache_queries[engine_idx].inc(
977 - scheduler_stats.prefix_cache_stats.queries
978 - )
979 - self.counter_gpu_prefix_cache_hits[engine_idx].inc(
980 - scheduler_stats.prefix_cache_stats.hits
981 - )
982 -
922 self.counter_prefix_cache_queries[engine_idx].inc(
923 scheduler_stats.prefix_cache_stats.queries
924 )
@@ -1050,7 +989,8 @@ class PrometheusStatLogger(AggregateStatLoggerBase):
989 self.histogram_time_to_first_token[engine_idx].observe(ttft)
990 for itl in iteration_stats.inter_token_latencies_iter:
991 self.histogram_inter_token_latency[engine_idx].observe(itl)
1053 - self.histogram_time_per_output_token[engine_idx].observe(itl)
992 + if self.show_hidden_metrics:
993 + self.histogram_time_per_output_token[engine_idx].observe(itl)
994
995 for finished_request in iteration_stats.finished_requests:
996 self.counter_request_success[finished_request.finish_reason][