Skip to main content
Available via: native OpenTelemetry callback (any language calling the proxy). This is not a Zespan SDK wrapper — see Send traces from any OTel-instrumented app for how the underlying endpoint works.
This page is for LiteLLM Proxy — the self-hosted gateway server that sits in front of your LLM providers and traces every call that passes through it, regardless of which app or language made the call. If your app calls the litellm Python module or client directly instead, use patch_litellm()/wrapLiteLLM() — that’s a client-side SDK wrapper, a different integration point than this page.
LiteLLM Proxy has a built-in otel logging callback — enable it in your proxy config and every request that flows through the gateway (from any calling app, in any language) is traced, with zero changes to the apps calling it.

Setup

In your proxy’s config.yaml:
Set the exporter destination as environment variables before starting the proxy:

What gets captured

Every request routed through the proxy — across every provider and model configured in model_list — is traced, mapped through the standard OpenTelemetry GenAI semantic conventions Zespan reads. This is the common pattern for teams that standardize LLM access behind a self-hosted gateway rather than calling providers directly from each service.