05Observe
Observe
Every call is a stream of events — replay it in the dashboard, react to it in code, keep it in your database.
Voice agents fail in ways logs don't show: a reply that came 400 ms late, an interruption that wasn't, a tool that silently timed out. Cuelo records every step of every call as an ordered stream of events, plus both audio channels.
Three ways to use it
Dashboard
Replay any call with both channels and the transcript, see every turn-taking decision, and break latency down per turn.
Events and hooks
on_event in src/events.py gets every event as it happens, for logs, webhooks, analytics and
alerts.
Storage
SQLite by default, Postgres or MySQL in production, recordings on disk, and a read-only JSON API over all of it.
A debugging loop that works
- Make a test call and open it in the dashboard.
- Check the latency tab: which stage dominates TTFB?
vad_tailpoints at end-of-turn tuning,llm_ttftat the model or the prompt length, andtts_ttfaat the voice provider. - Check flags: premature replies mean turn ends fire too early, and slow turns are listed with their cause.
- Change one thing in
config.cuelo.cuelo devreloads it. - Call again and compare.