Skip to content

ouo11y docs

ouo11y is open-source real user monitoring built on OpenTelemetry. It shows what your users went through (sessions, errors, crashes, Web Vitals, the requests they sent and the backend spans those requests caused, and a replay of the screen) on one timeline in Grafana.

Every signal is OTLP with OpenTelemetry semantic conventions. It is stored in Loki, Tempo and Mimir, on infrastructure you run. Nothing leaves it unless you add an exporter.

Your apps
Web, mobile@ouo11y SDK or plain OTel
Backendany OTel SDK
Edge
ouo11y collectorproject credential
rate limit · CORS
Storage
Loki · Tempo · Mimirevents, traces, metrics
rum-apisessions · replay store
View
Grafanaouo11y RUM app
What you run: one collector at the edge, the LGTM stack, rum-api for sessions and replay, Grafana to look at it.

If you are evaluating ouo11y for a platform team

Section titled “If you are evaluating ouo11y for a platform team”

Read in this order. Each page stands on its own, and nothing points you to a repository.

Question Page
What runs, and what talks to what? Architecture
How is the edge secured, and what is public? Project credentials and the collector as the edge
What is a session, and how is it judged healthy? Sessions and health
Which attribute names will land in our data? Semantic conventions and ouo.*
How is replay stored, and what can it capture? Replay model
How do we deploy it? Docker Compose, single VM, Helm on Kubernetes
How do we change the pipeline? Collector, Customize
How do we upgrade and rotate tokens? Upgrading, Project tokens
Component Version Where
@ouo11y/browser 0.3.0 npm, public
@ouo11y/react-native 0.2.1 npm, public
collector 0.4.0 ghcr.io/ouo11y/collector, private
rum-api 0.5.0 ghcr.io/ouo11y/rum-api, private
grafana (Grafana 13.2.1 with the ouo11y RUM app 0.9.0) 0.5.0 ghcr.io/ouo11y/grafana, private
Helm chart ouo not published yet see Helm on Kubernetes