PeerTube collector

peertube-collector is a project designed to collect and analyze WebRTC statistics from a Chromium browser and export them to a Prometheus PushGateway service. This project includes a Docker setup for running the necessary services.

Project Structure

peertube-collector/
├── README.md
├── requirements.txt
├── telegraf.conf
├── docker-compose.yml
├── Dockerfile
├── main.py
└── webrtc-internals-exporter/
    ├── manifest.json
    ├── options.html
    ├── popup.html
    ├── README.md
    └── webrtc-internals-exporter.js

Prerequisites

  • Docker
  • Docker Compose

Setup

  1. Clone the repository:

    git clone <repository-url>
    cd peertube-collector
    
  2. Build and start the Docker containers:

    docker-compose up --build
    

Components

Docker Compose

The docker-compose.yml file defines the following services:

  • selenium: Runs a Selenium standalone Chromium container.
  • telegraf: Collects and sends metrics to the specified output.
  • collector: Runs the main Python application to collect WebRTC stats.

Dockerfile

The Dockerfile sets up the Python environment and installs the necessary dependencies to run the main.py script.

Main Python Script

The main.py script sets up the Selenium WebDriver, collects WebRTC stats, and sends them to the Telegraf service.

WebRTC Internals Exporter

The webrtc-internals-exporter directory contains a Chromium extension that collects WebRTC stats from the browser.

Description
No description provided
Readme MIT 1.7 GiB
Languages
Python 39.2%
JavaScript 28.7%
Shell 24.9%
Dockerfile 4.9%
HTML 2.1%
Other 0.2%