charts on miner pages work now, they gather data from miners and put it into the graph, with a max size of 49 entried per graph

This commit is contained in:
UpstreamData
2022-03-01 16:17:28 -07:00
parent 16b84310ec
commit 3fcd2edf6f
2 changed files with 16 additions and 5 deletions

View File

@@ -43,17 +43,23 @@ async def miner_websocket(websocket: WebSocket, miner_ip):
await websocket.accept() await websocket.accept()
try: try:
while True: while True:
# print(miner_ip) miner = await miner_factory.get_miner(str(miner_ip))
await asyncio.sleep(.1) miner_summary = await miner.api.summary()
data = {"hashrate": 1.11, "datetime": datetime.datetime.now().isoformat()} print(miner_summary)
if 'MHS av' in miner_summary['SUMMARY'][0].keys():
hashrate = format(round(miner_summary['SUMMARY'][0]['MHS av']/1000000, 2), ".2f")
elif 'GHS av' in miner_summary['summary'][0]['SUMMARY'][0].keys():
hashrate = format(round(miner_summary['SUMMARY'][0]['GHS av']/1000, 2), ".2f")
else:
hashrate = 0
data = {"hashrate": hashrate, "datetime": datetime.datetime.now().isoformat()}
await websocket.send_json(data) await websocket.send_json(data)
await asyncio.sleep(5)
except WebSocketDisconnect: except WebSocketDisconnect:
print("Websocket disconnected.") print("Websocket disconnected.")
pass pass
@app.get("/miner/{miner_ip}") @app.get("/miner/{miner_ip}")
def get_miner(request: Request, miner_ip): def get_miner(request: Request, miner_ip):
return templates.TemplateResponse("miner.html", { return templates.TemplateResponse("miner.html", {

View File

@@ -49,6 +49,11 @@ var minerDataChart = new Chart(document.getElementById("line-chart"), {
} }
}, },
scales: { scales: {
y: {
min: 0, // minimum value
stepSize: 1
},
x: { x: {
ticks: { ticks: {
maxTicksLimit: 8, maxTicksLimit: 8,