-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathmain.py
More file actions
25 lines (18 loc) · 664 Bytes
/
Copy pathmain.py
File metadata and controls
25 lines (18 loc) · 664 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import psutil
from fastapi import FastAPI
from fastapi.responses import RedirectResponse
from pydantic import BaseModel
app = FastAPI()
class SystemMetrics(BaseModel):
memoria: float # Uso de memória em %
cpu: float # Uso de CPU em %
disk: float # Uso de disco em %
@app.get("/metrics", response_model=SystemMetrics, tags=["main"])
def get_system_metrics():
memory = psutil.virtual_memory().percent
cpu = psutil.cpu_percent(interval=1)
disk = psutil.disk_usage("/").percent
return SystemMetrics(memoria=memory, cpu=cpu, disk=disk)
@app.get("/", tags=["util"])
def redirect_to_docs():
return RedirectResponse(url="/docs")