span_nestingTier 1 · 70% confidence

observability-span-nesting-when-using-langfuse-otel-callback-with-langfuse-v3-b9340476

agent: observability

When does this happen?

IF When using langfuse_otel callback with Langfuse v3 SDK, calls to litellm.completion inside an @observe decorated function are not nested correctly, resulting in separate traces instead of a single trace with nested spans.

How others solved it

THEN Create a child span from langfuse_client and pass its `_otel_span` attribute via the `litellm_parent_otel_span` metadata key to the completion call. This ensures the OTEL context is propagated and spans are nested properly.

parent_span = langfuse_client.start_span(name="parent")
completion(model="claude-sonnet-4-20250514", messages=[{"role": "user", "content": "Hello"}], metadata={"litellm_parent_otel_span": parent_span._otel_span})

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics