"""AegisTrade AI Metrics Aggregator."""
from __future__ import annotations

import time
from typing import Any


class MetricsCollector:
    """Collects in-memory latency and operational metrics."""

    def __init__(self) -> None:
        self.start_time = time.time()
        self.signals_generated = 0
        self.signals_approved = 0
        self.signals_rejected = 0
        self.orders_executed = 0
        self.errors_count = 0

    def record_signal(self, approved: bool) -> None:
        self.signals_generated += 1
        if approved:
            self.signals_approved += 1
        else:
            self.signals_rejected += 1

    def record_order(self) -> None:
        self.orders_executed += 1

    def record_error(self) -> None:
        self.errors_count += 1

    def get_summary(self) -> dict[str, Any]:
        uptime_sec = time.time() - self.start_time
        return {
            "uptime_seconds": int(uptime_sec),
            "signals_generated": self.signals_generated,
            "signals_approved": self.signals_approved,
            "signals_rejected": self.signals_rejected,
            "orders_executed": self.orders_executed,
            "errors_count": self.errors_count,
        }


metrics_collector = MetricsCollector()
