guydavis / machinaris

An easy-to-use WebUI for crypto plotting and farming. Offers Bladebit, Gigahorse, MadMax, Chiadog and Plotman in a Docker container. Supports Chia, MMX, Chives, Flax, and HDDCoin among others.
Apache License 2.0
337 stars 69 forks source link

Plotting speed graph not updating #584

Closed hutchwilco closed 2 years ago

hutchwilco commented 2 years ago

Describe the bug Plotting Speed graph on fullnode under Plotting>Jobs tab is not updating - stuck on a week ago.

To Reproduce

Steps to reproduce the behavior, e.g.:

  1. Use Machinaris normally (two plotters, one full node)
  2. See error

Expected behavior Expect the graph to continue updating to current time

System setup:

Config

full configuration ``` version: '3.9' services: machinaris: image: ghcr.io/guydavis/machinaris container_name: machinaris hostname: gridshare-ONDA-Chia-D32H-D4-V1-01 restart: always volumes: - ~/.machinaris:/root/.chia - "/media/gridshare/sda:/plotsa" - "/media/gridshare/sdb:/plotsb" - "/media/gridshare/sdc:/plotsc" - "/media/gridshare/sdd:/plotsd" - "/media/gridshare/sde:/plotse" - "/media/gridshare/sdf:/plotsf" - "/media/gridshare/sdg:/plotsg" - "/media/gridshare/sdh:/plotsh" - "/media/gridshare/sdi:/plotsi" - "/media/gridshare/sdj:/plotsj" - "/media/gridshare/sdk:/plotsk" - "/media/gridshare/sdl:/plotsl" - "/media/gridshare/sdm:/plotsm" - "/media/gridshare/sdn:/plotsn" - "/media/gridshare/sdo:/plotso" - "/media/gridshare/sdp:/plotsp" - "/media/gridshare/sdq:/plotsq" - "/media/gridshare/sdr:/plotsr" - "/media/gridshare/sds:/plotss" - "/media/gridshare/sdt:/plotst" - "/media/gridshare/sdu:/plotsu" - "/media/gridshare/sdv:/plotsv" - "/media/gridshare/sdw:/plotsw" - "/media/gridshare/sdx:/plotsx" - "/media/gridshare/sdy:/plotsy" - "/media/gridshare/sdz:/plotsz" - "/media/gridshare/sdaa:/plotsaa" - "/media/gridshare/sdab:/plotsab" - "/media/gridshare/sdac:/plotsac" - "/media/gridshare/sdad:/plotsad" - "/media/gridshare/sdae:/plotsae" - "/media/gridshare/sdaf:/plotsaf" environment: - TZ=Pacific/Auckland - mode=fullnode - plots_dir=/plotsa:/plotsb:/plotsc:/plotsd:/plotse:/plotsf:/plotsg:/plotsh:/plotsi:/plotsj:/plotsk:/plotsl:/plotsm:/plotsn:/plotso:/plotsp:/plotsq:/plotsr:/plotss:/plotst:/plotsu:/plotsv:/plotsw:/plotsx:/plotsy:/plotsz:/plotsaa:/plotsab:/plotsac:/plotsad:/plotsae:/plotsaf - blockchains=chia - worker_address=10.0.1.96 ports: - 8926:8926 - 8927:8927 - 8444:8444 - 8447:8447 ```

Additional context & screenshots Plotting graph stuck on 17 Feb, (as at 24th Feb). Ignore the gap in plotting, that was other issues.

Screen Shot 2022-02-24 at 2 20 03 PM
guydavis commented 2 years ago

Hi, sorry to hear that. Let's check a few things.

On the Farming page, do you see the stopwatch icon for your most recent plots? image This indicates a Plotman Analysis is available which includes the plotting time.

Then let's check if the result is cached. Pick a PLOT_ID which you expect to see on the chart, but is missing. It should be one which has a Plotman Analysis on the Farming page. Then:

docker exec -it machinaris bash
cd /root/.chia/plotman
cat status.json | jq | grep -C3 PLOT_ID

image This shows "seconds" value from the plot analysis.

Next, we check the database, which should also hold that plot speed data:

cd /root/.chia/machinaris/dbs
sqlite3 plots.db
select created_at, hostname, displayname, blockchain, plot_id, plot_check, plot_analyze from plots where plot_id = 'PLOT_ID';
Cntrl-D to exit...

image

When the plotting speed chart is built, basically this query is run (with a k-size filter and more data points):

select created_at, hostname, displayname, blockchain, plot_id, plot_check, plot_analyze from plots order by created_at desc limit 10;

Example: image

From that query, the chart is drawn. My example: image

Knowing above, please let me know exactly which piece is missing in your installation. Thanks!

hutchwilco commented 2 years ago

@guydavis as soon as you asked me about the "recent plots" I've realised what I was missing - right now my full node storage is full (I'm building another harvester box right now), however my plotters are still working hard filling up their local drives only - the full node never sees these plots, so doesn't tally the plotting speed for those.

Sorry for wasting your time!

guydavis commented 2 years ago

Great, yes. You found the underlying assumption in my design above... namely that plots, once created, will very soon be farmed (minutes). There are reasons for this choice around plot listing consistency with Chia farming services.

Happily, this means that as soon as you get these new plots farming on a Machinaris system with any of these modes:

Then the Machinaris WebUI should shortly begin to display them on both the Farming page and also on the Plotting charts.