Docs

ObserveRTC is an open-source toolkit for monitoring WebRTC applications: a browser library that turns getStats() into actionable verdicts, a Node.js library that correlates those verdicts across participants, two delta codecs that cut what you upload, and a versioned schema that ties them all together.

Start here

Introduction

What ObserveRTC is, what it gives you, and who it is for.

Architecture

How the pieces fit together, and where the client/server line is drawn.

The libraries

Client Monitor

Browser-side monitoring: derived metrics, quality scores, and 46 detectors that raise and resolve issues with hysteresis. Current: 4.9.0.

Observer

Server-side analysis: a live model of every call plus cross-participant detection that answers what no single browser can. Current: 1.0.0.

The codecs

Protobuf Codec

Smallest payload. Each message carries only what changed since the previous sample.

JSON Codec

The same delta codec with zero dependencies, ~2 KB gzipped, and a payload you can read in a log.

The schema

Schema overview

One contract shared by every component, generated from Avro.

ClientSample reference

Every record and field, generated from schema 3.7.0.

Version history

What changed in each release since 3.0.0, field by field.

Quick install

Upgrading

client-monitor-js 4.9

27 detector classes became 46, every group config key was retired, and the score is now a reading of the open issues.

observer-js 1.0

Detector configuration, the update policy enum and the pluggable Updater are gone; inbound bitrate is now bps.

Schema 3.4 – 3.7

Payloads became records and then free-form JSON; scoreReasons became a map of contributions.