[PD] Add a queues.prealloc_ready counter to the load snapshot (#33133)

This commit is contained in:
cctry
2026-08-03 09:44:11 -07:00
committed by GitHub
parent 0ba46c88e5
commit 6cf661117d
3 changed files with 11 additions and 1 deletions
@@ -171,6 +171,7 @@ class QueueMetrics(msgspec.Struct, array_like=True):
grammar: int
paused: int
retracted: int
prealloc_ready: int
# LoadSnapshot's nested sub-struct fields; every other struct field is a flat
@@ -166,6 +166,7 @@ class SchedulerLoadInquirer:
mode_str = "null"
prefill_bootstrap = prefill_inflight = 0
decode_prealloc = decode_transfer = decode_retracted = 0
decode_prealloc_ready = 0
if self.disaggregation_mode == DisaggregationMode.PREFILL:
mode_str = "prefill"
prefill_bootstrap = len(self.get_disagg_prefill_bootstrap_queue().queue)
@@ -177,6 +178,11 @@ class SchedulerLoadInquirer:
decode_retracted = len(
self.get_disagg_decode_prealloc_queue().retracted_queue
)
decode_prealloc_ready = sum(
1
for decode_req in self.get_disagg_decode_prealloc_queue().queue
if decode_req.waiting_for_input
)
disaggregation = DisaggregationMetrics(
mode=mode_str,
prefill_bootstrap_queue_reqs=prefill_bootstrap,
@@ -193,6 +199,7 @@ class SchedulerLoadInquirer:
grammar=stats.num_grammar_queue_reqs,
paused=stats.num_paused_reqs,
retracted=stats.num_retracted_reqs,
prealloc_ready=decode_prealloc_ready,
)
totals = self.get_decode_moment_totals()
@@ -171,7 +171,9 @@ class TestGetLoads(CustomTestCase):
disaggregation=DisaggregationMetrics(
mode="decode", decode_transfer_queue_reqs=4
),
queues=QueueMetrics(waiting=2, grammar=1, paused=0, retracted=3),
queues=QueueMetrics(
waiting=2, grammar=1, paused=0, retracted=3, prealloc_ready=1
),
)
)