import logging

# Configure logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')

class MetricsCollector:
    def __init__(self):
        self.qwen_success_count = 0
        self.qwen_failure_count = 0
        self.elestio_success_count = 0
        self.elestio_failure_count = 0

    def increment_success(self, service_name):
        if service_name == "Qwen":
            self.qwen_success_count += 1
            logging.info(f"Qwen success count: {self.qwen_success_count}")
        elif service_name == "Elestio":
            self.elestio_success_count += 1
            logging.info(f"Elestio success count: {self.elestio_success_count}")
        else:
            logging.warning(f"Unknown service name: {service_name}")

    def increment_failure(self, service_name):
        if service_name == "Qwen":
            self.qwen_failure_count += 1
            logging.info(f"Qwen failure count: {self.qwen_failure_count}")
        elif service_name == "Elestio":
            self.elestio_failure_count += 1
            logging.info(f"Elestio failure count: {self.elestio_failure_count}")
        else:
            logging.warning(f"Unknown service name: {service_name}")

    def get_metrics(self):
        return {
            "qwen_success": self.qwen_success_count,
            "qwen_failure": self.qwen_failure_count,
            "elestio_success": self.elestio_success_count,
            "elestio_failure": self.elestio_failure_count
        }