From fdc93b019cd3b9942a8706c61759725d7dc0d813 Mon Sep 17 00:00:00 2001 From: fzyzcjy <5236035+fzyzcjy@users.noreply.github.com> Date: Sun, 14 Dec 2025 08:42:45 +0800 Subject: [PATCH] Add sglang:decode_sum_seq_lens metric (#15066) --- python/sglang/srt/managers/scheduler_metrics_mixin.py | 1 + python/sglang/srt/metrics/collector.py | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/python/sglang/srt/managers/scheduler_metrics_mixin.py b/python/sglang/srt/managers/scheduler_metrics_mixin.py index f121ed3d4..a2549719b 100644 --- a/python/sglang/srt/managers/scheduler_metrics_mixin.py +++ b/python/sglang/srt/managers/scheduler_metrics_mixin.py @@ -317,6 +317,7 @@ class SchedulerMetricsMixin: self.stats.swa_token_usage = swa_token_usage if self.is_ssm_model: self.stats.mamba_usage = mamba_usage + self.stats.decode_sum_seq_lens = batch.seq_lens_cpu.sum().item() self.stats.gen_throughput = self.last_gen_throughput self.stats.num_queue_reqs = len(self.waiting_queue) self.stats.num_grammar_queue_reqs = len(self.grammar_queue) diff --git a/python/sglang/srt/metrics/collector.py b/python/sglang/srt/metrics/collector.py index ef0d73cc9..7aa7bd511 100644 --- a/python/sglang/srt/metrics/collector.py +++ b/python/sglang/srt/metrics/collector.py @@ -178,6 +178,7 @@ class SchedulerStats: pending_prealloc_token_usage: float = 0.0 swa_token_usage: float = 0.0 mamba_usage: float = 0.0 + decode_sum_seq_lens: int = 0 gen_throughput: float = 0.0 num_queue_reqs: int = 0 num_grammar_queue_reqs: int = 0 @@ -265,6 +266,12 @@ class SchedulerMetricsCollector: labelnames=labels.keys(), multiprocess_mode="mostrecent", ) + self.decode_sum_seq_lens = Gauge( + name="sglang:decode_sum_seq_lens", + documentation="The sum of all sequence lengths in decode.", + labelnames=labels.keys(), + multiprocess_mode="mostrecent", + ) self.gen_throughput = Gauge( name="sglang:gen_throughput", documentation="The generation throughput (token/s).", @@ -641,6 +648,7 @@ class SchedulerMetricsCollector: ) self._log_gauge(self.swa_token_usage, stats.swa_token_usage) self._log_gauge(self.mamba_usage, stats.mamba_usage) + self._log_gauge(self.decode_sum_seq_lens, stats.decode_sum_seq_lens) self._log_gauge(self.gen_throughput, stats.gen_throughput) self._log_gauge(self.num_queue_reqs, stats.num_queue_reqs) self._log_gauge(self.num_grammar_queue_reqs, stats.num_grammar_queue_reqs)