From d28e35b1a1c71d9be28e958503de5d044c207864 Mon Sep 17 00:00:00 2001 From: cctry Date: Thu, 16 Jul 2026 15:43:06 -0700 Subject: [PATCH] Fix num_running_reqs gauge on disagg prefill servers (#31495) Co-authored-by: Zhiqiang Xie --- .../scheduler_components/metrics_reporter.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/python/sglang/srt/managers/scheduler_components/metrics_reporter.py b/python/sglang/srt/managers/scheduler_components/metrics_reporter.py index 104b279f1..d1267eabf 100644 --- a/python/sglang/srt/managers/scheduler_components/metrics_reporter.py +++ b/python/sglang/srt/managers/scheduler_components/metrics_reporter.py @@ -635,7 +635,17 @@ class SchedulerMetricsReporter: ) # Basics - self.stats.num_running_reqs = prefill_stats.num_running_reqs + if ( + self.scheduler.disaggregation_mode == DisaggregationMode.PREFILL + and batch is not None + ): + # running_batch is never populated in PD prefill, so count the + # current forward batch instead. + self.stats.num_running_reqs = QueueCount.from_reqs( + batch.reqs, priority_enabled + ) + else: + self.stats.num_running_reqs = prefill_stats.num_running_reqs self.stats.num_queue_reqs = QueueCount.from_reqs( self.scheduler.waiting_queue, priority_enabled )