| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- 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,
- })
- }
|