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

  1. pip install opentelemetry-sdk opentelemetry-exporter-otlp (or sglang[tracing] extra if provided)
  2. Or disable tracing (remove --enable-tracing / trace config) to launch without otel
  3. 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

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


AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28). Data as JSON: /api/errors/3838ada2f0015636. Report an issue: GitHub.