diff --git a/vllm/v1/metrics/loggers.py b/vllm/v1/metrics/loggers.py index 486ab93965c18..b84f03fa3267c 100644 --- a/vllm/v1/metrics/loggers.py +++ b/vllm/v1/metrics/loggers.py @@ -49,6 +49,8 @@ def __init__(self, labels: Dict[str, str]): labelnames = self.labels.keys() labelvalues = self.labels.values() + self._unregister_vllm_metrics() + self.gauge_scheduler_running = prometheus_client.Gauge( name="vllm:num_requests_running", documentation="Number of requests in model execution batches.", @@ -63,3 +65,10 @@ def log(self, scheduler_stats: SchedulerStats): """Log to prometheus.""" self.gauge_scheduler_running.set(scheduler_stats.num_running_reqs) self.gauge_scheduler_waiting.set(scheduler_stats.num_waiting_reqs) + + @staticmethod + def _unregister_vllm_metrics(): + # Unregister any existing vLLM collectors (for CI/CD + for collector in list(prometheus_client.REGISTRY._collector_to_names): + if hasattr(collector, "_name") and "vllm" in collector._name: + prometheus_client.REGISTRY.unregister(collector)