Files
silk/server-go/internal/handler/ops.go
T

29 lines
613 B
Go

package handler
import (
"net/http"
"time"
"silk-server-go/internal/middleware"
"silk-server-go/internal/service"
"github.com/gin-gonic/gin"
"gorm.io/gorm"
)
var opsStartedAt = time.Now()
// RegisterOpsRoutes 注册运维指标路由。
func RegisterOpsRoutes(rg *gin.RouterGroup, db *gorm.DB) {
rg.GET("/ops/metrics", middleware.RequirePermission(db, "log:read"), opsMetrics())
}
func opsMetrics() gin.HandlerFunc {
return func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"uptimeSeconds": int(time.Since(opsStartedAt).Seconds()),
"dependencies": service.DependencySnapshot(),
})
}
}