{"record":{"id":"c6bde5b8de362e3d","repo":"BerriAI/litellm","slug":"opentelemetry-otlp-grpc-metric-exporter-is-not-ava-c6bde5","errorCode":null,"errorMessage":"OpenTelemetry OTLP gRPC metric exporter is not available. Install `opentelemetry-exporter-otlp` and `grpcio` (or `litellm[grpc]`).","messagePattern":"OpenTelemetry OTLP gRPC metric exporter is not available\\. Install `opentelemetry-exporter-otlp` and `grpcio` \\(or `litellm\\[grpc\\]`\\)\\.","errorType":"exception","errorClass":"ImportError","httpStatus":null,"severity":"error","filePath":"litellm/integrations/otel/plumbing/providers.py","lineNumber":239,"sourceCode":"    )\n\n    kind: Final = (config.exporter or \"console\").lower()\n    if kind in (\"otlp_http\", \"http\", \"http/protobuf\", \"http/json\"):\n        from opentelemetry.exporter.otlp.proto.http.metric_exporter import (\n            OTLPMetricExporter as HTTPMetricExporter,\n        )\n\n        exporter: Any = HTTPMetricExporter(\n            endpoint=_otlp_metrics_endpoint(config.endpoint),\n            headers=parse_headers(config.headers),\n        )\n    elif kind in (\"otlp_grpc\", \"grpc\"):\n        try:\n            from opentelemetry.exporter.otlp.proto.grpc.metric_exporter import (\n                OTLPMetricExporter as GRPCMetricExporter,\n            )\n        except ImportError as exc:\n            raise ImportError(\n                \"OpenTelemetry OTLP gRPC metric exporter is not available. Install \"\n                \"`opentelemetry-exporter-otlp` and `grpcio` (or `litellm[grpc]`).\"\n            ) from exc\n\n        exporter = GRPCMetricExporter(\n            endpoint=config.endpoint,\n            headers=parse_headers(config.headers),\n        )\n    else:\n        exporter = ConsoleMetricExporter()\n\n    return PeriodicExportingMetricReader(exporter, export_interval_millis=5000)\n\n\ndef _otlp_logs_endpoint(endpoint: str | None) -> str | None:\n    \"\"\"Point an OTLP/HTTP base endpoint at the ``/v1/logs`` signal path.\n\n    The OTLP/HTTP exporter only appends ``/v1/logs`` when it reads","sourceCodeStart":221,"sourceCodeEnd":257,"githubUrl":"https://github.com/BerriAI/litellm/blob/6c2dcb801bf2b75c18f1bb24140e7cf57465cc4d/litellm/integrations/otel/plumbing/providers.py#L221-L257","documentation":"Error \"OpenTelemetry OTLP gRPC metric exporter is not available. Install `opentelemetry-exporter-otlp` and `grpcio` (or `litellm[grpc]`).\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/integrations/otel/plumbing/providers.py:239 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Install gRPC exporter deps: pip install opentelemetry-exporter-otlp grpcio (or litellm[grpc])."],"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-15T17:31:12.345Z"}