Tiny support customizing prometheus buckets for prefill delayer (#16831)

This commit is contained in:
fzyzcjy
2026-01-10 08:17:37 +08:00
committed by GitHub
parent cec19b56c6
commit 6406a5969b
3 changed files with 39 additions and 6 deletions
+22 -5
View File
@@ -271,7 +271,7 @@ class SchedulerMetricsCollector:
self,
labels: Dict[str, str],
enable_lora: bool = False,
prefill_delayer_max_delay_passes: int = 30,
server_args: Optional["ServerArgs"] = None,
) -> None:
# We need to import prometheus_client after setting the env variable `PROMETHEUS_MULTIPROC_DIR`
from prometheus_client import Counter, Gauge, Histogram, Summary
@@ -762,19 +762,36 @@ class SchedulerMetricsCollector:
labelnames=list(labels.keys()) + ["category", "num_prefill_ranks"],
)
max_delay = server_args.prefill_delayer_max_delay_passes
self.prefill_delayer_wait_forward_passes = Histogram(
name="sglang:prefill_delayer_wait_forward_passes",
documentation="Histogram of forward passes waited by prefill delayer.",
labelnames=labels.keys(),
# Need bucket "<=0" for zero-delay cases
buckets=[0, 5, 20, prefill_delayer_max_delay_passes - 1],
buckets=sorted(
set(
x
for x in (
server_args.prefill_delayer_forward_passes_buckets
or [5, 20, 50, 100, 200]
)
if x < max_delay
)
# Need bucket "<=0" for zero-delay cases, and "max_delay-1" to distinguish "max_delay" timeout passes
| {0, max_delay - 1}
),
)
self.prefill_delayer_wait_seconds = Histogram(
name="sglang:prefill_delayer_wait_seconds",
documentation="Histogram of wait time in seconds by prefill delayer.",
labelnames=labels.keys(),
# Need bucket "<=0" for zero-delay cases
buckets=[0, 5, 20, 100, 500],
buckets=sorted(
set(
server_args.prefill_delayer_wait_seconds_buckets
or [1, 2, 5, 10, 20, 50, 100, 200, 500]
)
# Need bucket "<=0" for zero-delay cases
| {0}
),
)
self.prefill_delayer_outcomes_total = Counter(
name="sglang:prefill_delayer_outcomes_total",