Skip to content

Commit 2795078

Browse files
committed
[V1][Spec Decoding] Fix duplicate metrics error
``` ValueError: Duplicated timeseries in CollectorRegistry: {'vllm:spec_decode_num_accepted_tokens_per_pos_total', 'vllm:spec_decode_num_accepted_tokens_per_pos_created', 'vllm:spec_decode_num_accepted_tokens_per_pos'} ``` Signed-off-by: Mark McLoughlin <[email protected]>
1 parent 2269ee9 commit 2795078

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

vllm/v1/spec_decode/metrics.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,15 +140,16 @@ def __init__(self, speculative_config: Optional[SpeculativeConfig],
140140
num_spec_tokens = (speculative_config.num_speculative_tokens
141141
if self.spec_decoding_enabled else 0)
142142
pos_labelnames = labelnames + ["position"]
143+
base_counter = prometheus_client.Counter(
144+
name="vllm:spec_decode_num_accepted_tokens_per_pos",
145+
documentation="Accepted tokens per draft position.",
146+
labelnames=pos_labelnames)
143147
self.counter_spec_decode_num_accepted_tokens_per_pos: \
144148
list[prometheus_client.Counter] = []
145149
for pos in range(num_spec_tokens):
146150
pos_labelvalues = labelvalues + [str(pos)]
147151
self.counter_spec_decode_num_accepted_tokens_per_pos.append(
148-
prometheus_client.Counter(
149-
name="vllm:spec_decode_num_accepted_tokens_per_pos",
150-
documentation="Accepted tokens per draft position.",
151-
labelnames=pos_labelnames).labels(*pos_labelvalues))
152+
base_counter.labels(*pos_labelvalues))
152153

153154
def observe(self, spec_decoding_stats: SpecDecodingStats):
154155
if not self.spec_decoding_enabled:

0 commit comments

Comments
 (0)