analyzeRTC is a set of technologies and capabilities that testRTC employs to collect, analyze and visualize test results of WebRTC sessions. Due to its nature, analyzeRTC can be viewed as a feature used by testRTC’s testingRTC and upRTC products and as standalone service of its own.
Collection
The collection element of analyzeRTC is built on two main technologies:
- Chrome’s webrtc-internals dump files. analyzeRTC is capable of parsing and analyzing these files generated by Chrome, both in their spec-compliant format and in their legacy format
- getstats(). By calling getstats() directly and collecting its data in a proprietary format devised by the rtcstats open source project
analyzeRTC can perform its tasks with any of the alternatives above. The collection itself can happen in multiple ways:
- In testingRTC and upRTC test scripts. There, testRTC is responsible to automatically collect the results for you as the test scripts are executed
- By directly uploading a webrtc-internals dump file into testRTC for analysis. This is useful when you have such a file created by a user or by you directly
- Using the analyzeRTC Chrome extension, making the collection of WebRTC sessions a breeze when users complain
Analysis
When a WebRTC data file is uploaded into analyzeRTC, either directly or indirectly, it undergoes certain analysis tasks.
These include:
- Score calculation
- Statistics aggregation
- Custom metrics calculation
- Evaluation of expectations
Some of the above take place only when running test scripts while other take place at all times.
The analysis can be done on a single browser level or on an aggregate of data files collected from multiple browsers in parallel.
Visualization
analyzeRTC visualization capabilities take place in 3 different layers:
- High level view, where data is aggregated and displayed across multiple probes/browsers
- Single browser view, where data is analyzed and displayed for a single probe/browser. At this level, you get the highlights of the session results
- Internals view, where all data is made available in an easy and visual manner for you to dive deeper into the results