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
Emitted when tracing is enabled (--enable-trace or equivalent) but the opentelemetry package is not installed in the environment. Tracing is disabled / initialization fails; either install opentelemetry (opentelemetry-api, -sdk, -exporter-otlp) or turn off tracing.
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.
Understand the failure class
Background: "X is not installed. Please install it with pip install Y": missing optional dependency errors — ImportError/ValueError raised when a library's optional extra was never installed — this error's family across 22 libraries.
Related errors
- initialize opentelemetry error
- RayPrometheusMetric requires Ray to be installed. Install…
- Unsupported OTLP protocol
- Cannot find CUTLASS headers required for JIT compilation…
- Cannot find NVIDIA Math-DX (cuBLASDx) headers. Install the…
AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28).
Data as JSON: /api/errors/3838ada2f0015636.
Report an issue: GitHub.
Appendix: 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)