Deprecate --collect-tokens-histogram, auto-collect with --enable-metrics (#23595)

This commit is contained in:
Lianmin Zheng
2026-04-24 12:00:16 -07:00
committed by GitHub
parent 05696527ea
commit 6344b546c8
3 changed files with 55 additions and 62 deletions
@@ -470,7 +470,6 @@ class TokenizerManager(TokenizerControlMixin, TokenizerManagerScoreMixin):
bucket_time_to_first_token=self.server_args.bucket_time_to_first_token, bucket_time_to_first_token=self.server_args.bucket_time_to_first_token,
bucket_e2e_request_latency=self.server_args.bucket_e2e_request_latency, bucket_e2e_request_latency=self.server_args.bucket_e2e_request_latency,
bucket_inter_token_latency=self.server_args.bucket_inter_token_latency, bucket_inter_token_latency=self.server_args.bucket_inter_token_latency,
collect_tokens_histogram=self.server_args.collect_tokens_histogram,
) )
start_cpu_monitor_thread("tokenizer") start_cpu_monitor_thread("tokenizer")
@@ -1151,13 +1151,11 @@ class TokenizerMetricsCollector:
bucket_time_to_first_token: Optional[List[float]] = None, bucket_time_to_first_token: Optional[List[float]] = None,
bucket_inter_token_latency: Optional[List[float]] = None, bucket_inter_token_latency: Optional[List[float]] = None,
bucket_e2e_request_latency: Optional[List[float]] = None, bucket_e2e_request_latency: Optional[List[float]] = None,
collect_tokens_histogram: bool = False,
) -> None: ) -> None:
# We need to import prometheus_client after setting the env variable `PROMETHEUS_MULTIPROC_DIR` # We need to import prometheus_client after setting the env variable `PROMETHEUS_MULTIPROC_DIR`
from prometheus_client import Counter, Histogram from prometheus_client import Counter, Histogram
self.labels = labels or {} self.labels = labels or {}
self.collect_tokens_histogram = collect_tokens_histogram
self.prompt_tokens_total = Counter( self.prompt_tokens_total = Counter(
name="sglang:prompt_tokens_total", name="sglang:prompt_tokens_total",
@@ -1171,7 +1169,6 @@ class TokenizerMetricsCollector:
labelnames=labels.keys(), labelnames=labels.keys(),
) )
if collect_tokens_histogram:
default_bucket_prompt_tokens = [ default_bucket_prompt_tokens = [
100, 100,
300, 300,
@@ -1413,7 +1410,6 @@ class TokenizerMetricsCollector:
if has_grammar: if has_grammar:
self.num_so_requests_total.labels(**labels).inc(1) self.num_so_requests_total.labels(**labels).inc(1)
self.histogram_e2e_request_latency.labels(**labels).observe(float(e2e_latency)) self.histogram_e2e_request_latency.labels(**labels).observe(float(e2e_latency))
if self.collect_tokens_histogram:
self.prompt_tokens_histogram.labels(**labels).observe(float(prompt_tokens)) self.prompt_tokens_histogram.labels(**labels).observe(float(prompt_tokens))
self.generation_tokens_histogram.labels(**labels).observe( self.generation_tokens_histogram.labels(**labels).observe(
float(generation_tokens) float(generation_tokens)
+2 -4
View File
@@ -420,7 +420,6 @@ class ServerArgs:
bucket_time_to_first_token: Optional[List[float]] = None bucket_time_to_first_token: Optional[List[float]] = None
bucket_inter_token_latency: Optional[List[float]] = None bucket_inter_token_latency: Optional[List[float]] = None
bucket_e2e_request_latency: Optional[List[float]] = None bucket_e2e_request_latency: Optional[List[float]] = None
collect_tokens_histogram: bool = False
prompt_tokens_buckets: Optional[List[str]] = None prompt_tokens_buckets: Optional[List[str]] = None
generation_tokens_buckets: Optional[List[str]] = None generation_tokens_buckets: Optional[List[str]] = None
gc_warning_threshold_secs: float = 0.0 gc_warning_threshold_secs: float = 0.0
@@ -4803,9 +4802,8 @@ class ServerArgs:
) )
parser.add_argument( parser.add_argument(
"--collect-tokens-histogram", "--collect-tokens-histogram",
action="store_true", action=DeprecatedAction,
default=ServerArgs.collect_tokens_histogram, help="Deprecated. Token histograms are now automatically collected when --enable-metrics is set.",
help="Collect prompt/generation tokens histogram.",
) )
bucket_rule = ( bucket_rule = (
"Supports 3 rule types: 'default' uses predefined buckets; 'tse <middle> <base> <count>' " "Supports 3 rule types: 'default' uses predefined buckets; 'tse <middle> <base> <count>' "