How it works
OpenTelemetry (OTel) ingestion is built directly into the Muster backend. There is no sidecar connector to deploy — your agents export traces straight to your Muster instance over HTTPS. This gives full coverage across:- Any language (Python, Go, Java, Node.js, Rust)
- Any framework with OTel support (LangChain, CrewAI, LlamaIndex, custom agents)
- Agents that don’t have a dedicated Muster connector
What your developers do
Set three environment variables on your agent. That’s it.POST /auth/login with a service account user, or copy it from your Muster dashboard → Settings → API Access.
No code changes are required if your agent already emits OTel spans.
Adding OTel to a Python agent
If your agent doesn’t yet emit OTel spans, add instrumentation once at startup:LangChain — zero-code instrumentation
If you use LangChain, one line enables automatic tracing of all chains and agents:Check connection status
What Muster does automatically
Once traces arrive:Supported semantic conventions
Supported agent span names
Muster identifies root agent executions from these span names (partial match):agent.run, agent.execute, agent.invoke, langchain.chain, langchain.agent,
crewai.task, crewai.agent, openai.chat, anthropic.messages,
bedrock.invoke, llm.completion, chain.run, tool.run
To add custom span names, contact Elitery.
Why OTel instead of a platform connector?
Use OTel for custom-coded agents. Use platform connectors for no-code/low-code tools where you can’t set env vars.