from fastapi import APIRouter, HTTPException from common.log.module_logger import ModuleLogger from backend.services.prometheus_metrics_service import PrometheusMetricsService router = APIRouter() # Initialize service and logger prometheus_service = PrometheusMetricsService() module_logger = ModuleLogger(__file__) @router.get("/prometheus/product/{product_id}/metric/{metric_name}/info") async def get_metric_info( product_id: str, metric_name: str ): """ Get information about a specific metric including its PromQL query. Args: product_id: Product ID to identify which product's metrics to query metric_name: Name of the metric to get information for """ await module_logger.log_info(f"Getting info for metric '{metric_name}' from product '{product_id}'") metric_info = await prometheus_service.get_metric_info(product_id, metric_name) return { "metric_info": metric_info, "description": f"Information about metric '{metric_name}' in product '{product_id}'" }