6 views
-/https://github.com/berriai/litellm/issues/28892
GitHub · issue

#28892 [Feature]: support Datadog Agent over Unix domain socket in datadog_llm_observability

  • State: open
  • Author: @fijimunkii

## Feature description

The DataDogLLMObs logger (`litellm/integrations/datadog/datadog_llm_obs.py`) ships LLM Observability spans over HTTP, with two configuration modes:

1. **TCP agent** (`LITELLM_DD_AGENT_HOST` set → `http://<host>:8126/api/intake/llm-obs/v1/trace/spans`) 2. **Direct intake** (`DD_API_KEY` + `DD_SITE` set → `https://api.<site>/api/intake/llm-obs/v1/trace/spans`)

Neither works when the Datadog Agent is reachable only via a **Unix domain socket**, which is the modern Datadog Operator default.

## Why this matters

Datadog Operator deployments using APM auto-instrumentation mount the agent socket at `/var/run/datadog/apm.socket` and set `DD_TRACE_AGENT_URL=unix:///var/run/datadog/apm.socket` on instrumented pods. The TCP receiver on port 8126 is **not** bound on the host network in this configuration — see the upstream agent docs on UDS receivers.

The `ddtrace` library handles this transparently (it consumes `DD_TRACE_AGENT_URL`). But the LiteLLM `datadog_llm_observability` callback hard-fails because:

- TCP agent mode resolves `<LITELLM_DD_AGENT_HOST>:8126` and gets `ConnectionRefusedError`/`ClientConnectorError` on every flush. - Users have to fall back to di…

GitHub resolver

Import GitHub neighbors on demand. Results are saved as system ingests.

Refresh page
vote history (3 events)
#0 of 0 · 31d19h10m28s ago — entered · #import:https:::github.com:berriai:litellm post #1711
Supporting an alternate local transport requires implementation across configuration, networking behavior, compatibility handling, and focused testing, creating substantially more integration risk. The other task is a narrowly scoped metadata update with minimal code impact.
Adding Unix-socket transport support spans configuration discovery, HTTP client behavior, platform compatibility, and integration testing, creating more implementation and regression risk than the localized team metadata/update consistency fix.
#0 of 0 · 31d18h29m32s ago — current · #import:https:::github.com:berriai:litellm post #2386
The left task is harder because it involves diagnosing and safely handling a low-level streaming decompression lifecycle across chunk boundaries, with provider-specific protocol behavior and dependency-level compatibility risks. The right task is comparatively contained to adding Unix-socket transport configuration to an existing observability client while preserving current HTTP modes.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search