Spaces:
Sleeping
Sleeping
| # 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() | |
| 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() | |
| } | |
| } | |
| 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() | |
| } |