Any language with an OpenTelemetry SDK can send server telemetry — point its OTLP/HTTP exporter at the ingester and add the key as a header.
React / SPA / static sites
<AutterErrorBoundary> (from @autter/runtime-next, works in any React app). Vue/Svelte/Angular: call captureException(err) from the framework’s error hook (app.config.errorHandler, handleError, ErrorHandler).
Node.js (Express, Fastify, Koa, NestJS)
Next.js
instrumentation.ts, a relay route, and a client init + boundary. See the package README.
Go
Rust
Python, Java, .NET, or anything else
Standard OpenTelemetry environment variables work with every SDK:exception events (every SDK’s record_exception / RecordError does this) or ERROR status.
Warnings (any language): add an autter.severity attribute to the exception event — "fatal" | "error" | "warning" | "info" (default error; the Node SDK’s crash marker autter.unhandled: true implies fatal). Warnings share the errors table with a severity column, so they group and aggregate identically:
Sampling guidance (all stacks)
Errors are always worth sending; keep successful-trace sampling at ~1% (OTEL_TRACES_SAMPLER_ARG=0.01). Request/usage metrics are derived server-side from spans and the http.server.duration histogram — no extra setup.
No @autter/* package for your language?
Send telemetry with just an OpenTelemetry SDK, a Collector, or a hand-rolled HTTP request.

