Added more /stats

This commit is contained in:
SG
2023-05-16 12:33:28 +02:00
parent 2091a292f4
commit b325319f20

View File

@@ -8,8 +8,25 @@ TRANSFERRED_DATA = 0
app = Quart(__name__)
def get_var_size(var):
return sys.getsizeof(var) / (1024 * 1024)
def convert_bytes(byte_value):
if byte_value < 1024: # Less than 1 kilobyte
return str(byte_value) + " B"
elif byte_value < 1024**2: # Less than 1 megabyte
kb_value = round(byte_value / 1024)
return str(kb_value) + " KB"
elif byte_value < 1024**3: # Less than 1 gigabyte
mb_value = round(byte_value / (1024**2),2)
return str(mb_value) + " MB"
elif byte_value < 1024**4: # Less than 1 terabyte
gb_value = round(byte_value / (1024**3),2)
return str(gb_value) + " GB"
elif byte_value < 1024**5: # Less than 1 petabyte
tb_value = round(byte_value / (1024**4),2)
return str(tb_value) + " TB"
else: # More than or equal to 1 petabyte
tb_value = round(byte_value / (1024**5),2)
return str(tb_value) + " PB"
@app.route("/")
async def retmain():
@@ -31,7 +48,7 @@ async def handle_websockets():
for peer in peer_list[peer_group_id]:
if peer != websocket._get_current_object():
await peer.send(message)
TRANSFERRED_DATA = round(TRANSFERRED_DATA + get_var_size(message))
TRANSFERRED_DATA = TRANSFERRED_DATA + sys.getsizeof(message)
except asyncio.exceptions.CancelledError:
peer_list[peer_group_id].remove(websocket._get_current_object())
if len(peer_list[peer_group_id]) < 1:
@@ -46,7 +63,7 @@ async def return_stats():
peers_connected = 0
for p in peer_list.values():
peers_connected += len(p)
resp = f"<p><b>Uptime: </b>{uptime_str}</p><p><b>Peers: </b>{peers_connected}</p><p><b>Transferred: </b>{TRANSFERRED_DATA} MB</p>"
resp = f"<p><b>Uptime: </b>{uptime_str}</p><p><b>Peers: </b>{peers_connected}</p><p><b>Transferred: </b>{convert_bytes(TRANSFERRED_DATA)}</p>"
return resp
app.run()