Skip to content

Distributor Node Quality Checks - 2 #745

Description

@bwhm

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:

  • when the test was run
  • which videos were requested, and for each of these:
    • from which distributor (URL) it's played from
    • how long it took to get a response from the server
    • duration/file size, and the time/speed it took to start playing

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions