Langfuse is $59/mo (Pro). Trough is a self-hosted alternative at $2.99/mo. Here's when each makes sense.
| Trough | Langfuse | |
|---|---|---|
| Hosting | Self-hosted, your infra | Open source, self-hostable with Docker and Postgres |
| Data location | Your server, your disk | Your server (if self-hosted) |
| Free tier | 1 service, 10,000 requests/mo | Paid only |
| Pro pricing | $2.99/mo | $59/mo (Pro) |
| Dependencies | None (single binary + SQLite) | Docker, Postgres, etc. |
| Setup time | ~30 seconds | 15-30 minutes (self-host) |
| Dashboard | Built-in at /ui | Web UI |
| License | BSL 1.1 | Open source |
Trough is a single Go binary with embedded SQLite. Install it with one command, and you are running in under a minute. Your data stays on your server.
curl -fsSL https://stockyard.dev/trough/install.sh | sh
The pricing math between Trough and Langfuse changes depending on team size. Langfuse at $59/mo (Pro) is reasonable for a solo user. At ten seats, the difference compounds. Trough is a flat $2.99/mo regardless of seats — the binary does not count how many people use it. For growing teams, this makes Trough progressively cheaper while Langfuse gets progressively more expensive.
Architecturally, Trough and Langfuse could not be more different. Langfuse runs on distributed cloud infrastructure with load balancers, managed databases, CDNs, and redundancy across availability zones. Trough is a single process writing to a single file on a single disk. That sounds fragile until you realize that SQLite handles more concurrent readers than most web applications will ever need, and WAL mode means reads never block writes.
Both Trough and Langfuse offer self-hosted options, but the operational requirements differ. Open source, self-hostable with Docker and Postgres Trough is a single binary with embedded SQLite — no containers, no external databases, no orchestration. The practical difference: Trough runs on a $5 VPS with no configuration. Self-hosting Langfuse typically requires a more substantial infrastructure investment.
Switching from Langfuse to Trough is straightforward for most teams. Export your data from Langfuse (most services offer CSV or JSON export), then POST each record to Trough's API. A migration script that reads the export and writes to /api/ endpoints typically takes less than 50 lines of code. The reverse migration is equally simple — Trough's SQLite database is a standard file you can query with any SQLite client.
Single binary. Free to start. $2.99/mo for Pro.