Add a source
One middleware, wrapper, or snippet, and every request through your product is attributed to an account. Events land in your warehouse.
App and web
Drop the client SDK into the app your customers use. Route, session, and action context arrives alongside the API traffic.
React
Route, session, and click context from the app your customers use.
Next.js
One provider in the root layout, plus server actions attributed automatically.
Remix
Loader and action timings, keyed to the account that triggered them.
Vue 3
A plugin on the app instance; router events arrive with it.
Nuxt 3
A module in nuxt.config; covers both the client and the Nitro server.
Angular
A provider in the application config, with the router hooked up for you.
Identity and auth
Who signed up, who signed in, and who joined which account — usually a webhook you already have somewhere to point.
WorkOS
Sign-ins, org creation, and membership changes, per account.
Clerk
User and organization events straight from the dashboard.
Auth0
A log stream, so every tenant login arrives without polling.
Okta
Event hooks for sessions, lifecycle, and group membership.
Microsoft Entra ID
Sign-in and audit logs, streamed rather than exported.
Firebase Auth
Blocking functions, so a sign-up is reported as it happens.
Services and APIs
One middleware in the request path. Works for incoming calls and for the outgoing ones your service makes.
Django
One entry in MIDDLEWARE; every view and ORM query is timed.
Ruby on Rails
A railtie subscribes to ActiveSupport notifications already being emitted.
Express
One app.use, above your routes and below your authentication.
FastAPI
ASGI middleware, so background tasks are attributed too.
Laravel
A service provider and one middleware alias.
Spring
A starter on the classpath; the filter registers itself.
Gateways and proxies
Instrument at the edge instead of in the application, and cover every service behind it at once.
Kong
A plugin at the gateway covers every service behind it at once.
NGINX
A log format and a mirror directive. No module to compile.
Apigee
A shared flow attached to every proxy in the environment.
AWS API Gateway
Access logging to a Firehose we read; no Lambda in the request path.
Azure API Management
An outbound policy fragment applied at the product level.
Envoy
An access-log service, so the sidecar reports without a filter chain change.
Serverless and edge
Where there is no long-lived process to hold a middleware, a wrapper does the same job per invocation.
AWS Lambda
A wrapper per invocation, where there is no long-lived process to hold middleware.
Cloudflare Workers
Reports on waitUntil, so nothing is added to the response path.
Vercel Functions
One wrapper on the route handler; streaming responses are timed to the last byte.
Google Cloud Functions
A functions-framework wrapper for both HTTP and CloudEvent entry points.
Azure Functions
A hook registered once in the app's entry file.
Deno Deploy
A handler wrapper, imported straight from the registry.
Observability
Already collecting this? Forward what you have and skip the instrumentation step.
OpenTelemetry
Already emitting OTLP? Add an exporter and skip the instrumentation step.
Prometheus
Remote write, with the account label you already attach to series.
Datadog
A log forwarder on the agent; metrics arrive on the same key.
Grafana
Alloy forwards the metrics it already scrapes.
CloudWatch
A metric stream into Firehose, delivered without a polling job.
Sentry
Errors on the same timeline as the usage curve that produced them.
Direct ingest
For everything this list does not name. A signed endpoint, a scheduled file, or one POST.