Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Distributor Node Quality Checks - 1 #744

Open
bwhm opened this issue Apr 4, 2022 · 12 comments
Open

Distributor Node Quality Checks - 1 #744

bwhm opened this issue Apr 4, 2022 · 12 comments

Comments

@bwhm
Copy link
Member

bwhm commented Apr 4, 2022

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

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.

Scope 1

Use puppeteer, or a similar free and open source tool, to create a script that mimics a user opening play.joystream.org and other sub-pages without caching locally.

Each time the script runs, it logs:

  • when the test was run
  • which files were requested, and for each of these:
    • from which distributor (URL) it was fetched
    • how long it took to get a response from the server
    • how big the file is, and the time/speed it took to render

Then, get the latency to each distributor, and get some data from the query-node to determine:

  • Average response time for each distributor after latency has been removed
  • Average response time for the system as a whole
  • Average speed for each distributor
  • Average speed for the system as a whole

To avoid unfair rulings:

  • do not include the time it takes to get a response from orion.joystream.org.
  • ideally, verify that the file was accepted
@bwhm bwhm changed the title DRAFT: Distributor Node Quality Check Distributor Node Quality Checks - 1 Apr 6, 2022
@bwhm bwhm added this to Open issues in Joystream Builders Apr 6, 2022
@singulart
Copy link
Contributor

As per @traumschule this is covered by #679. Moving to "In Review"

@singulart singulart moved this from Open issues to Jsgenesis Review in Joystream Builders Apr 11, 2022
@traumschule
Copy link
Collaborator

traumschule commented Apr 11, 2022

Covered would mean fully implemented. The code can be reused but does not have the purpose to simulate atlas user experience with puppeteer. It performs axios head (no download speed test) requests for each asset and sends results to a (jsstats) backend for collection (simply accepting unauthorized post requests and very easy to re-implement). All code for comparison between nodes or averages stored by a QN would need to be added there.
Also the jsstats site is no longer under active development, happy to share code if relevant though. i do not plan to spend time on that right now, feel free to use and complement according to needs.

@singulart
Copy link
Contributor

@freakstatic any updated on the internal review?

@freakstatic
Copy link
Collaborator

freakstatic commented Apr 25, 2022

@freakstatic any updated on the internal review?

sorry for the late reply, I was able to run it and got this file as output.
this tool can be handy to check if assets are available in the SP and DP but doesn't seem to be good for checking the quality of the QN as this issue requests

@freakstatic
Copy link
Collaborator

so I suggest that we develop something with puppeteer if the objective is to check how good are the distributors when using atlas.
if we gonna check how good are distributors in general I suggest adapting another tool which was done for SP's

@singulart
Copy link
Contributor

Ok, clear. Moving back to To Do, then

@singulart singulart moved this from Jsgenesis Review to Open issues in Joystream Builders Apr 27, 2022
@traumschule
Copy link
Collaborator

Jsgenesis Review was never the right status anyway.
JSG performed these tests. Latest THUMBNAIL_SCORE was 1, SERVICE_SCORE 0.997 and PLAYABLITIY_SCORE will be replaced:

Note that this will be changed in the future, as it turns out to be a flawed metric.

Requirements

@adovrodion
Copy link
Contributor

adovrodion commented Jun 7, 2022

Bounty link - https://dao.joystream.org/#/bounty/preview/68
UPD: Bounty was not fulfilled

@singulart singulart moved this from Open issues to Dev in progress in Joystream Builders Jun 9, 2022
@singulart
Copy link
Contributor

Bounty submission failed the internal review, sent back to the worker and got stuck. Moving back to ToDo. Please consider this vacant and ready to be picked up.

@singulart singulart moved this from Dev in progress to Open issues in Joystream Builders Jun 23, 2022
@m00n620
Copy link

m00n620 commented Jul 7, 2022

excited to join!

@singulart
Copy link
Contributor

Assigned to @m00n620

@singulart singulart moved this from Open issues to Dev in progress in Joystream Builders Jul 7, 2022
@singulart
Copy link
Contributor

Worker asked to un-assign this piece of work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

6 participants