main
py 19 lines 570 Bytes
Raw
1 # SPDX-License-Identifier: Apache-2.0
2 # SPDX-FileCopyrightText: Copyright contributors to the vLLM project
3
4 from typing import TypeAlias
5
6 from prometheus_client import Counter, Gauge, Histogram
7
8 PromMetric: TypeAlias = Gauge | Counter | Histogram
9
10
11 def create_metric_per_engine(
12 metric: PromMetric,
13 per_engine_labelvalues: dict[int, list[object]],
14 ) -> dict[int, PromMetric]:
15 """Create a labeled metric child for each engine index."""
16 return {
17 idx: metric.labels(*labelvalues)
18 for idx, labelvalues in per_engine_labelvalues.items()
19 }