// the find
lmnr-ai/lmnr
Laminar - open-source observability platform purpose-built for AI agents. YC S24.
Laminar is an observability platform for AI agents — tracing, evals, event detection, dashboards, and SQL access to all your trace data. The backend is Rust; frontend is Next.js. It's for teams building non-trivial agent systems who need more than print statements but don't want to hand their data to a SaaS.
- OpenTelemetry-native ingestion over gRPC means your instrumentation code isn't coupled to Laminar — you can swap backends without touching app code, and standard OTEL tooling works out of the box.
- SQL access to raw trace and span data is genuinely useful. Most observability products trap you in their query builder; here you write SQL and can bulk-export to datasets for evals.
- The Rust backend isn't marketing — ClickHouse for analytics, Quickwit for full-text search, Redis pub/sub for realtime trace streaming. The architecture is actually built for throughput, not bolted on.
- Self-hosted Docker Compose works in one command and gives you a real local instance, not a mock. The lightweight compose omits some services but is actually runnable for dev use.
- The full production stack is ClickHouse + PostgreSQL + Redis + RabbitMQ + Quickwit + S3 — six moving parts before your own app. The lightweight compose cuts corners that will hurt under load, and running the full stack yourself is real ops work.
- Several features (signals/event detection, chat-with-trace, SQL-with-AI) require you to configure an LLM provider — Gemini, OpenAI-compatible, or AWS Bedrock only. No direct Anthropic provider, so Claude-heavy stacks need an extra hop through Bedrock or a gateway.
- The eval framework is explicitly 'unopinionated,' which means minimal structure. You get a runner and a CLI; you build the harness. Teams coming from LangSmith or Braintrust will find they're writing more scaffolding.
- No auth beyond project API keys in the self-hosted version — there's no user management, RBAC, or SSO unless you're on their cloud. For teams that need to share access internally without everyone sharing one key, this is a gap.