{"id":50550605,"url":"https://github.com/hormold/livekit-traces-analyzer","last_synced_at":"2026-06-04T03:01:02.276Z","repository":{"id":343868631,"uuid":"1142877968","full_name":"Hormold/livekit-traces-analyzer","owner":"Hormold","description":"Simple Rust App","archived":false,"fork":false,"pushed_at":"2026-03-12T04:22:44.000Z","size":192,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-12T10:59:51.512Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hormold.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-27T00:37:25.000Z","updated_at":"2026-02-24T18:39:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Hormold/livekit-traces-analyzer","commit_stats":null,"previous_names":["hormold/livekit-traces-analyzer"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Hormold/livekit-traces-analyzer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hormold%2Flivekit-traces-analyzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hormold%2Flivekit-traces-analyzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hormold%2Flivekit-traces-analyzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hormold%2Flivekit-traces-analyzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hormold","download_url":"https://codeload.github.com/Hormold/livekit-traces-analyzer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hormold%2Flivekit-traces-analyzer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33887124,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-04T03:01:01.302Z","updated_at":"2026-06-04T03:01:02.271Z","avatar_url":"https://github.com/Hormold.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LiveKit Traces Analyzer\n\nInteractive TUI and CLI for analyzing LiveKit voice agent call observability data. Optimized for AI agents to quickly find where the problem is -- provides detailed E2E latency breakdowns showing exactly where time is spent (STT, VAD/EOL detection, LLM tool-decision calls, tool execution, LLM response generation, TTS).\n\n## Installation\n\n### One-liner (macOS/Linux)\n\n```bash\ncurl -sSL https://raw.githubusercontent.com/Hormold/livekit-traces-analyzer/main/install.sh | bash\n```\n\n### Manual Download\n\nDownload the latest binary for your platform from [Releases](https://github.com/Hormold/livekit-traces-analyzer/releases):\n\n| Platform | Download |\n|----------|----------|\n| macOS (Apple Silicon) | `livekit-analyzer-macos-arm64` |\n| macOS (Intel) | `livekit-analyzer-macos-x86_64` |\n| Linux (x86_64) | `livekit-analyzer-linux-x86_64` |\n| Windows | `livekit-analyzer-windows-x86_64.exe` |\n\n### From Source\n\n```bash\ncargo install --git https://github.com/Hormold/livekit-traces-analyzer\n```\n\nOr clone and build:\n\n```bash\ngit clone https://github.com/Hormold/livekit-traces-analyzer\ncd livekit-traces-analyzer\ncargo build --release\n./target/release/livekit-analyzer \u003cpath\u003e\n```\n\n## Usage\n\n```bash\n# TUI mode (interactive)\nlivekit-analyzer /path/to/observability-folder\n\n# Text report (for CI/scripts)\nlivekit-analyzer /path/to/observability-folder --format text\n\n# JSON report\nlivekit-analyzer /path/to/observability-folder --format json\n```\n\n## Getting Observability Data\n\nExport traces from your LiveKit agent using the observability API, download from the LiveKit Cloud dashboard, or use the built-in cloud integration:\n\n```bash\n# List your projects\nlivekit-analyzer cloud projects\n\n# List recent sessions\nlivekit-analyzer cloud sessions\n\n# Download session data (logs, traces, audio)\nlivekit-analyzer cloud download RM_bMvTTdAVKvmW -o ./session-data\n\n# Analyze it\nlivekit-analyzer ./session-data --dump\n```\n\nRequires `lk cloud auth` first. See [Cloud Integration](#cloud-integration) below.\n\n## Features\n\n- **E2E Breakdown**: Per-turn latency waterfall showing STT -\u003e EOL -\u003e LLM1 (tool decision) -\u003e Tool exec -\u003e LLM2 (response) -\u003e TTS\n- **Overview**: Pipeline timing breakdown, bottleneck identification\n- **Transcript**: Full conversation with per-turn metrics and inline breakdowns\n- **Latency**: Per-turn E2E, LLM, TTS latency analysis with slow turn diagnosis\n- **Charts**: Visual latency distribution (ASCII)\n- **Agents**: Agent session and state transitions\n- **Tools**: Function/tool call history and durations\n- **Context**: LLM prompts and responses\n- **Logs**: Errors and warnings\n- **Spans**: OpenTelemetry span timeline\n- **PCAP**: SIP signaling and RTP quality analysis\n- **Cloud**: Fetch sessions and download data directly from LiveKit Cloud\n\n## Keyboard Shortcuts\n\n| Key | Action |\n|-----|--------|\n| `1-9` | Jump to tab |\n| `Tab` | Next tab |\n| `j/k` | Scroll down/up |\n| `Ctrl+d/u` | Page down/up |\n| `f` | Toggle filter (Logs/Spans) |\n| `s` | Toggle sort (Latency) |\n| `?` | Help |\n| `q` | Quit |\n\n## Cloud Integration\n\nFetch sessions and download observability data directly from LiveKit Cloud. Credentials are read from `~/.livekit/cli-config.yaml` (shared with the `lk` CLI).\n\n### Setup\n\n```bash\n# 1. Install LiveKit CLI\nbrew install livekit-cli\n\n# 2. Authenticate with LiveKit Cloud\nlk cloud auth\n```\n\n### Commands\n\n```bash\n# List configured projects (* = default)\nlivekit-analyzer cloud projects\n\n# List recent sessions (supports --limit, --page, --json)\nlivekit-analyzer cloud sessions\nlivekit-analyzer cloud sessions --project my-project --limit 10 --json\n\n# Show session details\nlivekit-analyzer cloud info RM_bMvTTdAVKvmW\n\n# Download observability data\nlivekit-analyzer cloud download RM_bMvTTdAVKvmW -o ./session-data\n```\n\n### Download Authentication\n\nThe `download` command requires a browser session token (the REST listing commands work automatically with API keys).\n\nOn first run, you'll be prompted to paste your token:\n\n```\nSession token required for downloading observability data.\n\nTo get it:\n  1. Open https://cloud.livekit.io and log in\n  2. Open DevTools (F12) → Application → Cookies → cloud.livekit.io\n  3. Find `__Secure-authjs.browser-session-token`\n  4. Double-click the Value column and copy it\n\nPaste token: \u003cpaste here\u003e\n```\n\nThe token is saved to `~/.livekit/session-token` for reuse. If it expires, the tool re-prompts automatically.\n\nYou can also pass it explicitly:\n```bash\n# Via flag\nlivekit-analyzer cloud download RM_xxx --token \u003cTOKEN\u003e\n\n# Via environment variable\nexport LK_CLOUD_TOKEN=\u003cTOKEN\u003e\nlivekit-analyzer cloud download RM_xxx\n```\n\n### Full Workflow Example\n\n```bash\n# Find a session\nlivekit-analyzer cloud sessions --limit 5\n\n# Download it\nlivekit-analyzer cloud download RM_YVBwPvfznypc -o ./call-data\n\n# Quick triage\nlivekit-analyzer ./call-data --summary\n\n# Full analysis\nlivekit-analyzer ./call-data --dump\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhormold%2Flivekit-traces-analyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhormold%2Flivekit-traces-analyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhormold%2Flivekit-traces-analyzer/lists"}