SGLang Monitoring and Observability with OpenTelemetry SigNoz published a guide for monitoring self-hosted SGLang inference servers by sending Prometheus metrics and OpenTelemetry request traces to its observability platform. The setup requires launching SGLang with the --enable-metrics flag, which exposes metrics at /metrics on the API port (default 30000), and adding a Prometheus scrape job with a 30s scrape_interval to an OpenTelemetry Collector's otel-collector-config.yaml. Optional request tracing is enabled with the --enable-trace and --otlp flags plus the OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf and OTEL_EXPORTER_OTLP_TRACES_HEADERS environment variables, sending traces directly from SGLang to SigNoz without passing through the Collector. Overview SGLang is an inference server that you run yourself. It serves models over an OpenAI-compatible API. It reports its own health in two ways: Prometheus metrics on an HTTP endpoint, and OpenTelemetry traces for each request. This guide sends both to SigNoz. The metrics answer questions that only the server can answer. How many tokens per second is the GPU producing? How full is the key-value cache, the memory pool that holds attention state for active requests? How many requests wait in the queue? Prerequisites - An SGLang server that you can restart - An OpenTelemetry Collector that can reach the SGLang host. See Install the OpenTelemetry Collector https://signoz.io/docs/opentelemetry-collection-agents/get-started/ - An instance of SigNoz Cloud https://signoz.io/teams/ or Self-Hosted https://signoz.io/docs/install/self-host/ Send SGLang metrics to SigNoz Step 1: Start SGLang with metrics enabled SGLang does not expose metrics by default. Add --enable-metrics to the launch command: python -m sglang.launch server \ --model-path