Joystream / community-repo

A repo for community contribution and documentation
GNU General Public License v3.0
19 stars 73 forks source link

Distributor Node Quality Checks - 2 #745

Open bwhm opened 2 years ago

bwhm commented 2 years ago

Workflow

Dev points: 15 JSG Reviewer: @DzhideX

Notes

PR to be made to this repo Feel free to ask questions, but ask them publicly in the issue, and ping me on discord bwhm#6514 so I'll see it :)

Scope

Use puppeteer, or a similar free and open source tool, to create a script that mimics a user playing a video on play.joystream.org.

Each time the script runs, make the query:

curl 'https://query.joystream.org/graphql' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: https://query.joystream.org' --data-binary '{"query":"query {\n\tvideos  (limit:1000000) {\n    id\n    duration\n    media {\n      id\n      size\n      isAccepted\n    }\n  }\n}"}' --compressed

and filtering out files where "isAccepted": false. Then, select 5 videos randomly to play, and log:

Play 20 sec or so, and measure how much of the video was buffered at 5, 10 and 20 sec.

As with images, get the latency to each of the distributors used and provide a summary of the test run.

Tool for Fetching Assets from the Player

Measuring the quality of service by the Distributors without proper tools is a very manual (and error prone) job.

First, we create a tool that fetches thumbnails from the front page. The tool has to be somewhat customizable, as in reality, users don't need to get every single asset at the same time.

adovrodion commented 2 years ago

Bounty link: https://dao.joystream.org/#/bounty/preview/75 Bounty was not fulfilled

singulart commented 2 years ago

Moving back to ToDo due to assignee inactivity. Please consider this vacant and ready to be picked up.