Overview
CrewForm’s task runner supports opt-in observability via OpenTelemetry and Langfuse. When enabled, every task execution, LLM call, tool invocation, and team run is traced with span-level detail — giving you full visibility into multi-agent workflows.Tracing is entirely opt-in. If no observability env vars are set, there is zero overhead — no SDK is loaded, no spans are emitted.
Supported Backends
Quick Start
Langfuse (Recommended for AI Workloads)
Set these environment variables on your task runner:Generic OTLP (Datadog, Jaeger, etc.)
What Gets Traced
Single Task Execution
Team Runs
Attributes on Every Trace
LLM Generation Attributes (Langfuse)
In Langfuse, LLM calls appear as Generations with:Environment Variables Reference
Docker / Self-Hosted Setup
Add the env vars to your task runner service indocker-compose.yml:
Troubleshooting
Traces Not Appearing
- Verify env vars are set on the task runner process (not the web app)
- Check task runner logs for
[Tracing] Langfuse client initializedor[Tracing] OTLP exporter initialized - If you see
[Tracing] No observability env vars set, the vars aren’t reaching the process
High Latency
Tracing adds minimal overhead (typically less than 1ms per span). If you notice latency:- Ensure your OTLP collector is network-local to the task runner
- Langfuse batches traces automatically — no additional config needed

