{"record":{"id":"d9ed059810c23117","repo":"BerriAI/litellm","slug":"opentelemetry-otlp-http-exporter-is-not-available","errorCode":null,"errorMessage":"OpenTelemetry OTLP HTTP exporter is not available. Install `opentelemetry-exporter-otlp` to enable OTLP HTTP.","messagePattern":"OpenTelemetry OTLP HTTP exporter is not available\\. Install `opentelemetry-exporter-otlp` to enable OTLP HTTP\\.","errorType":"exception","errorClass":"ImportError","httpStatus":null,"severity":"error","filePath":"litellm/integrations/opentelemetry.py","lineNumber":2889,"sourceCode":"            verbose_logger.debug(\n                \"OpenTelemetry: intiializing SpanExporter. Value of OTEL_EXPORTER: %s\",\n                otel_exporter,\n            )\n            return SimpleSpanProcessor(cast(SpanExporter, otel_exporter))\n\n        if otel_exporter == \"console\":\n            verbose_logger.debug(\n                \"OpenTelemetry: intiializing console exporter. Value of OTEL_EXPORTER: %s\",\n                otel_exporter,\n            )\n            return BatchSpanProcessor(ConsoleSpanExporter())\n        elif otel_exporter == \"otlp_http\" or otel_exporter == \"http/protobuf\" or otel_exporter == \"http/json\":\n            try:\n                from opentelemetry.exporter.otlp.proto.http.trace_exporter import (\n                    OTLPSpanExporter as OTLPSpanExporterHTTP,\n                )\n            except ImportError as exc:\n                raise ImportError(\n                    \"OpenTelemetry OTLP HTTP exporter is not available. Install \"\n                    \"`opentelemetry-exporter-otlp` to enable OTLP HTTP.\"\n                ) from exc\n\n            verbose_logger.debug(\n                \"OpenTelemetry: intiializing http exporter. Value of OTEL_EXPORTER: %s\",\n                otel_exporter,\n            )\n            normalized_endpoint = self._normalize_otel_endpoint(otel_endpoint, \"traces\")\n            return BatchSpanProcessor(\n                OTLPSpanExporterHTTP(endpoint=normalized_endpoint, headers=_split_otel_headers),\n            )\n        elif otel_exporter == \"otlp_grpc\" or otel_exporter == \"grpc\":\n            try:\n                from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import (\n                    OTLPSpanExporter as OTLPSpanExporterGRPC,\n                )\n            except ImportError as exc:","sourceCodeStart":2871,"sourceCodeEnd":2907,"githubUrl":"https://github.com/BerriAI/litellm/blob/6c2dcb801bf2b75c18f1bb24140e7cf57465cc4d/litellm/integrations/opentelemetry.py#L2871-L2907","documentation":"Error \"OpenTelemetry OTLP HTTP exporter is not available. Install `opentelemetry-exporter-otlp` to enable OTLP HTTP.\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/integrations/opentelemetry.py:2889 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Install the OTLP HTTP exporter: pip install opentelemetry-exporter-otlp."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6c2dcb801bf2b75c18f1bb24140e7cf57465cc4d","analyzedAt":"2026-08-15T07:12:03.035Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}