surveillance143 / services /metrics_service.py
lokesh341's picture
Update services/metrics_service.py
95c0b21
import logging
from typing import List, Dict, Any
# Setup logging
logging.basicConfig(
filename="app.log",
level=logging.INFO,
format="%(asctime)s - %(levelname)s - %(message)s"
)
def update_metrics(detected_items: List[Dict[str, Any]]) -> Dict[str, Any]:
"""
Update metrics based on detected items.
Args:
detected_items: List of detected items (dicts with type, confidence, etc.)
Returns:
dict: Updated metrics
"""
try:
items = detected_items if detected_items else []
metrics = {
"items": items,
"total_detected": len(items),
"cracks": len([item for item in items if item.get("type") == "crack"]),
"holes": len([item for item in items if item.get("type") == "hole"])
}
logging.info(f"Updated metrics: {metrics}")
return metrics
except Exception as e:
logging.error(f"Error updating metrics: {str(e)}")
return {
"items": [],
"total_detected": 0,
"cracks": 0,
"holes": 0
}