inference/research
verifiedhigh · 0.94updated 2026-10-04

SGLang end-to-end request latency histogram

sglang · histogram

Fields

id
metric-exposures/w3m-sglang-sglang-e2e-request-latency-seconds
Metric name
sglang:e2e_request_latency_seconds
Metric type
histogram
Unit
seconds
Exposure
prometheus
Endpoint
:30000/metrics
Histogram buckets
0.10.20.40.60.8124681020406080100200400600120018002400
Labels
model_nameengine_typetp_rankpp_rankmoe_ep_rankis_streaming
Enabled by default
no
Phase scoped
yes
notes
SGLang main, python/sglang/srt/observability/metrics_collector.py, read 2026-10-04. NOT ON BY DEFAULT: nothing is exported unless --enable-metrics (ServerArgs default False), which is also the only thing that mounts /metrics on the server port. Label keys are model_name, engine_type, tp_rank, pp_rank, moe_ep_rank (plus dp_rank under data parallelism, priority under priority scheduling, and anything in extra_metric_labels). Bucket ladders are overridable per histogram via get_histogram_conf_from_env. Unlike the queue-time ladder this one starts at 0.1 s and steps coarsely (0.2, 0.4, 0.6, 0.8) before widening, so it resolves sub-second e2e latency but not a 50 ms SLO.

Notes

SGLang main, python/sglang/srt/observability/metrics_collector.py, read 2026-10-04. NOT ON BY DEFAULT: nothing is exported unless --enable-metrics (ServerArgs default False), which is also the only thing that mounts /metrics on the server port. Label keys are model_name, engine_type, tp_rank, pp_rank, moe_ep_rank (plus dp_rank under data parallelism, priority under priority scheduling, and anything in extra_metric_labels). Bucket ladders are overridable per histogram via get_histogram_conf_from_env. Unlike the queue-time ladder this one starts at 0.1 s and steps coarsely (0.2, 0.4, 0.6, 0.8) before widening, so it resolves sub-second e2e latency but not a 50 ms SLO.

Cross-references