Skip to content

EXPERIMENTAL, INPROGRESS: A quickconnect extension for monitoring the health of a connection

License

Notifications You must be signed in to change notification settings

rtc-io/rtc-health

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rtc-health

rtc-health endeavours to provide monitoring and health reporting data for WebRTC peer connections that are created using rtc-quickconnect. It will expose the events from the rtc-quickconnect instance, as well as providing statistical reports relating to the connection, and the various tracks/channels.

Build Status

Providers

Currently, Chrome and Firefox do not implement the WebRTC.getStats API method in even remotely the same way, leading to some problems when it comes to standardizing the output of data. To get around this, rtc-health implements a provider for each browser that handles the execution and standardization of stats retrieval.

Google Chrome

As the original implementor of the getStats method, and as such, containing a much wider array of reported metrics, Chrome is used as the baseline for the provider getStats. Standardization consists of removing

Mozilla Firefox

Firefox reports only basic information via it's getStats method for each MediaStreamTrack.

Tests

This package uses travis-multirunner, which requires some manual setup to run tests. First, you must set environment variables to select the browser and version to use:

$ export BROWSER=firefox
$ export BVER=stable

See .travis.yml for the supported values of BROWSER and BVER. Next, use setup.sh to download the binaries for this particular browser and version:

$ ./node_modules/travis-multirunner/setup.sh

And finally, run the tests:

$ npm test

Tests inside Docker

If you do your Node development in a Docker container, you'll need to install additional system packages in order to run headless browsers for testing. With the standard node images available from Docker Hub, this is enough:

# apt-get update && apt-get install -y xvfb libgtk-3-0-dbg libasound2 libdbus-glib-1-2 libgtk2.0-0 libgconf-2-4 libnss3 libxss1

Once you've set the appropriate environment variables, run the test commands prefixed with xvfb-run:

# xvfb-run ./node_modules/travis-multirunner/setup.sh
# xvfb-run npm test

About

EXPERIMENTAL, INPROGRESS: A quickconnect extension for monitoring the health of a connection

Resources

License

Stars

Watchers

Forks

Packages

No packages published