Back to Blog

November Updates v2.2: New Overview, Redesigned Logs & Knowledge Base

rtcStats v2.2 adds an Overview page with the Experience Score of your calls, a redesigned Logs tab, and a major update of the WebRTC knowledge base.

Posted by

November Updates v2.2: New Overview, Redesigned Logs & Knowledge Base

rtcStats v2.2.0 is out. This time the focus is the big picture and the fine detail.

A new Overview page tells you how your calls are doing and what to fix first. A redesigned Logs tab lets you follow each connection event by event. And the knowledge base got its biggest update yet.

From the whole fleet down to a single ICE candidate. Zoom in, zoom out! 🔭

🚀 Major Improvements

> A New Overview Page for Your Whole Account 📊 (Developer and Enterprise Plans)

Until now, rtcStats showed you one session at a time. The new Overview page shows how all your calls are doing.

The scores. The page starts with the Experience Score, a 0 to 100 score for your calls, with its movement since the previous point of its trend. Next to it, the Connectivity, Video and Voice scores tell you which part of the call suffers.

The domains. Each observation domain then gets its own 0 to 100 score: Quality, Reliability, Performance, Best practice & Code, Security and Sustainability. In one look, you know what type of problem you face, and who must fix it. A Best practice & Code problem goes to your developers. A Reliability problem often goes to the Ops team that runs your network or your TURN servers. These are not always the same people.

What to fix first. The three main findings get their own cards, so you know where to focus. Each card shows the browsers, operating systems or connection paths where the finding is most frequent. The full list of findings stays visible below them. High findings come on top, and you can sort by number of sessions or by trend.

Who is affected. Last, the page splits your sessions by browser, by operating system and by connection type, with the connection outcomes and the video limits. You see whether some clients are more exposed than others to the problems found.

The best part? The filters. Click any chart to filter the whole page, or use the same filters as the Analysis page, with several values per filter. Then dig into the details at your own pace.

The Overview needs at least 50 sessions in the account. On these plans, the dashboard now opens on it.

The Overview page with the Experience Score, the score distribution and the score of each observation domainThe Overview page with the Experience Score, the score distribution and the score of each observation domain

> Logs Tab, Redesigned 🧭

The Logs tab now reads like the story of the call. Each peer connection is a lane of a graph, so you see when a connection starts, when it changes and what happened on the others at the same time. Related and repeated events are grouped, which keeps long sessions readable.

Each observation shows on the event behind it, so you go from "what is wrong" to "when did it start" in one look. The log also lists more of what happened: getUserMedia calls, ICE candidates, track enable changes, the time the upload connection took, and what successful calls return.

The redesigned Logs tab, with one lane per peer connection and the observations on their eventsThe redesigned Logs tab, with one lane per peer connection and the observations on their events

> A Major Update of the Knowledge Base 📚

Good observations need good explanations. We rewrote 101 WebRTC metric articles and aligned them with how current Chrome reports each value, so the number you read in a session matches the article behind it.

We also added more guides and troubleshooting pages:

The new knowledge base article on a failed DTLS handshakeThe new knowledge base article on a failed DTLS handshake

🛠️ Other Enhancements

> Find Problem Sessions Faster in Analysis 🔎

Analysis and the Overview now share the same filters. Filter and group sessions by observation, filter them by observation domain, and filter the score in 10-point steps. The filter by highest severity is now named Severity, and Score, Severity and Observations come after the other filters.

> More Observations, With Every Problem Period 🔔

Four new observations cover connectivity and devices. Observations that hold over time now carry each period where the problem held, not only the first one. Several false alarms have been fixed too, for example on calls that lost the connection once and recovered. Healthy video calls no longer get a high severity for a slow start.

> Timeline and Devices, Easier to Read 🕒

  • Connection, stream and data channel bars show in stripes while the dump holds no statistics yet.
  • Connection bars mark each renegotiation and each webrtc-internals page load.
  • The Devices tab shows the CPU performance tier, the screen, the pixel ratio and the window size.
  • It also shows each switch of the sent audio between a microphone and a Web Audio source.
  • Device bars are solid while a track is sent and light while it is open but not sent.
  • Timeline axes follow your locale and time zone.

🔒 Security

This release adds many more hardening fixes, on tokens, on APIs and against spammers. You do not need to do anything. Your account is safer than it was last month.

📦 Ecosystem Updates

> rtcstats-server v1.0.0 🛠️

No tagged release in this window, rtcstats-server is at v1.0.0. Here is what landed on main:

  • The server retries the chunk uploads and the assemble call to rtcstats.com, so a short network problem does not lose a dump.
  • An HTTP upload gets its answer only after the database insert, so a success response means the dump is stored.
  • Rejected uploads are cleaned up properly, and x-forwarded-for addresses are trimmed.
  • rtcstats-features (now at v2.1.0) publishes on npm with public access. It adds a track feature for decoder fallback (hasDecoderFallback) and one track row per outbound simulcast layer.

> rtcstats-js v2.5.0 📡

No tagged release in this window, rtcstats-js is at v2.5.0. Here is what landed on main:

  • A helper function emits one client-wide create event.
  • Several fixes for onunmute handling.
  • rtcstats-js works with the new tags of the upload assemble request (see API & MCP below): you can add tags in the token.

> API & MCP ⚙️

  • Session tags at upload: the upload assemble request accepts optional tags stored on the session, so you can categorise it when you send it. Refused tags come back in rejectedTags with the reason invalid or too_many.
  • Observation periods: observations that hold over time carry periods, the { startTimestamp, endTimestamp } intervals in epoch ms where the condition held.
  • CPU performance: userAgentData.cpuPerformance and the cpuPerformance client feature appear when the browser reports a CPU performance tier, along with the FEATURE_WEBAUDIO_SOURCE device feature flag.
  • Session features: they now follow the open-source rtcstats-features definitions. Some keys are new and some values change. Values such as averageEncodeTime keep their full precision.
  • Safer limits: a gzipped dump that expands past 256 MiB returns 413 file_too_large on every plan. During a storage overload, a call answers 503 other_issue with Retry-After: 5.
  • Better MCP tools: the four tools declare themselves read-only (readOnlyHint), so clients can approve them without asking each time. Every argument has a description. A plan refusal now links to the plans that include API access.

v2.2.0 also changes the public MCP contract, effective with this release. The MCP server runs on the maintained v2 MCP SDK, with the same tools, prompts and protocol versions:

  • An unknown tool or observation resource returns the JSON-RPC error -32602.
  • Error messages drop the MCP error <code>: prefix.
  • tools/list no longer sends execution.taskSupport.
  • Tool schemas declare JSON Schema 2020-12.

These are internal changes: your Claude or OpenAI agent adapts to them with no problem.


A release this big holds more than a post can tell. Look for the smaller touches: a clearer sidebar with Quick start progress, an opt-in Features tab, faster session opening, back navigation that keeps the page as you left it, and sharper AI summaries. We would love to hear which ones you notice first.

We're excited to see how you use the new Overview and the redesigned Logs tab to find and fix your WebRTC problems! As always, the latest version of rtcstats-js is available on npm. Make sure you're up to date to get the best out of these new features.

Happy debugging! 💎