AumCore-AI / modules /diagnostics.py
AumCoreAI's picture
Create modules/diagnostics.py
20fae3a verified
raw
history blame
1.87 kB
# modules/diagnostics.py - System Diagnostics Module
from fastapi import APIRouter
import psutil
from datetime import datetime
def register_module(app, client, username):
"""Register diagnostics module with FastAPI app"""
router = APIRouter()
@router.get("/diagnostics/health")
async def diagnostics_health():
"""Basic system health check"""
cpu = psutil.cpu_percent()
memory = psutil.virtual_memory()
return {
"module": "diagnostics",
"status": "active",
"system": {
"cpu_usage": cpu,
"memory_used": memory.percent,
"memory_available": memory.available / (1024**3), # GB
"timestamp": datetime.now().isoformat()
}
}
@router.get("/diagnostics/full")
async def full_diagnostics():
"""Complete system diagnostics"""
try:
from modules.orchestrator import get_system_diagnostics
return await get_system_diagnostics()
except ImportError:
return {
"module": "diagnostics",
"status": "fallback",
"message": "Using basic diagnostics",
"basic_metrics": {
"cpu": psutil.cpu_percent(),
"memory": psutil.virtual_memory().percent,
"disk": psutil.disk_usage('/').percent
}
}
app.include_router(router)
print("✅ Diagnostics module registered with FastAPI")
# Export function for direct imports
async def get_basic_metrics():
"""Get basic system metrics"""
return {
"cpu": psutil.cpu_percent(),
"memory": psutil.virtual_memory().percent,
"disk": psutil.disk_usage('/').percent,
"timestamp": datetime.now().isoformat()
}