Tiny add num retracted tokens metric (#15653)

This commit is contained in:
fzyzcjy
2025-12-24 22:15:23 +08:00
committed by GitHub
parent aa21c6e3f1
commit 8196998a03
3 changed files with 37 additions and 6 deletions

View File

@@ -2077,8 +2077,16 @@ class Scheduler(
new_token_gained = new_available_tokens - old_available_tokens
self.num_retracted_reqs = len(retracted_reqs)
if self.enable_metrics and (x := len(retracted_reqs)) > 0:
self.metrics_collector.increment_num_retracted_reqs(x)
if self.enable_metrics and len(retracted_reqs) > 0:
self.metrics_collector.increment_retracted_reqs(
num_retracted_reqs=len(retracted_reqs),
num_retracted_input_tokens=sum(
len(r.origin_input_ids) for r in retracted_reqs
),
num_retracted_output_tokens=sum(
len(r.output_ids) for r in retracted_reqs
),
)
self.new_token_ratio = new_token_ratio
for req in reqs_to_abort:
abort_reason: FINISH_ABORT = req.to_finish

View File

@@ -379,6 +379,16 @@ class SchedulerMetricsCollector:
documentation="Total number of retracted requests.",
labelnames=labels.keys(),
)
self.num_retracted_input_tokens_total = Counter(
name="sglang:num_retracted_input_tokens_total",
documentation="Total number of retracted input tokens.",
labelnames=labels.keys(),
)
self.num_retracted_output_tokens_total = Counter(
name="sglang:num_retracted_output_tokens_total",
documentation="Total number of retracted output tokens.",
labelnames=labels.keys(),
)
self.num_paused_reqs = Gauge(
name="sglang:num_paused_reqs",
documentation="The number of paused requests by async weight sync.",
@@ -731,8 +741,19 @@ class SchedulerMetricsCollector:
def observe_queue_time(self, latency: float) -> None:
self._log_histogram(self.queue_time, latency)
def increment_num_retracted_reqs(self, num: int) -> None:
self.num_retracted_reqs_total.labels(**self.labels).inc(num)
def increment_retracted_reqs(
self,
num_retracted_reqs: int,
num_retracted_input_tokens: int,
num_retracted_output_tokens: int,
) -> None:
self.num_retracted_reqs_total.labels(**self.labels).inc(num_retracted_reqs)
self.num_retracted_input_tokens_total.labels(**self.labels).inc(
num_retracted_input_tokens
)
self.num_retracted_output_tokens_total.labels(**self.labels).inc(
num_retracted_output_tokens
)
def increment_cuda_graph_pass(self, value: bool) -> None:
# leave room for piecewise cuda graph, etc