LLMContextAggregatorPair turn events:
What gets captured
Each user ↔ assistant exchange (fromon_user_turn_stopped / on_assistant_turn_stopped)
becomes a turn span — input.value/output.value plus structured eldros.message
events, grouped by your session_id. Assistant turns with empty content (realtime
mode) are skipped rather than recorded blank.
Traces: use Pipecat’s built-in OpenTelemetry
Pipecat ships native tracing with aconversation → turn → stt/llm/tts span
hierarchy. Point it at Eldros and stamp your session id on it — both layers land in
one pipeline:
tracing_exporter() returns an OTLP exporter wired to your resolved Eldros config —
it raises at startup if init() hasn’t resolved credentials, so misconfiguration
fails loudly rather than dropping every trace.
Pipecat’s API surface moves quickly (
PipelineTask → PipelineWorker,
setup_tracing import paths). The Eldros hooks are written defensively against
version drift, but cross-check the Pipecat-side names against the Pipecat docs for
your installed version.