SmartSightAI / src /utils /monitor.py
GitHub Actions
deploy to Hugging Face Spaces
23e79c5
Raw
History Blame Contribute Delete
586 Bytes
import psutil
import time
from contextlib import contextmanager
class ExecutionMonitor:
def __init__(self):
self.durations = {}
def get_ram_usage(self) -> float:
process = psutil.Process()
return process.memory_info().rss / (1024 * 1024) # MB
@contextmanager
def track(self, stage_name: str):
start = time.perf_counter()
try:
yield
finally:
self.durations[stage_name] = time.perf_counter() - start
def get_durations(self) -> dict:
return self.durations