Musterby Elitery
Integrations

LiveKit Agents

Trace LiveKit voice and multimodal agents in Muster via OpenTelemetry.

LiveKit Agents is an open-source Python and Node.js framework for building production-grade multimodal and voice AI agents — STT-LLM-TTS pipelines and speech-to-speech models. Muster captures LiveKit Agents runs through the framework's OpenTelemetry integration.

Setup

1. Install dependencies

pip install langfuse livekit-agents livekit-plugins-openai livekit-plugins-silero livekit-plugins-turn-detector opentelemetry-sdk python-dotenv

2. Configure credentials

LANGFUSE_SECRET_KEY="sk-lf-..."
LANGFUSE_PUBLIC_KEY="pk-lf-..."
LANGFUSE_BASE_URL="https://app.getmuster.io"

3. Wire up the tracer provider

from langfuse import Langfuse
from opentelemetry.sdk.trace import TracerProvider
from livekit.agents.telemetry import set_tracer_provider

def setup_langfuse(metadata=None, *, host=None, public_key=None, secret_key=None):
    trace_provider = TracerProvider()
    set_tracer_provider(trace_provider, metadata=metadata)

    Langfuse(
        public_key=public_key,
        secret_key=secret_key,
        base_url=host,
        tracer_provider=trace_provider,
        should_export_span=lambda span: True,
    )
    return trace_provider

Call setup_langfuse(...) before starting your agent session, and call langfuse.flush() on shutdown.

End-to-end example

For a complete agent example see livekit/agents/examples/voice_agents/langfuse_trace.py upstream.

Add user/session attributes

from langfuse import propagate_attributes

with propagate_attributes(user_id="user_123", session_id="sess_abc", tags=["livekit"]):
    # run your LiveKit agent session
    ...

Troubleshooting

  • Enable debug mode: export LANGFUSE_DEBUG="True".
  • Call langfuse.flush() to ensure observations are exported.
  • Filter unrelated OTel spans from other libraries.

See also