- the browser gets a dependency-free, <5 KB error and usage tracker
- your server keeps real OpenTelemetry
- Autter Runtime’s OTLP ingester receives both and writes them to ClickHouse in a compact, per-repository data model
Quickstart
Go from zero to seeing data in ClickHouse in a few minutes.
Installation
Install the package for your stack — browser, Node, or Next.js.
Packages
A runnable demo lives at
examples/express-app — browser tracker → relay → ingester, and the OpenTelemetry server tracker, against a Docker Compose ClickHouse.
Supported stacks
See Stack integrations for per-stack snippets, or Using Autter Runtime without npm if your service has no
@autter/* package at all.
Keys: frontend vs. backend
Two credential types keep the frontend and backend cleanly separated:Design principles
- Errors are 100%, everything else is sampled or aggregated. Raw error occurrences are always kept (14-day TTL); successful traces are expected to be sampled upstream (0.5–1%); usage is stored as 1-minute rollups (90 days).
- Per-repository analysis. Every row is keyed by
org_id+repository_id. - Privacy by construction. No cookies, no DOM, no request/response bodies, no emails, no full URLs with query strings.
- OTLP-compatible at the ingestion layer, not inside a 3 KB browser script.

