package controller import ( "net/http" "strconv" perfmetrics "github.com/QuantumNous/new-api/pkg/perf_metrics" "github.com/gin-gonic/gin" ) func GetPerfMetricsSummary(c *gin.Context) { hours := 24 if rawHours := c.Query("hours"); rawHours != "" { if parsed, err := strconv.Atoi(rawHours); err == nil { hours = parsed } } result, err := perfmetrics.QuerySummaryAll(hours) if err != nil { c.JSON(http.StatusInternalServerError, gin.H{ "success": false, "message": err.Error(), }) return } c.JSON(http.StatusOK, gin.H{ "success": true, "data": result, }) } func GetPerfMetrics(c *gin.Context) { modelName := c.Query("model") if modelName == "" { c.JSON(http.StatusBadRequest, gin.H{ "success": false, "message": "model is required", }) return } hours := 24 if rawHours := c.Query("hours"); rawHours != "" { if parsed, err := strconv.Atoi(rawHours); err == nil { hours = parsed } } result, err := perfmetrics.Query(perfmetrics.QueryParams{ Model: modelName, Group: c.Query("group"), Hours: hours, }) if err != nil { c.JSON(http.StatusInternalServerError, gin.H{ "success": false, "message": err.Error(), }) return } c.JSON(http.StatusOK, gin.H{ "success": true, "data": result, }) }