sgl-project/sglang · error · RuntimeError
opentelemetry package is not installed!!! Please not enable
Error message
opentelemetry package is not installed!!! Please not enable tracing or install opentelemetry
What it means
Tracing was enabled (trace_modules / otlp config) but sglang could not import the opentelemetry packages at startup, so process_tracing_init raises rather than silently running untraced.
Source
Thrown at python/sglang/srt/observability/trace.py:226
# Should be called by each tracked process.
def process_tracing_init(
otlp_endpoint, server_name, trace_modules: Optional[str] = None
):
global opentelemetry_initialized
global get_cur_time_ns
global tracer
global global_trace_modules
if trace_modules is not None:
global_trace_modules = [
module.strip() for module in trace_modules.split(",") if module.strip()
]
if not opentelemetry_imported:
opentelemetry_initialized = False
raise RuntimeError(
"opentelemetry package is not installed!!! Please not enable tracing or install opentelemetry"
)
try:
resource = Resource.create(
attributes={
SERVICE_NAME: server_name,
}
)
tracer_provider = TracerProvider(
resource=resource, id_generator=TraceCustomIdGenerator()
)
schedule_delay_millis = envs.SGLANG_OTLP_EXPORTER_SCHEDULE_DELAY_MILLIS.get()
max_export_batch_size = envs.SGLANG_OTLP_EXPORTER_MAX_EXPORT_BATCH_SIZE.get()
processor = BatchSpanProcessor(
span_exporter=get_otlp_span_exporter(otlp_endpoint),View on GitHub (pinned to 0132848349)
Solutions
- pip install opentelemetry-sdk opentelemetry-exporter-otlp (or sglang[tracing] extra if provided)
- Or disable tracing (remove --enable-tracing / trace config) to launch without otel
- Verify with python -c 'import opentelemetry.sdk' before relaunching
Example fix
# before: launch fails with RuntimeError python -m sglang.launch_server --model ... --enable-tracing # after pip install opentelemetry-sdk opentelemetry-exporter-otlp python -m sglang.launch_server --model ... --enable-tracing
Defensive patterns
Strategy: validation
Validate before calling
try:
import opentelemetry.sdk, opentelemetry.exporter.otlp.proto.grpc.trace_exporter # noqa
otel_ok = True
except ImportError:
otel_ok = False
assert otel_ok or not enable_tracing, 'tracing requires opentelemetry packages' Try / catch
try:
process_tracing_init(...)
except RuntimeError as e:
if 'opentelemetry package is not installed' in str(e):
disable_tracing_and_retry_launch()
else:
raise Prevention
- Install otel packages before enabling --enable-tracing
- Add an import smoke test to container build for tracing-enabled deployments
When it happens
Trigger: Launching sglang with --enable-tracing (or trace-related args) in an environment where opentelemetry-sdk / opentelemetry-exporter-otlp are not installed.
Common situations: Enabling tracing on a base sglang install; slim containers; dependency conflicts removing otel packages after an upgrade.
Related errors
- initialize opentelemetry error:{e}. Please set correct otlp
- RayPrometheusMetric requires Ray to be installed. Install wi
- Unsupported OTLP protocol '{protocol}' configured. Supported
- Cannot find NVIDIA Math-DX (cuBLASDx) headers. Install the `
- Cannot find CUTLASS headers required for JIT compilation. Pl
AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28).
Data as JSON: /api/errors/3838ada2f0015636.
Report an issue: GitHub.