Documentation Index
Fetch the complete documentation index at: https://docs.cekura.ai/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Pipecat Tracing provides deep observability into your Pipecat agent’s performance by integrating the Cekura Python SDK directly into your agent code. This integration significantly enhances the information available in the Cekura platform for end-to-end visibility over agent execution. What you get:- Complete agent-side conversation transcripts with UTC timestamps
- Tool/function calls with inputs and outputs
- Dual-channel audio recording (agent + user) for production monitoring
- Session metadata for correlation and debugging
Video Tutorial
Watch this video to see the Pipecat tracing integration in action:Prerequisites
- A Cekura account with an API key
- A Pipecat agent project
Setup
- Testing
- Observability
Use this setup in your test agents while running simulation calls from the Cekura platform. This mode captures transcripts only — no audio recording.
Integrate the SDK in your Pipecat agent
Add the Cekura tracer to your Pipecat agent:What this does:
- Initialize the tracer with your API key and agent ID
- Track your pipeline to capture transcripts and tool calls
- Register task handlers for automatic cleanup
- Captures transcripts and tool calls
- Sends data to Cekura’s simulation webhook for test analysis
- No audio recording — lightweight for testing
Configure Pipecat provider and enable tracing
Navigate to your agent settings in the Cekura dashboard, select Pipecat as the provider, and enable tracing:Required configuration:
- Provider: Select “Pipecat” as your voice integration provider
- Pipecat Cloud API Key: Your authentication key from Pipecat Cloud
- Pipecat Agent Name: Your agent name in Pipecat (e.g., “my-agent”)
- Tracing Enabled: Set to true to enable SDK-based tracing
- WebRTC: Direct Pipecat session connection using the credentials configured above
- Telephony: Phone-based testing if your Pipecat agent is connected to a phone system (requires Contact Number)
Run tests
Run tests using your preferred connection type:
- WebRTC: Select WebRTC under Voice connections in the Configure Run dialog for WebRTC-based testing
- Telephony: Select Telephony under Voice connections for phone-based testing
Enhanced Data in Cekura UI
With tracing enabled, you’ll see enriched information in the Cekura platform:- Complete Transcript: Full conversation history with UTC timestamps
- Tool Calls: Function call requests and responses with inputs and outputs
- Session Metadata: Session IDs for correlating Cekura calls with your logs
- Audio Recording: Dual-channel recordings (agent + user) for quality monitoring (observability mode only)
- Custom Metadata: Additional metadata passed via
custom_metadataparameter

Custom Metadata
Pass custom metadata at initialization or update it anytime before the session tears down:set_custom_metadata() can be called at any point before the pipeline session finalizes — including in cleanup or post-processing handlers that execute before the session tears down. Once the session has ended and data has been submitted to Cekura, the record is immutable and metadata cannot be updated.
Best Practices
-
Use the right method for your environment: Use
track_pipeline()/track_and_create_task()in your test/UAT environments for simulation testing. Useobserve_pipeline()/observe_and_create_task()in your production environment for monitoring live calls with audio recording. - Use environment variables for credentials: Don’t hardcode API keys in your code
-
Keep the SDK updated: Run
pip install --upgrade cekuraperiodically for the latest features -
Use session IDs: The SDK resolves the session ID in this order: explicit
session_idparameter >runner_args.session_id> auto-generated. Pass a custom session ID to correlate Cekura data with your application logs
SDK Reference
PipecatTracer Initialization
observe_pipeline()
Adds observability to your pipeline — captures transcripts and records audio. For production monitoring.track_pipeline()
Adds simulation-mode tracking to your pipeline — captures transcripts only, no audio. For testing.observe_and_create_task()
Single-step observability setup. Combinesobserve_pipeline(), PipelineTask creation, and register_task_handlers().
track_and_create_task()
Single-step simulation setup. Combinestrack_pipeline(), PipelineTask creation, and register_task_handlers().
register_task_handlers()
Registers cleanup handlers for automatic resource management when the session ends. Only needed when using the multi-step approach.set_custom_metadata()
Update custom metadata at any point during the session.get_custom_metadata()
Retrieve the current custom metadata.CEKURA_TRACER_ENABLED="false": Disable the tracer entirely
Troubleshooting
Missing Aggregators Warning
If you see:LLMUserAggregator and LLMAssistantAggregator for transcript capture. Add aggregators to your pipeline:
Import Error
If you see:Next Steps
- Create custom metrics to evaluate your agents
- Set up automated testing for your Pipecat agents
- Explore predefined metrics