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 4, 23:45 UTC
[KV Connector] Allow metrics of multiple connectors of same types in multi connector. (#40010)
Signed-off-by: omerpaz95 <omerpaz95@gmail.com> Co-authored-by: Or Ozeri <oro@il.ibm.com>
omerpaz95 committed
Apr 19, 2026 at 07:49 UTC
4b7f5ea1a06c08542af6dedbc9086750d3e2666a
1 file changed
+11
-1
vllm/distributed/kv_transfer/kv_connector/v1/multi_connector.py
+11
-1
@@ -548,7 +548,13 @@ class MultiConnector(KVConnectorBase_V1):
548
if stats_by_connector is None:
549
# Lazy init to allow optional return value.
550
stats_by_connector = MultiKVConnectorStats()
551
- stats_by_connector[c.__class__.__name__] = stats
551
+ connector_id = c.__class__.__name__
552
+ if connector_id in stats_by_connector.data:
553
+ stats_by_connector[connector_id] = stats_by_connector[
554
+ connector_id
555
+ ].aggregate(stats)
556
+ else:
557
+ stats_by_connector[connector_id] = stats
558
return stats_by_connector
559
560
@classmethod
@@ -560,9 +566,13 @@ class MultiConnector(KVConnectorBase_V1):
566
per_engine_labelvalues: dict[int, list[object]],
567
) -> KVConnectorPromMetrics:
568
prom_metrics: dict[str, KVConnectorPromMetrics] = {}
569
+ seen_classes: set[type] = set()
570
for connector_cls, temp_config in cls._get_connector_classes_and_configs(
571
vllm_config
572
):
573
+ if connector_cls in seen_classes:
574
+ continue
575
+ seen_classes.add(connector_cls)
576
connector_prom = connector_cls.build_prom_metrics(
577
temp_config, metric_types, labelnames, per_engine_labelvalues
578
)