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 c3d19607f6
commit 3e5998de6e
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()
try:
while True:
# print(miner_ip)
await asyncio.sleep(.1)
data = {"hashrate": 1.11, "datetime": datetime.datetime.now().isoformat()}
miner = await miner_factory.get_miner(str(miner_ip))
miner_summary = await miner.api.summary()
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 asyncio.sleep(5)
except WebSocketDisconnect:
print("Websocket disconnected.")
pass
@app.get("/miner/{miner_ip}")
def get_miner(request: Request, miner_ip):
return templates.TemplateResponse("miner.html", {

View File

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