slimshadow commited on
Commit
d445ba5
·
verified ·
1 Parent(s): 706694f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -0
app.py CHANGED
@@ -3,6 +3,7 @@ from fastapi.middleware.gzip import GZipMiddleware
3
  from fastapi.responses import FileResponse
4
  import os
5
  import shutil
 
6
 
7
  app = FastAPI()
8
 
@@ -26,3 +27,26 @@ async def download_file(filename: str):
26
  if os.path.exists(file_path):
27
  return FileResponse(file_path, media_type='application/octet-stream', filename=filename)
28
  return {"error": "File not found"}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  from fastapi.responses import FileResponse
4
  import os
5
  import shutil
6
+ import psutil
7
 
8
  app = FastAPI()
9
 
 
27
  if os.path.exists(file_path):
28
  return FileResponse(file_path, media_type='application/octet-stream', filename=filename)
29
  return {"error": "File not found"}
30
+
31
+ @app.get("/system/metrics")
32
+ async def get_system_metrics():
33
+ cpu_load = psutil.cpu_percent(interval=1)
34
+ memory = psutil.virtual_memory()
35
+ disk_usage = psutil.disk_usage('/')
36
+
37
+ metrics = {
38
+ "cpu_load": cpu_load,
39
+ "memory": {
40
+ "total": memory.total,
41
+ "available": memory.available,
42
+ "used": memory.used,
43
+ "percent": memory.percent
44
+ },
45
+ "disk_usage": {
46
+ "total": disk_usage.total,
47
+ "used": disk_usage.used,
48
+ "free": disk_usage.free,
49
+ "percent": disk_usage.percent
50
+ }
51
+ }
52
+ return metrics