Analytics¶
SpeakNode captures detailed data about every conversation for analysis and monitoring.
Conversation History¶
Every agent session is recorded with:
- Session metadata — agent, caller, start/end time, duration, status
- Audio recording — full session audio stored in object storage
- Transcription — text transcript of the conversation
- Telemetry spans — detailed OpenTelemetry traces of every step
Session List¶
Browse all conversations with filters:
- By agent
- By status (completed, failed, active)
- By date range
- By caller information
Session Detail¶
For each session you can view:
- Full conversation transcript with turn-by-turn breakdown
- Audio playback with waveform visualization
- Timing metrics per turn (latency, duration)
- Tool calls made during the session
- Error details (if failed)
Telemetry & Tracing¶
The platform uses OpenTelemetry for end-to-end tracing:
Each conversation is a trace containing spans for every operation:
- Span name — operation type (STT, LLM inference, tool call, TTS)
- Duration — how long each step took
- Status — success or error
- Attributes — tags and metadata
- Events — detailed events within the span
Telemetry Pipeline¶
Python Worker → OTEL Collector → Kafka → ASP.NET Consumer → Database
→ Langfuse (internal observability)
Data Storage¶
| Data | Storage |
|---|---|
| Session metadata | PostgreSQL |
| Audio recordings | S3-compatible object storage |
| Telemetry spans | PostgreSQL (via Kafka) |
| Analytics aggregations | ClickHouse |
| LLM traces | Langfuse |