[tokenizer] Surface scheduler load info (num_running_reqs / num_waiting_reqs) in meta_info (#24000)

This commit is contained in:
Bruce Changlong Xu
2026-06-01 11:45:35 +08:00
committed by GitHub
parent 3aaf8f115e
commit 11411aa49d
@@ -1749,6 +1749,19 @@ class TokenizerManager(TokenizerControlMixin, TokenizerManagerScoreMixin):
"num_retractions": recv_obj.retraction_counts[i],
}
# Surface scheduler load info on each response so clients can do
# response-based flow control without polling /v1/loads. The
# scheduler already piggy-backs the per-DP-rank load on
# BatchStrOutput / BatchTokenIDOutput via the ``load`` field.
load = getattr(recv_obj, "load", None)
if load is not None:
num_running_reqs = getattr(load, "num_running_reqs", None)
num_waiting_reqs = getattr(load, "num_waiting_reqs", None)
if num_running_reqs is not None:
meta_info["num_running_reqs"] = num_running_reqs
if num_waiting_reqs is not None:
meta_info["num_waiting_reqs"] = num_waiting_reqs
if self.enable_metrics:
if recv_obj.time_stats is not None:
scheduler_time_stats = recv_obj.time_stats[i]